Postfix

helo 消息設置為本地主機名

  • March 8, 2015

我在 DigitalOcean 上有一個 droplet,並決定在那裡使用 postfix 和 dovecot 實現我自己的郵件伺服器。一切正常,我能夠通過郵件客戶端(Airmail for Mac)發送和接收電子郵件。我的 droplet 是 debian,我按預期設置了所有 DNS 記錄。

我設置了以下限制(在後綴 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在 的開頭添加smtpd_helo_restrictions,因為該部分在收件人限制之前進行評估,並且您的郵件將被拒絕,因為example.localPostfix 不認為是有效的主機名。

引用自:https://serverfault.com/questions/673834