
我已經嘗試在 ubuntu 14.04 上透過 PostFix 和 DoveCot 設定郵件伺服器太久了,現在我正處於讓它工作的衝刺階段。
我正在使用 ubuntu 運行虛擬機,我在 imap/pop (110,143,993,995) 的所有連接埠上設定了到虛擬機的連接埠轉送。
如果我在上面列出的任何連接埠上執行“telent localhost”,我就可以連接
root@ubuntu:/# telnet localhost 110
Trying ::1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot (Ubuntu) ready.
root@ubuntu:/# telnet localhost 143
Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot (Ubuntu) ready.
a1 login < username > < password >
a1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in
root@ubuntu:/# telnet localhost 993
Trying ::1...
Connected to localhost.
Escape character is '^]'.
root@ubuntu:/# telnet localhost 995
Trying ::1...
Connected to localhost.
Escape character is '^]'.
一旦我嘗試透過公共 IP 執行它們,它就會失敗:
root@ubuntu:/# telnet < my domain > 110
Trying < ip of my computer that has port forwarding to my vm >...
telnet: Unable to connect to remote host: Connection refused
如果我執行“netstat”來弄清楚哪些端口發生了什麼,您可以知道我正在偵聽正確的端口
root@ubuntu:/# netstat -nl4
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:15674 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:47580 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:9312 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:61613 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:15670 0.0.0.0:* LISTEN
#...
#... theres a few more ip's in here that I believe to be irrelevant
最後只是為了確定是鴿子在那裡聽著…
root@ubuntu:/# netstat -antup|grep dovecot
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 104305/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 104305/dovecot
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 104305/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 104305/dovecot
tcp6 0 0 :::993 :::* LISTEN 104305/dovecot
tcp6 0 0 :::995 :::* LISTEN 104305/dovecot
tcp6 0 0 :::110 :::* LISTEN 104305/dovecot
tcp6 0 0 :::143 :::* LISTEN 104305/dovecot
前面提到的所有連接埠均已啟用連接埠轉送 - 我的防火牆已完全停用,並且我正在嘗試 telnet 到我自己的計算機,因此不應出現「您嘗試 telnet 的計算機未安裝 telnet」的常見錯誤不適用於我。如果確實如此,我的 Macintosh 也安裝了 telnet,所以它確實不適用於我。
此時,我的印像是我的路由器中有一個設定阻止我透過公用 IP 存取我的電腦。
非常感謝任何幫助或見解。這是我第一次安裝郵件伺服器,所以我在這方面的知識並不豐富。
答案1
您因缺乏 NAT 環回而被阻止。您也許可以在路由器上啟用它。
答案2
美國的零售數據機會像大多數住宅 ISP 一樣阻止連接埠 25(根據法律)。對於其他服務,Dovecot 預設不允許明文登入 (telnet) - 您必須變更它們: