我配置了一个 Postfix MTA,我可以通过 SMTP(Thunderbird、Python 等)完美地从远程登录,但当尝试在同一系统上本地使用相同的脚本和相同的凭据时,它会拒绝连接。具体来说,当使用smtplib的login
方法,我得到以下异常:
SMTPException: SMTP AUTH extension not supported by server.
这是mail.log
:
Aug 7 22:37:32 myhostname postfix/smtpd[31174]: connect from mydomain.com[123.123.123.123]
Aug 7 22:37:32 myhostname postfix/smtpd[31174]: Anonymous TLS connection established from mydomain.com[123.123.123]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Aug 7 22:37:32 myhostname postfix/smtpd[31174]: lost connection after EHLO from mydomain.com[123.123.123]
Aug 7 22:37:32 myhostname postfix/smtpd[31174]: disconnect from mydomain.com[123.123.123]
这没什么帮助。我的 postfix 配置可以在这里找到这里,我认为这部分最有趣:
myhostname = mail.mydomain.com
smtpd_sasl_auth_enable = yes
smtpd_sasl_exceptions_networks = $mynetworks
smtpd_sasl_local_domain=$myhostname
smtpd_sasl_security_options = noanonymous
但是,我没有发现太多可以阻止此登录的选项。有人可以帮忙吗?
答案1
您的配置有:
smtpd_sasl_exceptions_networks = $mynetworks
根据postconf(5):
smtpd_sasl_exceptions_networks(默认值:空)
Postfix SMTP 服务器不会为哪些远程 SMTP 客户端提供 AUTH 支持。