取りあえずメールのヘッダを記録したかったので、 sendmail.cf にてログレベルをデフォルトの9から11 → 15 → デバッグの → 16 → 20くらいまで引き上げたが、エンベロープは記録されるものの、肝心のDATAの中身が記録されなくて困った。
何か別の手段はと思い、Manpage of sendmail を見たら物騒なオプションを発見
-X logfile
指定された logfile に、メーラに出入りする情報すべてを記録します。メーラをデバッグする際の最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録されます。
Manpage of sendmailより
まあ行儀が良さそうなオプションじゃないな。
早速起動スクリプトのsendmail 起動コマンドラインに "-X /var/log/maildata" とでも追加して起動したところ、思い通りDATAの中身が丸ごとログに吐かれた。
これで"Message-Id:" や "Subject:" も確認し放題、もちろんメール本文もだ。
悪用厳禁やね。
追記:2009/4/9
姉妹ネタを作成、ログがでかくて困るという時にはこっちでも。
sendmail の .forward で、メールの任意の行をログに出力