2012年3月 7日

[postfix-jp: 4073] Re:1台目の relayhost が 4xx を帰す時

井出です。

Takahiro Kambe <taca@xxxxx>さん writes:
> In message <84eht6jrz6.wl%ogino@xxxxx>
> on Tue, 06 Mar 2012 13:03:41 +0900,
> Mitsuru Ogino <ogino@xxxxx> wrote:
> > えーと、同じサーバに再試行することを問題にしているのではなく、優先度の
> > 最上位のサーバにしか再試行しない、ことについてです。


だから、いったん最上位のサーバに配信すると決まってしまい、当該サーバから
4yzの応答コードをもらってしまえば、比較的長期(30分とか)にわたってこの
サーバの決定が持続してしまうのが、RFCの規定のとおりということです。

最上位だからじゃなくて、一度決まったからなんですが、見える現象は同じです。

> > 通常の postfix の smtp(8) のマニュアルからすれば他のサーバにも試行して
> > よさそうにも思いますが…
> 同感です。

smtp(8)の記載ではやってくれてもいいかなという感じがするのは同意します。

しかしながら、4yzの応答コードでサーバを変更していたらpostscreen[1]や
graylisting[2]の一時的許可リストに意味があるのかと考えると、この
振る舞いが自然かと思われます。

[1] http://ya.maya.st/mail/postscreen.html
[2] http://www.greylisting.org/articles/whitepaper.shtml


> >> > 普通、再試行といえば接続先も変えませんから、このとおりの振る舞いに
> >> > なるかと思います。
> この理解では、MXレコードを複数用意すること自体の意味がなくなります。

コネクションが張れなかったり、4yz応答が繰り返されたりした場合には、当然
他のSMTPサーバへの接続もあり得る話ですから、意味が無いということはないです。

> 接続先を変えないというよりは、送ろうとしているメールのメッセージの送信
> そのものをあきらめないという意味合いで、他のMXなホストを試してはいけな
> い理由とはなりません。

ただ、コネクションが張れない場合と異なり、4yzの応答コードが来た場合には、
サーバ側の一時的事情で受け取りが不可能というものであって、時間が経てば復旧
する可能性が高いものです。この場合、待つのも手というものです。コネクション
が張れない場合は、そもそもSMTPサーバが存在するのかどうかも不明ですから、他
のサーバを試してみるのに意味があります。

理由にはならないかもしれませんが、起こっている現象とのつじつまはあっています。
smtp(8)の記載とも矛盾はしません。

SMTPでは、一度試行に失敗すると特定の宛先に送信するのを遅延させる必要があります
から、他サーバへの振り替えを即座に行うことはRFC違反になります。RFC5321の
Section 4.5.4.1では "The sender MUST delay retrying a particular destination
after one attempt has failed." と記載されています。4yzの応答コードをもらって
しまった以上、ある程度(同Sectionでは30分が推奨値です。)は詰まってしまうのは
しょうが無いのではないでしょうか。

--
「なんとかなるよ。絶対、だいじょうぶだよ。」 de IDE Kazumi

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list


投稿者 xml-rpc : 2012年3月 7日 00:38
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/108999
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。