我正在尝试使用/etc/postfix/main.cf中的以下内容配置使用中继主机的postfix:
relayhost = [mailtrap.io]:2525
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
通过telnet localhost 25
postfix日志发送电子邮件后说:
Mar 20 10:49:52 hydra postfix/smtpd[19898]: connect from localhost[127.0.0.1]
Mar 20 10:49:52 hydra postfix/smtpd[19898]: improper command pipelining after MAIL from localhost[127.0.0.1]
Mar 20 10:49:52 hydra postfix/smtpd[19898]: 5F9BC2C30A1: client=localhost[127.0.0.1]
Mar 20 10:49:52 hydra postfix/cleanup[19902]: 5F9BC2C30A1: message-id=<20120320084952.5F9BC2C30A1@hydra>
Mar 20 10:49:52 hydra postfix/qmgr[19890]: 5F9BC2C30A1: from=<a@b.com>, size=290, nrcpt=1 (queue active)
Mar 20 10:49:52 hydra postfix/smtp[19904]: warning: SASL authentication failure: No worthy mechs found
Mar 20 10:49:52 hydra postfix/smtp[19904]: 5F9BC2C30A1: to=<c@d.com>, relay=mailtrap.io[176.9.59.220]:2525, delay=0.32, delays=0.19/0.01/0.13/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server mailtrap.io[176.9.59.220]: no mechanism available)
SMTP服务器(relayhost)日志:
>>> EHLO hydra
250-Ok Helo 213.160.145.74, Mailtrap SMTP Server
250-AUTH PLAIN
250-NO-SOLICITING
250 SIZE 20000000
>>> QUIT
221 Ok
任何想法如何解决?
操作系统:ubuntu。
答案 0 :(得分:5)
问题是由于默认的后缀SMTP安全选项不允许使用未加密的密码。
在这种情况下,正确的配置是:
relayhost = [mailtrap.io]:2525
smtp_sasl_auth_enable = yes
smtp_sasl_mechanism_filter = plain
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
答案 1 :(得分:3)
在配置文件中,您可能需要设置smtp_use_tls = yes
(参考http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html中的配置)
除了上述内容之外,我还必须确保已安装libsasl2-modules
:
运行以下命令:
apt-get install libsasl2-modules
/etc/init.d/postfix restart