telnetでメールサーバの動作確認(POP3,IMAP4)

スポンサーリンク
スポンサーリンク

メールサーバを構築した後の動作確認はどうやっていますか?
Thunderbird や Outlookでメール受信できなかった場合、これらのソフトの設定の問題か、サーバ自身の問題かの切り分けが困難です。
そこで、Windowsのtelnetコマンドを使ってメールサーバの動作確認をする方法を紹介します。

なお、メールサーバの設定については下記を参照してください。
CentOS6でのメールサーバの設定(postfixその1)
CentOS6でのメールサーバの設定(postfixその2)
CentOS6でのメールサーバの設定(dovecot)

POP3の場合

Windowsのスタートメニューのアクセサリから、コマンドプロンプトを起動した後、以降のコマンドを入力します。
赤字は入力する箇所、緑字はコメントです。

telnet メールサーバ名 110
+OK POP3 ready.
USER ユーザ名
+OK
PASS パスワード
+OK Logged in.
LIST
+OK 644 messages:  数字部分はメールサーバ内のメールの数です
1 1236
2 1380
3 1380
   :   メールの数だけ表示されます
.
QUIT
+OK Logging out.

telnetで接続が失敗する場合
「接続中: メールサーバ名…ホストへ接続できませんでした。 ポート番号 110: 接続に失敗しました」と出て、telnetの接続が失敗する場合は、以下を確認して下さい。

(1)メールサーバのファイアウォールでブロックしていないか
メールサーバのiptables等でPop3(110番ポート)への接続が許可されているか確認して下さい。
iptablesの設定については、iptablesサンプル を参照してください。

(2)メールサービスが起動しているか
メールサーバ上で pidof dovecot 実行してください。
メールサービスが起動している場合は、下記のようにプロセスIDが表示されます。なお、数値部分は環境により異なります。
表示されない場合は、dovecot が起動していません。

$ pidof dovecot
30693

(3)POP3で接続が可能になっているか
メールサーバ上で netstat -n -a|grep “:110” を実行し、下記のように表示されるか確認して下さい。
表示されない場合は、/etc/dovecot/dovecot.conf で protocols = のオプションで pop3 が記述されているか確認して下さい。

netstat -n -a|grep ":110"
tcp        0      0 0.0.0.0:110                0.0.0.0:*                  LISTEN

PASSコマンド実行で、-ERR Authentication failed. と表示される場合
USERコマンドで指定したユーザが存在しないか、パスワードが間違っています。

IMAPの場合

Windowsのスタートメニューのアクセサリから、コマンドプロンプトを起動した後、以降のコマンドを入力します。
赤字は入力する箇所、緑字はコメントです。

telnet メールサーバ名 143
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] POP3 ready.
1 LOGIN ユーザ名 パスワード  左端の数字も忘れずに入力して下さい
1 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORTSORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in
2 list "" *
* LIST (\HasNoChildren) "." "INBOX"
2 OK List completed.
3 select INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 644 EXISTS
* 0 RECENT
* OK [UIDVALIDITY 1337004338] UIDs valid
* OK [UIDNEXT 747] Predicted next UID
* OK [HIGHESTMODSEQ 1] Highest
3 OK [READ-WRITE] Select completed.
4 fetch 1 body[]
* 1 FETCH (UID 1 BODY[] {1317}
  メールの内容がヘッダーも含めて表示されます
4 OK Fetch completed.
5 logout
* BYE Logging out
5 OK Logout completed.

telnetで接続が失敗する場合
「接続中: メールサーバ名…ホストへ接続できませんでした。 ポート番号 143: 接続に失敗しました」と出て、telnetの接続が失敗する場合は、以下を確認して下さい。

(1)メールサーバのファイアウォールでブロックしていないか
メールサーバのiptables等でIMAP4(143番ポート)への接続が許可されているか確認して下さい。
iptablesの設定については、iptablesサンプル を参照してください。

(2)メールサービスが起動しているか
メールサーバ上で pidof dovecot 実行してください。
メールサービスが起動している場合は、下記のようにプロセスIDが表示されます。なお、数値部分は環境により異なります。
表示されない場合は、dovecot が起動していません。

$ pidof dovecot
30693

(3)IMAP4で接続が可能になっているか
メールサーバ上で netstat -n -a|grep “:143” を実行し、下記のように表示されるか確認して下さい。
表示されない場合は、/etc/dovecot/dovecot.conf で protocols = のオプションで imap が記述されているか確認して下さい。

netstat -n -a|grep ":143"
tcp        0      0 0.0.0.0:143                0.0.0.0:*                  LISTEN

LOGINコマンド実行で、NO [AUTHENTICATIONFAILED] Authentication failed.
と表示される場合

指定したユーザが存在しないか、パスワードが間違っています。

参考

telnetによるPOP3アクセス – HackingWiki
POP3コマンドの一覧
telnetでメールを読む(IMAP): 月夜の散歩
インターネット・プロトコル詳説(8):IMAP4(Internet Mail Access Protocol version 4)~前編 – @IT

コメント

  1. エキサイトブログ松下 より:

    初めまして。 「エキサイトブログ」のブロガースカウト担当の松下と申します。
    現在、一緒にエキサイトブログを盛り上げてくださるブロガー様を探しており、優秀なブロガー様に声をかけております。
    ブログ「 パソコン鳥のブログ」を拝見しまして、クオリティの非常に高い記事を定期的に更新しており、(文章非常にお上手ですが、過去に専門的に学んでおられたのですか??)
    ぜひエキサイトブログにお引越しいただきたく、スカウトの連絡をさせていただきました。
    こちらのスカウトは個別のオファーで一般に公開はできないのでここでは詳細をお伝えできないですが、
    このようにスカウトをさせていただいた方には特別に、スカウト特典もご用意しております。
    本スカウトオファーにご興味ございましたら、exblog_edit@excite.jpまでご一報頂けますと幸いでございます。
    その他、懸念やご相談等もお気軽にご連絡ください。
    ご検討のほど、宜しくお願い申し上げます。
    エキサイトブログ編集部 松下
    exblog_edit@excite.jp

タイトルとURLをコピーしました