
ドメインの宛先を指定して postfix を設定できるかどうか知っている人はいませんか。その宛先 (これも postfix を実行中) がディスクがいっぱいかオフラインのためメールを受信できない場合は、別の宛先が試されます。
MX レコードのようなもので、サーバーがオフラインの場合は次のレコードに移動して機能しますが、ディスク領域がいっぱいのためにメールを受信できない場合は機能しません。それとも、これは間違っていますか?
答え1
宛先メールサーバーが空の空き容量がない場合は、メールを受信できません。メール サーバーは、メールを次の宛先に送信する前に、一時的にキューに格納する必要があります。
適切なメールサーバーは、これが発生すると 4xx を返します。これは、「現在メールを受信できません。後でもう一度お試しください」という意味です (RFC 2821 ポイント 4.2.1)。サーバーから4xxコードを取得する場合、メールクライアントにはいくつかのオプションがあります。
- MX検索の結果に基づいて次のサーバーを再試行します
- 待ってからプライマリメールサーバーを再試行してください
残念ながらRFCこのようなことが起こった場合の特定の行動を推奨しないメール クライアントは最初のオプションまたは 2 番目のオプションを選択できます。
私はこの状況をシミュレートして、いくつかの大手メールプロバイダが4xx応答コードにどのように応答するかについてのデータを収集しようとしました。
- 私のPostfix 2.10のサーバーはすぐにセカンダリメールサーバーにメールを送信しようとする
- GMailはプライマリメールサーバーへの接続を試行し続けます数分後
- Yahooはプライマリメールサーバーへの接続を試み続ける数分後
この問題を回避するにはどうすればいいでしょうか?
1 つのオプションは、サーバーの空き容量を定期的にチェックするスクリプトを追加することです。ディスク使用量が特定のしきい値を超えた場合は、ファイアウォールを使用してポート 25 をインターネットから遮断できます。メール サーバーが到達不能またはまったく応答しない場合は、Yahoo と Gmail の両方がすぐに次の優先サーバーに送信しようとします。