Email

Sendmail 連接超時

  • August 23, 2016

我最近設置了一個新的 Debian 伺服器,

首次安裝並設置 sendmail 後,我無法發送電子郵件。

Reason : Connection timeout.

/var/log/mail.log 的輸出:

> May  6 02:42:53 k***** sm-mta[15070]: q465gjxF013677:
> to=<*****@gmail.com>, ctladdr=<*****@*****.ca> (1001/1001),
> delay=01:00:08, xdelay=00:00:00, mailer=esmtp, pri=300329,
> relay=alt4.gmail-smtp-in.l.google.com., dsn=4.0.0, stat=Deferred:
> Connection timed out with alt4.gmail-smtp-in.l.google.com.

netstat 的輸出:

tcp        0      0 0.0.0.0:587             0.0.0.0:*   LISTEN   15069/sendmail: MTA
tcp        0      0 0.0.0.0:25              0.0.0.0:*   LISTEN   15069/sendmail: MTA

從另一台電腦(telnet theserver.imworkingon.com 25)執行時,25 上的 Telnet 也成功,但如果我嘗試從我正在工作的伺服器上執行它,則不會。這告訴我,出站埠 25 似乎被阻止了……

有人有想法麼?

此處適用標準郵件故障排除步驟…從日誌中,我們看到您能夠解析您要發送到的 gmail.com 目的地的 MX/DNS 記錄。所以這不是 DNS 或路由問題。

由於這是基本的 SMTP 傳送,請嘗試使用 telnet 到埠 25 以確保您能夠連接到目標主機…

我會按照這個順序:

dig mx gmail.com
# Look for the mail destination IP in the output - "209.85.225.27" in this case

telnet 209.85.225.27 25
# This is an attempt to telnet to port 25 (smtp) on the recipient's server...

您應該會看到類似於以下內容的內容:

Trying 209.85.225.27...
Connected to iy-in-f27.1e100.net (209.85.225.27).
Escape character is '^]'.
220 ***************************************

如果您沒有看到上述情況,您的出站埠 25 smtp 流量正在機器級別(檢查 iptables 等)或網路級別(檢查網路防火牆或 ISP 策略)被阻止。

如果您確實看到類似的消息,那麼您可以傳遞郵件並且不應該收到超時錯誤。

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