我最近使用iRedMail设置了postfix,dovecot,amavis和一套其他工具,而且我正在对发送邮件服务器进行身份validation。
问题是这样的:
[email protected]是[email protected]的别名。 我使用[email protected]进行身份validation,因为这是邮箱,但实际上我是从别名发送的。
这是一个会议的例子:
EHLO mydomain.com 250-mx1.mymailserver.net 250-PIPELINING 250-SIZE 45728640 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN auth plain amlta0BhbHRlcm5hdGl2ZXJlYWxpdHkuY29tAGppbWtAY= 235 2.7.0 Authentication successful MAIL FROM: [email protected] 250 2.1.0 Ok RCPT TO: [email protected] 553 5.7.1 <[email protected]>: Sender address rejected: not owned by user [email protected] QUIT
这里是postfix的main.cf的相关部分:
smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, permit_sasl_authenticated
显然reject_sender_login_mismatch是问题。 我实际上更喜欢保持这个function,但支持别名。
可以这样做,和/或有没有办法authentication为别名?
提前致谢!
我想你正在寻找smtpd_sender_login_maps,你需要将login映射到别名。 请参阅smtpd_sender_login_maps上的官方doxumentation 。
创build一个名为/ etc / postfix / sender_login_maps的文件
其中包含映射的地址
[email protected] [email protected]
编辑/etc/postfix/main.cf
添加下面的行
smtpd_sender_login_maps = hash:/ etc / postfix / sender_login_maps
运行cmd postmap / etc / postfix / sender_login_maps
重新启动postfix服务