sendmailコマンドの送信履歴を確認する方法

sendmailコマンドの送信履歴を確認する方法

sendmailコマンドの送信履歴を確認するためには、主に以下の2つの方法があります。

1. ログファイルの確認

sendmailの送信履歴は、通常、メールログファイルに記録されています。
一般的なログファイルの場所は以下の通りです:

  • /var/log/maillog
  • /var/log/mail.log
  • /var/log/syslog

これらのファイルから確認するには、grepコマンドを使ってsendmailのエントリを検索します。

grep sendmail /var/log/maillog
grep sendmail /var/log/mail.log
grep sendmail /var/log/syslog

2. Mail Queueの確認

sendmailのキューにあるメッセージを確認することもできます。
これにはmailqコマンドを使用します。

mailq

ログの内容例

/var/log/maillogの中のsendmailエントリは以下のような形式です:

Jul 18 14:35:01 hostname sendmail[12345]: x6IAX35H012345: from=<[email protected]>, size=1234, class=0, nrcpts=1, msgid=<20230718073501.12345[email protected]>, relay=user@localhost
Jul 18 14:35:01 hostname sendmail[12345]: x6IAX35H012345: to=<[email protected]>, ctladdr=<[email protected]> (1001/1001), delay=00:00:01, xdelay=00:00:01, mailer=relay, pri=121234, relay[email protected]. [192.168.0.1], dsn=2.0.0, stat=Sent (x6IAX35H012345 Message accepted for delivery)

このように、送信元や送信先、メッセージID、ステータスなどの詳細が表示されます。

補足

特定の日時やメールアドレスでフィルタリングすることもできます。
例えば、特定のメールアドレスでフィルタリングする場合:

grep '[email protected]' /var/log/maillog

これにより、指定したメールアドレスに関するsendmailのエントリのみを表示することができます。

これらの方法を使って、sendmailコマンドの送信履歴を確認することができます。