メッセージ送信異常時のメッセージの取扱いについて説明します。
システムの異常や通信回線の異常などが原因で、他システムに送信したメールが受信側アプリケーションまで届かない場合があります。
送信メッセージは、異常の内容によって、以下のように扱われます。
送信保留
受信保留
デッドレター
送信保留
以下のような原因によりメッセージを送信できない場合、送信メッセージは、送信側システムの送信キューに保存され滞留します。
受信側システムが停止(ダウン)している。
ネットワークに異常がある。
受信側システムの資源(ディスク容量など)が不足している。
送信キューが受信禁止状態または使用禁止状態である。
メール送信タイムアウトが発生した。
送信側システムに滞留中のメッセージは、後述のサービス環境定義の“retry”で指定された時間間隔に従って再送信が試みられます。
受信保留
sendmailがメール(メッセージ)を受信した後、以下のような異常を検出した場合、送信メッセージは、受信側システムのsendmailの再配送キューに格納されます。
受信側システムのMQDが起動されていない。
受信キューが送信禁止状態または使用禁止状態である。
受信キューにメッセージを格納する分の空き領域がない。
受信キューのメッセージの最大長が送信メッセージの長さより小さい。
受信キューが作成されていない。
受信側システムの負荷が高い。
受信側システムの資源(メモリなど)が不足している。
再配送キューに格納されたメッセージは、sendmailの再配送時間に達したとき、SMTP連携サービスが起動されたとき、または後述のサービス環境定義の“retry”で指定された時間間隔に達したときに、受信キューへの格納が再実行されます。
なお、この状態が発生した場合、メッセージの到着順序と受信キューへのメッセージ格納順序が異なることがあります。
デッドレター
行き先不明となったメールをデッドレターと言います。以下のような場合、送信メッセージは、デッドレターとなり破棄されます。
受信側システムで、受信キューの定義が存在しないか誤っている。
送信側システムで、返信キュー(受信キュー)の定義が存在しないか誤っている。
受信側システムで、返信キューに対応する送信キューの定義が存在しないか誤っている。
受信側システムの.forwardファイルのアクセス権限が不正である。
デッドレターとなった送信メッセージについては、行き先不明を通知するエラーメッセージ“MQD2522“が送信側システムのコンソールに出力されます。
注意事項
メッセージ送信中にメモリ不足や通信回線の異常が発生した場合、またはメッセージ送受信中にMQDの強制停止コマンドを実行した場合、同じメッセージが二重に送受信される可能性があります。