qmail
ログの見方
一般的にはmaillogに以下のようなログが現れる
Sep 26 03:49:08 foobar qmail: 1316976548.847204 new msg 81231893 Sep 26 03:49:08 foobar qmail: 1316976548.847259 info msg 81231893: bytes 2813 from <someone@foobar.sample.jp> qp 32384 uid 0 Sep 26 03:49:08 foobar qmail: 1316976548.864074 starting delivery 47716: msg 81231893 to local someone@foobar.sample.jp Sep 26 03:49:08 foobar qmail: 1316976548.864129 status: local 1/10 remote 17/20 Sep 26 03:49:08 foobar qmail: 1316976548.865882 delivery 47716: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
このうち、最初の6つのフィールドはsyslogによるものということ。この意味は明らかだが、ただし、第6フィールドの「1316976548.847204」はunix時間であるらしい。おそらく、整数部分は1970/1/1 00:00:00からの経過秒数を表し、少数部分はそれ以下の秒数を表すと考えられる。つまり、通常の利用では、「Sep 26 03:49:08」という情報があれば良い。以下では、この6フィールドを除去した部分についてみていく。
new msg
qmail-sendがキュー中にあるメッセージの処理を開始したことを示す。 new msgの後の数字はキュー内の該当メッセージのi-node番号。 i-node番号なので、メッセージがキューから削除されると、いつでも再利用される。 実際に、連続した二つのnew msgが同じ番号を持つこともある。
ちなみに、参考文献2.のP108には「qmail-sendがキューにメッセージの登録処理を開始」との記述があるが、これは間違いと思われる。 qmail-sendはキューへのメッセージ登録処理は行わない。P11,P17の図とも矛盾している。
info msg
必ず上記のnew msgの直後に現れ(るらしい)、new msgと同じ番号を持ち、そのメッセージの概要を示す。例えば、
info msg 81231893: bytes 2813 from <someone@foobar.sample.jp> qp 32384 uid 0
の場合、バイト数が2813、送信者がsomeone@foobar.sample.jp、キュー識別子が32384、uidが0を示す。
- この場合の送信者とは?
- キュー識別子とは?
- uidとは?
starting delivery
メールの配送を開始したという意味
starting delivery 47716: msg 81231893 to local someone@foobar.sample.jp
であれば、配送IDが47716とし、配送メッセージとして先の81231893を、その後に示された配送先に配送する。 配送IDはメッセージ番号とは異なり、再利用されることはない。必ず一意になる。ただし、qmailを再起動すれば1から振り直される。
status
qmail-sendの状態を表す。
status: local 1/10 remote 17/20
local,remoteそれぞれ「現在の待ち数/最大待ち数」となっている。
delivery
配送の結果を示す。
delivery 47716: failure: Sorry,_no_mailbox_here_by_that_name._(#5.1.1)/
であれば、IDが47716の配送が失敗したことを示している。
管理用コマンド
qmail-qstat
参考
1. http://www.appdev.akmalida.com/qmailqa/ref/qm_ref_qmail-log_5.html
- 2. qmailで作るメールサーバ徹底攻略(与儀丈二)、ソフトバンクパブリッシング
- 3. qmailメールサーバの構築(Richard Blum著、株式会社コスモプラネット訳)、株式会社アスキー
4. http://www.atmarkit.co.jp/flinux/rensai/qmail01/qmail01a.html
5. qmailのある暮らし
6. ダブルバウンス