我已经根据本指南设置了一个邮件服务器。
当我telnet mydomain.com 25并使用AUTH命令时,它返回:
Error: authentication not enabled
试图通过Outlooklogin返回一个未知的错误,当我发送一个电子邮件到一个地址我得到一个中继访问被拒绝的错误。
但是, mxtoolbox告诉我一切都设置好了。
您可能已经将smtpd_tls_auth_only=yes添加到您的main.cf中了?
此选项仅在tls设置后启用身份validation。
因此,如果你telnet到你的smtp端口,然后发出一个auth命令,你会得到那个未启用的错误,因为那时还没有tls连接。
由于您在后缀日志中没有看到任何内容,因此至lesspostfix必须configuration错误。
首先,确认Dovecotconfiguration(在dovecot.conf ),如下所示:
auth default { mechanisms = plain login passdb pam { } userdb passwd { } user = root socket listen { client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
在你的postfix main.cf确认以下内容:
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sender_restrictions = permit_sasl_authenticated`
并在master.cf ,确保您的提交端口提供SASL服务。 你可以把它放在你的smtp服务上,在25端口进行身份validation,但这是不常见的。 你也应该把它放在你的smtps服务中进行encryption访问:
submission inet n - - - - smtpd -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_sasl_local_domain=$myhostname -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_restrictions=reject_sender_login_mismatch -o smtpd_recipient_restrictions=reject_non_fqdn_recipient,reject_unknown_recipient_domain,permit_sasl_authenticated,reject
有两个不同的东西。
1:SSL / TLS支持
2:authentication
这是独立的,也就是说可能有其中之一,而错过了另一个。 当然,如果authentication只在已经encryption的通道上进行,那就好多了。
可能你的后缀没有第二个(auth),只有TLS。
通过sasl身份validation守护进程对postfix事件进行身份validation,这也需要进行configuration。
mxtoolbox说一切正常,因为它不检查auth,只有encryption。
你正在使用错误的端口。
已validation的传出电子邮件位于端口587上,而不是端口25上。