Linux

Postfix トラブル調査でメールログを調べる手順

投稿日:2016-04-19 更新日:

ログファイルのアクセス権は600(初期状態)に設定されています。
root以外でログインしている場合は、rootに切り替えます。

次にログファイルの場所へ移動します。

最初に、送受信トラブルが発生した時のアドレスや時間など、わかっている特定キーワードで検索を行います。
下記は、送信元アドレスをキーワードに検索する場合のコマンド例です。

検索結果のサンプルです。4件の該当するメールが見つかりました。
多くの場合、サンプルと同様に条件に合致するメールが複数件抽出されます。
残念ながら、この状態では各メールの処理の詳細までは知ることができません。
ここからさらにキューIDごとに絞込検索をかけ、各メールの処理詳細を追跡することになります。
※サンプルでは「831F78322B9」「73B928322E9」「A32198322F3」「EBD65832B18」がキューIDに該当します。

 

広告

キューID(EBD65832B18)で絞込検索をする場合のコマンドはこちら。

キューIDで絞込検索した結果のサンプルがこちら。

ログの中で確認するポイントはstatus=XXXXの部分です。

bonce、deferredなどのステータスに注目。これらは配送されていないメールのステータスとなる。
status=sent 配送OK
status=bounce 配送NG
status=deferred 一時的に配送できなかったがリトライ

出典:Postfixで未配信メールの確認 - OpenGroove

bounceやdeferredの後ろに、エラーの内容が記載されています。

サンプルでは以下がエラーメッセージです。
message size 14550452 exceeds size limit 10485760 of server XXX.XXX.XX.XX[XXX.XXX.XX.XX]

メールがサイズ上限を超えたためのエラーであることがわかりますね。

ログに関する補足説明

おそらくログはローテーションを組んでいるため、一定期間を経過すると圧縮(gzip形式)されている可能性があります。
圧縮されたログの中身も検索したい場合は、下記のzcatコマンドを使います。

最後に

業務でPostfixを使用しているなら、下記の本はおススメ。勉強してみる価値ありです。

Postfix実用ガイド

広告

-Linux
-,

Copyright© ムコの戯言帳 , 2017 All Rights Reserved Powered by AFFINGER4.