以下代码片段已添加到 postfix 的 main.cf 文件中:
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtpd_sasl_security_options = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
我有点困惑,为什么上面的参数中有时会出现“smtp”,有时又会出现“smptd”,但我猜当前的名称是正确的。
为什么虽然我指定了上述参数,但是却可以在没有 AUTH 的情况下连接到 SMTP,而它们应该强制 SMTP 客户端进行 AUTH?
我想拒绝匿名连接。
答案1
好的,看来我还必须添加这一点:
smtpd_delay_reject = yes
smtpd_client_restrictions = permit_sasl_authenticated, reject
如此处所述: http://www.postfix.org/postconf.5.html在 smtpd_sasl_auth_enable 下
答案2
独立的 postfix 没有 SASL 功能,您必须安装 Cyrus 或 Dovecot。
查看 postfix 官方文档。
答案3
好的,所以我认为完全阻止 SMTP 进行身份验证是没有意义的,因为这样邮件服务器甚至无法接收邮件。
如果我没记错的话,SMTP 必须对匿名者保持开放,并允许将邮件发送到本地邮箱。
当然,如果它能阻止向其他域发送电子邮件(用于匿名连接)那就好了,但这应该是默认配置。