サーバー‎ > ‎

メールサーバー関連

 

SMTPサービス(メール)応答コード(レスポンスコード)


応答コード(レスポンスコード)とは?

SMTPサーバ(MTA)がクライアントに送る情報は、以下のようになっている。 

250 foo.bar Hello localhost [127.0.0.1]

ここで、最初の3桁の数字を応答コードと呼び、この使い方はRFC 2821などで厳密に決まっている。本ファイルは、これのリファレンスである。 

サーバは複数行の応答を返すこともでき、その場合には応答コードの直後に「-」 (ハイフン)を書くと、応答がまだ続くことを示す。最終行では応答コードの直後はスペースとなる(応答が1行なら、応答コードの後はスペースである)。例えば、 

250-SIZE
250-DELIBERBY
250 HELP

なお、最近では拡張ステータスコードというものも存在するが、これについてはRFC 1893や RFC2034を参照のこと。 


応答コードの意味

応答コード xyz のとき、 

x: 
1 コマンドの確認待ち(SMTPでは普通使われない)  
2 コマンドの成功  
3 コマンドは受け付けられ、続きのデータが要求されている  
4 一時的なエラー  
5 恒久的なエラー  

y: 
0 構文に関するもの  
1 情報  
2 転送チャンネル関連  
3 未定  
4 未定  
5 別システムに関する状態、情報、エラーなど  

http://www.puni.net/~mimori/smtp/reply.html


MTAのメール再送条件(再送要求応答コード)


通常、上記応答コードの4xx(一時的なエラー)は、「再送要求」とも言われる。
4xx(一時的なエラー)応答コードを受け取ったMTAは、再送要求されているので、"通常"ある一定の時間後メールの再送を行う。

"通常"といっているのは、MTAサーバーソフトに依存するが、正規のメールサーバーならば再送するという意味です。
こちらの動作はスパムメール対策でも使用されています。

S25R(Selective SMTP Rejection:選択的SMTP拒絶)方式の要点
  1. 逆引きに基づいてエンドユーザーコンピュータと推定したホストに再送要求(応答コード「450」)を返して受信拒否。
  2. メールサーバを誤判定した場合は再送アクセスが来るので、ホストをホワイトリスト登録して受信。


サブページ リスト

Comments