senderlogに記録された "451 Requested action aborted error in processing.(code=54/ffffff)" の意味 new!
配送時の詳細ログ(senderlog)に接続先サーバからの応答が次のように記録されている場合は、接続先サーバ側の問題、経路上にある装置等の問題という解釈ができます。基本的に、こちら側(E-Post側)の問題でなく、相手側(先方)の問題です。
"451 Requested action aborted: error in processing.(code=54/ffffffff)" のエラーは、相手先サーバより返された応答ではなく、SMTPプロトコルのアプリケーション層よりネットワーク層や物理層に近いレベルにおいて、リモートホストによって接続が強制的に切断されたようなケースです。
詳細に言うと()内の前半は Socket Errorcode 54 でソケット受信しなかったことを意味し、後半は受信サイズ ffffffff=-1:ソケット受信しなかったことを示します。
このエラーは一時的拒絶を示す400番台に分類される扱いですから、E-Post側のリトライ設定に応じて配送のリトライが行われます。
SMTPプロトコルだけでは、下位の物理層に近いネットワーク層で起きたエラーや回線切断は、先方からのエラー応答がなく取得できないため直接の原因を知る由がありません。そのため、E-Post側が内部生成したエラー応答として送信元にエラーメールで返したり、ログに記録しています。
〔括弧内部分の詳細な説明〕
E-Post が内部生成する同タイプの 451 エラーについて次のようなものがあります。
-------------------------------------------------------------------------
451 Requested action aborted: error in processing. (code=0/0)
451 Requested action aborted: error in processing. (code=0/ffffffff)
451 Requested action aborted: error in processing. (code=54/ffffffff)
-------------------------------------------------------------------------
上記3つはそれぞれ( )内の code に続く値が異なりますが、これは (code=Socket Errorcode/受信サイズ) の意味です。
・(code=0/0) = Socket Errorcode なし/0バイト受信
前半は接続開始したにも関わらず、Socket Errorcode なしでソケット受信しなかったことを示します。
後半はデータ 0 バイトで切断していることを示します。無通信タイムアウトで 0 バイト受信したか、あるいは相手サーバ側もしくは途中の中継経路から 0 バイトを受信等、通信切断された可能性が最も大きいことを示します。
・(code=0/ffffffff) = Socket Errorcode なし/-1
前半は Socket Errorcode なしでソケット受信しなかったことを示します。
後半は受信サイズ ffffffff=-1:ソケット受信しなかったことを示し、これは無通信タイムアウトによる切断を示します。
・(code=54/ffffffff) = Socket Errorcode 情報54/-1
前半は Socket Errorcode 54 でソケット受信しなかったことを示します。Socket Errorcode:54 は[Connection reset by peer / ネットワーク接続が相手によって破棄された]ことを意味します。[Socket Errorcode54:ピアによる接続のリセット。リモート ホストによって既存の接続は強制的に切断された]
後半は受信サイズ ffffffff=-1:ソケット受信しなかったことを示します。無通信タイムアウトによる切断を示します。
(関連FAQ)
●senderlogにデータ送信途中で"socket error code=54"が複数回続けて記録される理由とリトライの挙動について
●senderlogにデータ送信途中で"socket error code=54"や"=53"のようにWINSOCKのエラーコードが記録される場合
●senderlog に"421 Service Temporarily Unavailable"と"451 Requested action aborted: error in processing. (code=0/0)"が記録される理由について
●socket エラーコード表