
我在家庭伺服器上託管了一些小域名,並且希望獲得這些網域的一些基本電子郵件地址。我設定了一個 Ubuntu 12.04 伺服器,並按照此處的說明使用 Postfix 和 Courier 設定郵件伺服器:
https://askubuntu.com/questions/54960...n-email-server(評分最高的答案)
完成所有這些之後,我嘗試設定我的[電子郵件受保護]Thunderbird 中的電子郵件地址,但找不到伺服器。
我能夠在本機(即telnet 127.0.0.1 25
)遠端登入連接埠 25 並手動向自己發送測試訊息,但我無法從另一台電腦遠端登入連接埠 25。我的 ISP 通知我他們不會阻止任何連接埠。
Pingability.com 傳回有關我的郵件伺服器的以下資訊: 與郵件伺服器通訊時發生問題。收到“ConnectException:連線被拒絕”
nmap -p 25 example.com 產生以下結果:
PORT STATE SERVICE 25/tcp filtered smtp
我接下來要採取哪些步驟來排除/解決此問題?我已經走進了死胡同。
編輯:這是我的/etc/postfix/main.cf:http://pastebin.com/82TbdyjH
答案1
您的郵件伺服器很可能只會偵聽localhost
(127.0.0.1) 港口25。您需要將其綁定到所有網路介面(0.0.0.0)或系統在 LAN 上使用的實際 IP 位址(可能是192.168.xx) 地址類型。
此外,這台電腦可以透過網路存取嗎?如果是這樣,您還需要讓郵件伺服器偵聽該 IP 的端口,或使用iptables
您的家庭路由器/交換器將所有進入端口 25 的 WAN 流量轉送至郵件伺服器的內部 IP。
您可以使用它netstat
來確定您的進程正在偵聽哪些 IP/連接埠組合,如下所示:
% netstat -anpt|egrep ":25|Ac|Pro"
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 13649/sendmail: acc
在這種情況下,我正在運行sendmail
並且它正在偵聽我的所有網路介面(0.0.0.0)。
調試郵件問題可能很棘手。我寫了一篇部落格文章來設定所有不同的元件,例如sendmail
,,spamassassin
(dovecot
IMAP)等。CentOS 5.x但底部的評論中有一些調試郵件伺服器問題的技巧。
更新#1
試試這裡的一些建議:http://forum.slicehost.com/index.php?p=/discussion/1651/postfix-only-listening-on-localhost/p1
具體請確保以下內容:
-確保靠近頂部的這一行/etc/postfix/master.cf
未被註解掉:
smtp inet n - - - - smtpd
-如果您還想偵聽連接埠 587,也請取消註解下一行:
submission inet n - - - - smtpd
-如果您在此處進行更改,請不要忘記重新載入 Postfix:
$ sudo postfix reload