Sendmail

sendmail helo 拒絕 localhost.localdomain

  • October 13, 2011

我設置了一個執行 sendmail 的伺服器 A,僅用於為其他伺服器發送電子郵件。我放:

Connect:[Server B's external IP]                RELAY  

在 /etc/mail/access 文件中並編譯為 access.db。

我有伺服器 B 使用伺服器 A 發送電子郵件。

有時我會收到被拒絕的電子郵件:

554 5.7.1 <localhost.localdomain>: Helo command rejected:

看起來郵件伺服器A沒有正確發送電子郵件,它應該在發送時將伺服器B的域名放入電子郵件中,不應該是。我相信這就是我的郵件被拒絕的原因。

問題:如何在伺服器 A 上配置 Sendmail 不使用 localhost.localdomain?

更多日誌:在伺服器 A 的郵件日誌中:

May  1 15:23:23 serverA sendmail[14485]: p415N29k014483: to=<xxx@nt.gov.au>, delay=00:00:19, xdelay=00:00:01, mailer=esmtp, pri=453786, relay=emdch-mx31.nt.gov.au. [203.42.37.91], dsn=5.7.1, stat=Service unavailable
May  1 16:09:44 serverA sendmail[16131]: p4169GH4016129: to=<xxx@nt.gov.au>, delay=00:00:26, xdelay=00:00:01, mailer=esmtp, pri=461650, relay=emdch-mx21.nt.gov.au. [203.42.37.81], dsn=5.7.1, stat=Service unavailable

更新

將每個伺服器設置為具有完整的 URL 名稱是一種很好的做法:serverA.example.com。此外,保持 127.0.0.1 localhost.localdomain localhost 不變。使用您的實際伺服器 IP 映射創建一個新條目:

$$ ip $$serverA.example.com serverA 這應該可以解決問題,並且 sendmail 將響應完整的 URL 名稱而不是 localhost.localdomain。 謝謝蒂姆

helo命令被拒絕”意味著您的“A”伺服器甚至沒有到達 SMTP 中繼對話中的第一個動詞。因此,信封發件人和收件人不是問題。它們甚至在錯誤發生時還沒有被發送。

錯誤是響應程式碼 554,擴展響應程式碼 5.7.1。這是傳統的“我不想和你的 IP 地址上的人交談”。響應程式碼。原因取決於伺服器所有者,並且可能因

這個黑名單說你是三等網民,我就是這樣對待你的。

你知道,這裡實際上沒有 SMTP 中繼伺服器。

在這種特殊情況下,原因似乎是

該名稱localhost.localdomain不是您的唯一名稱,我決定不與將其 MTS 配置為他們 MTS 的所謂唯一名稱的人交談。您知道confDOMAIN_NAMESendmail 中的設置在哪裡。

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