我在DigitalOcean上有一个小滴,并决定使用postfix和dovecot来实现我自己的邮件服务器。 一切工作正常,我能够通过邮件客户端(Airmail for Mac)发送和接收电子邮件。 我的液滴是debian,我按预期设置了所有的DNSlogging。
我设置了以下限制(在postfix main.cf上):
smtpd_banner = $myhostname ESMTP smtpd_helo_required = yes smtpd_helo_restrictions = permit_mynetworks, reject_non_fqdn_helo_hostname, reject_invalid_helo_hostname, reject_unknown_helo_hostname, permit smtpd_recipient_restrictions = reject_unknown_client_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_non_fqdn_sender
奇怪的是,我的电子邮件被拒绝,主机名是如何设置在我的本地机器(而不是服务器)。 所以,如果我将我的电脑上的主机名设置为example.local,则邮件helo消息将被拒绝,但是如果将其设置为example.com,则会发送消息。
如果我没有弄错,我的电脑主机名应该不会影响发送/接收的电子邮件。 任何想法为什么发生这种情况?
您还应该在permit_sasl_authenticated的开头添加permit_sasl_authenticated ,因为在收件人限制之前评估该部分,并且您的邮件将被拒绝,因为example.local不被Postfix认为是有效的主机名。