发送邮件提示Sender address rejected: not owned by user错误

客户端工具发送邮件提示Sender address rejected: not owned by user错误,maillog日志里面也提示这个错误。这个问题一般是客户端工具上mail和mail from邮箱地址不一样造成的。


方法一(但是这种方法不好,有风险):
修改main.cf

smtpd_sender_restrictions =
#       reject_sender_login_mismatch,
#       reject_authenticated_sender_login_mismatch,
#       reject_unauthenticated_sender_login_mismatch



方法二(这种方法复杂,有效):

smtpd_sender_restrictions =
        reject_sender_login_mismatch,
        reject_authenticated_sender_login_mismatch,
        reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps = hash:/etc/postfix/sender_login_maps,
        mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
        mysql:/etc/postfix/mysql_virtual_alias_maps.cf
        
然后创建/etc/postfix/sender_login_maps文件,把mail from和from不一致的加进去即可。
格式为:A地址 A用户

[root@localhost ~]#postmap sender_login_maps
[root@localhost ~]#postfix reload


 
方法三(建议方法):
把内网网段假如到信任IP地址。

mynetworks = 127.0.0.1, 10.10.8.0/24, 10.10.9.0/24
smtpd_sender_restrictions =
        permit_mynetworks,
        reject_sender_login_mismatch,
        reject_authenticated_sender_login_mismatch,
        reject_unauthenticated_sender_login_mismatch
smtpd_sender_login_maps =
#       hash:/etc/postfix/sender_login_maps,
        mysql:/etc/postfix/mysql_virtual_sender_maps.cf,
        mysql:/etc/postfix/mysql_virtual_alias_maps.cf

当启用了以下选项后,须通过方法二的sender_login_maps文件建立发件人和登录名称的映射

reject_sender_login_mismatch,
reject_authenticated_sender_login_mismatch,