GNU Mailman with Postfixを使用してメーリングリストを実行しており、送信メールの配信を監視したいと考えています。つまり、リストから送信されたメールごとに、250( OK)メッセージに回答しました。回答しなかった場合は、私に報告してください。
とりあえず、私は簡単なことをしています:
# cat /var/log/syslog | grep "smtp.*to=.*" | grep -v 250
Smtpdの出力を監視するクリーンな方法はありますか?
送信されたメールをクリーンな方法で監視する方法はありません。 postfixのメールログからのみ詳細をgrepできます。
次に例を示します。
log='logfile of postfix'
grep "status=sent" $log | \
egrep -ve 'postfix/(cleanup|pickup|master|qmgr|smtpd|local|pipe)'
また、dkim
などのログも避けてください。メールの数が必要な場合は、wc -l
最後に。
どうですか:
multitail -eX "smtp.*to=<(.*)>.*sent.*250" './bin/received' -f /var/log/maillog
./bin/receivedは、宛先メールアドレスをパラメーターとして取得し、それを処理するシェルスクリプトです。
これを試して
cat /var/log/maillog |grep -v "relay=local" |grep "relay=" |grep "status=sent"
ここには非常に役立つ情報があります http://en.redinskala.com/postfix-maillog-interpretation/
私はこれを使って私のサーバーを介して電子メールを送信する人を監視しています:
tail -f /var/log/mail.log | grep 'sasl'
認証されたユーザーがだれが送信しているかを示します。