對於不接收郵件且沒有 FQDN 的 smtp 伺服器,正確的 helo 是什麼?
什麼是
helo
我的 SMTP 伺服器的合法和正確的。
- 僅發送電子郵件。
- 在沒有打開入站埠的 NAT 後面。
- SMTP 伺服器沒有 FQDN。
- 為 2 個不同的域發送郵件
我們是一家擁有多個地點的小型企業。我們有 2 個帶有電子郵件地址的不同網站,例如:
- product1.com : sales@product1.com
- otherproduct.biz : sales@otherproduct.biz
我們的 SMTP 伺服器將為這兩個域發送電子郵件。
RFC2821 第 4.1.1.1 節
…並且沒有可用的反向映射記錄),客戶端應該發送地址文字(參見第 4.1.3 節),可選地後跟有助於辨識客戶端系統的資訊。
4.1.3 地址文字**
…為了繞過這個障礙,允許使用特殊的地址文字形式來替代域名。對於 IPv4 地址,這種形式使用四個小整數,用點分隔並用括號括起來,例如
$$ 123.255.37.2 $$…
因此我認為我的
helo
名字應該是:[1.2.3.4] company name INC city, state
後綴配置
smtp_helo_name = [1.2.3.4] company name INC city, state
使用它我仍然收到以下錯誤:
... status=bounced (host mx1c38.carrierzone.com[66.175.58.41] refused to talk to me: 501 5.0.0 Invalid domain name ... status=bounced (host mta5.am0.yahoodns.net[98.138.112.38] refused to talk to me: 501 Syntax error in parameters or arguments ... status=bounced (host kakllc.com[67.214.161.202] said: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1) (in reply to MAIL FROM command)
和其他類似的錯誤都與
helo
.這是正確的
helo
嗎?
給主機一個 FQDN,例如
foo.product1.com
. 將 設置HELO
為這個完全限定的域名。確保外部 DNS 可以解析該名稱。否則,您會看到很多拒絕,正如觀察到的那樣,因為阻止此類(可能通過類似的東西smtpd_helo_restrictions = reject_invalid_hostname reject_non_fqdn_hostname
)是消除一定比例的傳入垃圾郵件的廉價方法。
使用後綴(在 Ubuntu 16.04.3 上),我在 /var/log/mail.log 的後綴日誌中收到拒絕訪問消息:
550 訪問被拒絕 - HELO 名稱無效(參見 RFC2821 4.1.1.1)(回复 MAIL FROM 命令)
為了讓它工作,我在 /etc/hosts 中為我的主機添加了一個 FQDN 條目並更改了主機名。僅此一項不起作用-通過將以下行註釋
/etc/postfix/main.cf
到後綴配置中,我就可以使其正常工作:#myhostname = ubuntu
您可以閱讀文件
myhostname
中設置的預設行為。要在進行配置更改後重新啟動 postfix,我使用了以下命令:
sudo service postfix restart