exim 不接受外部連接
更新:這絕對是我的 ISP 阻塞了 25 埠。我告訴 Exim 監聽一個非標準埠,然後從遠端電腦檢查該埠,它通過就好了。
所以,我想我有一個新問題。有沒有解決這個問題的好方法?
我不,我不能在 MX 記錄中指定埠(為什麼有人在提出 DNS 時沒有想到這一點?),但是可以將郵件轉發到非標準埠上的伺服器的服務可以工作.
我見過 no-ip.com 有這樣一個服務,叫做 Reflector。它不是很貴,但如果有其他更便宜的方法,我很想听聽。
不過,我仍然對為什麼它今天停止工作感到困惑。
原始問題
我討厭問這個問題,但我已經用Google搜尋了所有我能想到的東西都無濟於事,但這似乎是一件很簡單的事情,所以我不知道為什麼我無法弄清楚。但是,不管怎樣,一切都過去了。
我用 Apache 為 HTTP 和 Exim 為 SMTP 設置了一個家庭伺服器。我需要能夠直接接收到我家用電腦的郵件。直到今天,我沒有任何問題。我不相信我最終改變了任何東西,但突然間,我沒有收到任何電子郵件。
我檢查了 DNS 中的 MX 設置,它們很好。我檢查了路由器上的埠轉發,它看起來很好(並且到 Apache 的外部連接仍然通過)。
因此,我檢查 Exim 是否正常工作。從本地主機,我可以遠端登錄到 Exim,它工作正常。此外,我可以從網路上的其他電腦遠端登錄到 Exim,它工作正常。但是,如果我嘗試從外部 telnet,我會得到
Unable to connect to remote host: Connection timed out
.所以,我嘗試這樣做
dpkg-reconfigure exim4-config
(順便說一下,我在 Ubuntu 12.10 上),並確保一切都在那裡正確設置。沒問題。我查看我的配置並找到這個:# listen on all all interfaces? .ifdef MAIN_LOCAL_INTERFACES local_interfaces = MAIN_LOCAL_INTERFACES .endif
一些Google搜尋讓我相信
local_interfaces
控制 exim 會聽什麼。因此,我嘗試根據exim 文件進行更改,並使其成為:# listen on all all interfaces? #.ifdef MAIN_LOCAL_INTERFACES #local_interfaces = MAIN_LOCAL_INTERFACES #.endif local_interfaces = <; ::0 ; 0.0.0.0
我重新啟動 exim,沒有任何變化。
所以,這就是我現在所處的位置。盡快解決這個問題很重要,所以我可能會檢查其他任何想法將不勝感激。
PS由於評論不會給我正確的格式,我在這裡回复:
lsof -i:25
:我不太確定我在尋找什麼,但輸出如下:COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME exim4 12386 Debian-exim 3u IPv6 24476126 0t0 TCP *:smtp (LISTEN) exim4 12386 Debian-exim 4u IPv4 24476127 0t0 TCP *:smtp (LISTEN)
PPS根據此頁面,我的 ISP 阻止埠 25 入站(和出站)。但是那個頁面是幾個月前寫的,今天(或者昨天)才出現問題,所以有什麼辦法可以檢查是否是問題所在?
不過,我仍然對為什麼它今天停止工作感到困惑。
也許您的郵件伺服器昨天很忙,所以 ISP 注意到您濫用 ToS?
請注意,如果郵件在某個非標準埠上執行,則將郵件發送到另一個埠可能仍會與您的 ISP 條款相衝突,因此我不會向您提供明確的建議或推薦。
例如,我確實收到過一次來自 ISP 的關於“過多”傳入和傳出郵件的警告。
討論這條規則的合法性是在其他地方做的事情。
但是,您可以在某處設置便宜的 VPS 來處理郵件。
如何處理該郵件(直接在 VPS 上或在家中)是您評估的任務。
您的遠端節點不一定需要執行自己的郵件伺服器。使用像nginx這樣的郵件代理——甚至是普通的 TCP 代理——也可以。