.png)
私は長い間、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
そして最後に、そこでリッスンしているのが dovecot であることを確認します...
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) が禁止されています。変更する必要があります。