はじめに
メール調査でメールログを調べるときの見方について記載します。手順
①メールログから抽出したい文字列を出力。$ cat /var/log/maillog |grep "from=<XXXXXX@testfrom.co.jp>"
②例えば以下のような出力があったとします。
# May 12 21:50:55 server postfix/qmgr[1513]: 222F78322B9: from=<XXXXXX@testfrom.co.jp>, size=132527, nrcpt=1 (queue active)
# May 12 21:53:04 server postfix/qmgr[1513]: 66B928322E9: from=<XXXXXX@testfrom.co.jp>, size=74720, nrcpt=1 (queue active)
# May 12 21:53:17 server postfix/qmgr[1513]: A72198372F3: from=<XXXXXX@testfrom.co.jp>, size=25568, nrcpt=1 (queue active)
# May 12 22:00:11 server postfix/qmgr[1513]: EBD85837B18: from=<XXXXXX@testfrom.co.jp>, size=14550452, nrcpt=3 (queue active)
③キューIDより確認したい該当のメールを特定。
前述の出力結果だとキューIDは、
「222F78322B9」、「66B928322E9」、「A72198372F3」、「EBD85837B18」になります。
④例えば、「222F78322B9」についてメールの流れを追う場合は、
以下コマンドを発行します。
# cat /var/log/maillog | grep "222F78322B9"
⑤キューID「222F78322B9」についての結果が以下のように出力されます。
May 12 21:50:55 server postfix/smtpd[8163]: 222F78322B9: client=mail.testfrom.co.jp[XXX.XXX.XX.XX]
May 12 21:51:20 server postfix/cleanup[8166]: 222F78322B9: message-id=<XXXXXXXXXXXXXXXXXXXX@testfrom.co.jp>
May 12 21:51:50 server postfix/qmgr[1513]: 222F78322B9: from=<XXXXXX@testfrom.co.jp>, size=14550452, nrcpt=3 (queue active)
May 12 21:52:10 server postfix/smtp[7987]: 222F78322B9: to=<XXXXXX@testto.co.jp>, relay=XXX.XXX.XX.XX[XXX.XXX.XX.XX]:25, delay=44, delays=44/0/0.15/0, dsn=5.3.4, status=bounced (message size 14550452 exceeds size limit 10485760 of server XXX.XXX.XX.XX[XXX.XXX.XX.XX])
May 12 21:53:30 server postfix/bounce[9232]: 222F78322B9: sender non-delivery notification: ABC55832B09
May 12 21:54:00 server postfix/qmgr[1513]: 222F78322B9: removed
⑥「status=」の部分が何になっているか確認します。
status=sent の場合、送信成功を表します。
status=bounced の場合、拒否されたことを表します。
status=deferred の場合、送信できず延期されたことを表します。
status=sent 以外の場合、status=XXX の後にあるエラー内容から原因を探ります。
前述の出力結果だと
status=bounced (message size 14550452 exceeds size limit 10485760 of server XXX.XXX.XX.XX[XXX.XXX.XX.XX])
となっていました。
この場合は、メールサイズ上限の制限に引っかかり、メールが拒否されています。
このように、status=XXX の後に続くエラーコードから原因を探りましょう。