メールが受信しない時POP3(dovecot)のログをmaillogで確認する方法

クライアントから電話で「メールが受信しない」とのことで調査しました。その時の対応をまとめてみました。サーバ管理をしているとよくあるトラブルなのですが、たまに忘れるので記録しておきます。

基本はメールログを確認する方法まとめています。メールサーバはPostFix+dovecotでログファイルは「/var/log/mailog」で確認できます。

/var/log/maillogを確認する

POPサーバにアクセスしているかgrepコマンドを使ってログを確認していきます。

#正常にログインしているかどうか
[root@local ~]#cat /var/log/maillog | grep "pop3-login: Login: user=<username>"
#正常にログアウトしているか
[root@local ~]#cat /var/log/maillog | grep "pop3(username): Disconnected: Logged out"

「username」の部分は受信できないアカウント名を記入します。受信できている場合は下記のように表示されます。

#正常にログインしている場合
Nov  9 0:42:11 mailserver dovecot: pop3-login: Login: user=<username>,
method=PLAIN, rip=接続元IPアドレス, lip=サーバのIPアドレス, mpid=*****

#正常にログアウトしている場合
Nov  9 0:42:11 mailserver dovecot: pop3(username): Disconnected: Logged out
top=0/0, retr=4/686581, del=0/23, size=132808

正常にログインされている場合は「pop3-login: Login: user=」と表示されます。
「method=PLAIN」は認証方法、「rip」は接続元IPアドレス、「lip」サーバのIPアドレスになります。

正常にログアウトしている場合は、「Disconnected: Logged out」と表示されます。
top=0/0
top=topコマンドの実行回数/topコマンドで転送されたバイト数

retr=4/686581
retr=メールの受信(ダウンロード)数/受信したバイト数

del=0/23
del=メールを削除した件数/サーバに保存されているメール件数

size=123808
size=メールボックスのバイト数

ログインやログアウトを失敗している場合のエラー

パスワードが間違ってログインできていない場合

Nov  9 0:42:11 mailserver dovecot: pop3-login: Aborted login: user=<username>,
method=PLAIN, rip=接続元IPアドレス, lip=サーバのIPアドレス, mpid=*****

パスワードが間違っている場合は「Aborted login: user=」が表示されます。

ログアウトが正常にされていない場合

Nov  9 0:42:11 mailserver dovecot: pop3(username): Disconnected: 
top=0/0, retr=0/0, del=0/23, size=987

「Logged out」の文字がない場合は正常にログアウトされていません。

ログ以外に確認する方法

実際にサーバの受信ボックスの中身を見て受信されているか確認することもできます。
MailDir形式の場合は「/home/username/Maildir/」から確認できます。

未読メールを確認する

[root@local ~]#ls -l /home/username/Maildir/new/

「new」ディレクトリでまだ受信していないメールを確認することができます。

既読メールを確認する

[root@local ~]#ls -l /home/username/Maildir/cur/

「cur」(カール)ディレクトリで受信(ダウンロード)したメールを確認することができます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする