1通のメールに対して、ログは複数行記録されます。1通だけであれば、
0. maillog の中から to=<メールアドレス> 行を見つける。
0. to= の前にあるキュー番号(下記例の 851D610008B)を控える。
0. キュー番号で grep すると from, to, message-id などがわかる。
lang
1(例)
2# grep 851D610008B /var/log/maillog
3日時 ホスト名 postfix/smtpd[PID]: 851D610008B: client=unknown[192.168.1.77]
4日時 ホスト名 postfix/cleanup[PID]: 851D610008B: message-id=<メッセージID>
5日時 ホスト名 postfix/qmgr[PID]: 851D610008B: from=<送信者アドレス>, size=*****, nrcpt=1 (queue active)
6日時 ホスト名 postfix/lmtp[PID]: 851D610008B: to=<受信者アドレス>, relay=********, delay=0.12, delays=0.02/0.01/0.02/0.06, dsn=2.0.0, status=sent (250 2.0.0 ......)
7日時 ホスト名 postfix/qmgr[PID]: 851D610008B: removed
のように調べることができます。
たとえば、社内のドメイン部が example.com だとして、それ以外のドメイン宛のキュー番号を
探すのであれば、
lang
1# cat /var/log/maillog | grep 'to=<' | grep -v 'to=<.*@example.com>' | awk '{print $6}'
でわかります。あとは、キュー番号を一つ一つ調べていくのですが、結構、大変だと思います。
なので、ログ解析ツールなどで整形したり集計したりした方がいいと思います。
例えば、AWStatsなど。
集計は必要なく、整形だけでよければ、これに含まれる maillogconvert.pl という perl スクリプトを使えば、送信者アドレス、受信者アドレスが 1行に出力されるので、わかりやすいと思います。
注意点として、送信者 X から複数の受信者 A, B, C に送った場合、maillogconvert.pl の出力は (X→A), (X→B), (X→C) の 3行になります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/01 01:03
2015/04/01 01:37
2015/04/01 03:04
2015/04/01 06:25
2015/04/01 08:10
2015/04/09 04:45