Janis:
> Hello,
>
> This is my first question to mailing list, so i hope i get this right.
>
> I think it is better to describe general architecture first and then
> what i am trying to achieve.
>
> This Postfix instance is configured to use Dovecot SASL for LOGIN
> function and permissions. That part works. SASL auth is configured so
> that username is an email address. Only virtual mailboxes are used, but
> in this instance it is not that important, since the question is only
> about outgoing mail restrictions.
>
> The problem is that authenticated senders can send "mail from" from
> whatever they please if i do not place any restrictions. Thus i decided
> to use:
> smtp_sender_restrictions = reject_sender_login_mismatch
>
> It limits "mail from" as expected, but the problem is that i must
> "duplicate" kind of what i already have in Dovecot user database in
> $smtpd_sender_login_maps file. I am using hash type for
> $smtpd_sender_login_maps. It works very well with allowing to use "alias
> e-mail" address as "mail from" as well.
You could use regular expressions:
/etc/postfix/main.cf:
smtpd_sender_login_maps = pcre:/etc/postfix/sender_login
/etc/postfix/sender_login:
# each sender is 'owned' by the login with the same name.
/^(\S+@\S+)$/ $1
As long as the SASL login names are validated by trusted code,
this should be safe.
Wietse
> What i would like to achieve is to permit sender to set "mail from" the
> same value as his SASL auth username or some specially allowed "alias
> e-mail" addresses that are defined somewhere. For example, if user1 is
> allowed to respond for his company, he would authenticate as
> [email protected] and could set "mail from" 1) [email protected] or 2)
> [email protected].
>
> I can achieve this at the moment by writing both lines in login_maps
> file, but it feels kind of wrong way to do things. Is there a way not to
> duplicate Dovecot usernames and permit 1st case restriction in "mail
> from" something like permit_sasl_username_as_mail_from?
>
> I was looking directly at
> http://www.postfix.org/postconf.5.html#smtpd_sender_restrictions, but
> none of the options seemed right for this use case. Maybe if i scratched
> my head a bit, i could come up with some "tricky" SQL query as a
> workaround and use reject_sender_login_mismatch, but maybe i have just
> overlooked some simple setting, thus i ask for any input.
>
> Thank you!
>
> Best wishes,
> Janis
>
>
>