メールサーバが踏み台に?-2-

03/06/12

さて、このログを見る前にpostfixの動作とログの見方を勉強しときましょう。

日刊ASCII様のページが参考になりました。

それによると、Postfixには複数のデーモンが起動し、それぞれ役割があるそうです。
master、pickup、smtpd、cleanup、qmgr等々。

master」は、メールの送信ポート25番(SMTPが使う窓口)をいつも見張っていて、必要なときに処理をするための指令をだす。
メールが送られてくると「pickup/smtpd」に処理を渡す。このときにはもちろん受信の拒否などの処置をする 。そのあとは受信のプロセスを「cleanup」に引き継ぐ。「cleanup」はアドレスなどの書き換えを行った後に、メールを保管しておく場所(「キュー」ともいう)に保管する。/var/spool/postfix/incomingがその場所。

今度は送り出すメールについてのプロセスというと、これを管理するのは「qmgr」。配送するときの方法やエラーの処理、もちろん実際の配送も管理してる。配送の方法によって、また処理を他のデーモンに引き渡す。

また、telnetでSMTPと会話してメールを出すことも可能ですが、その場合は次のような決まりがあります。
SMTPのコマンドは4文字って決まってる。(HELOも英語のHELLOからとられてる)応答するメッセージも、3桁の応答コードテキストメッセージRFCに定められている

さて、Postfixのログなんですが、メールログは、/var/log/maillogファイルに記録されています。
また、ログ記述形式は、

date time programname[pid:番号]:ASCII text

のようになっているそうです。

配信が異常に終った場合は、以下のように"status" の個所は"=sent"にはならず、"bounce"となり、その理由が記録される。

xxx 28 18:59:17 studio-245 postfix/local[6262]: 42273FE006: to=<to:hoge@localhost.rinanet.jp>, relay=local, delay=0, status=bounced (unknown user: "to:hoge")

さて、話を先日の不可解なログに戻しましょう。いったいこのログの原因は?
同じプログラムを使って実験してみました。

1:ドコモのメールサーバ(docomo.com)に対して会話:ToはドコモのユーザーFromはドコモのユーザー
→特になし

2:ドコモのメールサーバ(docomo.ne.jp)に対して会話:ToはドコモのユーザーFromはドコモのユーザー
→特になし

3:ワシのメールサーバ(studio-246)に対して会話:ToはドコモのユーザーFromはドコモのユーザー
Mail Queueになにやらエラーメールらしき物が・・・

どうやら、ワシのメールサーバにFromをAさん(ドコモ)ToをAさん(ドコモ)と送った場合、Aさん宛に「Undelivered Mail Returned to Sender(未配達メールは送信器に返されました)」というサブジェクトのメールを送るみたいです。ただ、このメールもドコモ宛なので、配達することは出来ないでしょう。
内容的には、

これはホスト・studio-246.ddo.jpのPostfixプログラムです。
申し訳ございません。1つ以上の送り先にメッセージを送ることができないかもしれないです。

といったものです。

また、同じようにAさんからBさん(ドコモ)に送った場合は、そのまま送ろうとしたメール自体がMail Queueに保存されるようです。

今度は、ワシのメールサーバ(studio-246)に対して、Toはドコモのユーザー、Fromはワシの携帯にして送ってみましたが、やはり、送ろうとしたメール自体がMail Queueに保存されたようです。

以上の場合は、「Webmin」を開き、「サーバ」→「Postfixの設定」→「Mail Queue * messages」と行くと、未送信(?)メールの存在が確認できました。(*は、保存件数)
これを削除するには、削除するメールにチェックを入れ、その下のボタンを押すだけです。

どうやら、配達できないメールはココに保存され、配達できるまで送信するみたいですね。

Next>>