web-dev-qa-db-ja.com

SMTPサーバー:接続を受信すると、接続を受信したときに自動再起動がどの程度サポートされていますか?

メールサーバーが接続を拒否した場合、メールサーバーがオンラインに戻ってきた将来の試みで電子メールが通過することがあります。これはどのくらいよくサポートされていますか?すべてのメールサーバーがこれをサポートしていますか?それはより堅牢なものだけですか?それはDefacto標準または仕様ですか?

1
Bryan Field

前述のように、RFC 5321で説明されていますが、残念ながらSMTPサーバーの実装は異なります。少なくともこれらのシナリオがあります。

  • 5秒ごとに再試行する
  • 毎時
  • 試行の間の時間倍の時間
  • 数分5,10,15,20のステップでの再試行.
  • 再試行しない

一部のサーバーは、4xyのリトライコード、接続が失われた、タイムアウト、ネットワークに到達できず、その他の一時的なエラーを区別したり、各条件では異なる動作をしたりします。

それを合計するには:標準がある場合でも、実装に中継できないことを認めなければなりません。

0
mailq

SMTPサーバーは通常、何日間メッセージを配信しようとします。 RFC 5321 Simple Mail Transfer Protocolセクション6.1電子メールによる信頼できる配信と返信セクション4.5.4リトライ戦略

編集

RFCからの抜粋を追加しました。

Receiver-SMTPがデータに応答してメールを( "250 OK"メッセージを送信することによって)メールを受け入れると、メッセージを配信または中継する責任を受け付けています。それはこの責任を真剣に受け止めなければなりません。ホストが後でクラッシュしたり、予測可能なリソース不足のため、軽微な理由でメッセージを失うことはできません。

...

すぐに送信できないメールは、送信者によってキューに入れられ、定期的に再試行される必要があります。

...

メッセージが送信されるか、送信者があきらめるまで、再試行は続きます。あきある時間は一般的に4~5日以上である必要があります。

3
AlexD