postfix/dovecot filter who can send mail on behalf of

I am using postfix + dovecot(imap+pop3) + mysql I whant to explicity define users or groups that can send email on behalf of others I was thinking doing this way: for all local(mysql) authenticated users filter outgoing mail: filter all mail by headers Return-Path/X-Original-To/From: field must matche authenticated user that sends it, otherwise bounce the email

Any ideas how to do this?


Solution 1:

You can use smtpd_sender_login_maps and reject_authenticated_sender_login_mismatch in smtpd_sender_restrictions to restrict which MAIL FROM addresses logged in users can use. For example:

main.cf:

smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps
smtpd_sender_restrictions = reject_authenticated_sender_login_mismatch

/etc/postfix/sender_login_maps:

[email protected]       alice
[email protected]         bob
[email protected]     charlie
[email protected]   alice,charlie

Don't forget to run postmap:

# postmap /etc/postfix/sender_login_maps