[postfix]メールの題名をログに残す

調べたのでメモ。
設定ファイルの header_checks の値を有効にする。

# vi /etc/postfix/main.cf

header_checks = regexp:/etc/postfix/header_checks

次に下記の内容を末尾に追加

# vi /etc/postfix/header_checks

/^Subject: (.*)$/ warn

最後にpostfixサービスを再起動する。

# systemctl restart postfix

ヘッダチェックファイルの内容に関して

/etc/postfix/header_checks ファイルには下記のような記載をする。

pattern action

pattern が正規表現でチェックする項目を指定。 actionpattern をどう扱うかを定義する。
action に指定できる項目は下記。

IGNORE (ヘッダー行を消去)
OK     (メッセージを許可)
REJECT (メッセージを拒否)
WARN   (ログに記録)
DISCARD(正常に受信した様に見せるが、実際には破棄)
FILTER (他のフィルタを評価)

ヘッダーログの記載に関して

先ほどの指定でログファイルにメールの題名が出力されるが、ログファイル上では題名はエンコードされた形式で出力される。

Subject: =?utf-8?hogehoge9999999?=

これを復号するコマンドは下記。

$ cat tmp.log | perl -MEncode=decode -ne 'print (decode("MIME-Header", "$_"))' 

参考

はじめての自宅サーバ構築 – Fedora/CentOS –

maillog―見方、具体的なログの解釈の例など

UTF-8 subjects not logging correctly.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

two + 8 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください