SMTP

SMTPプロトコルは、メール・クライアントがメール・サーバーに メール送信を依頼するしくみのひとつで RFC821(August 1982)で仕様が定義されています。

SMTPサーバーは、通常TCP/IP ポート25番でリスニングしています。 クライアントはメール送信を依頼されるとSMTPサーバーの IPアドレスのポート25番に向けて winsock でコネクトします。 コネクトが成功すると SMTPプロトコルに従ってメールデータを送信します。 ここでサーバ名を間違えるとコネクトが失敗します。 サーバー名の確認は、コマンドプロンプトで 次のようにtelnetコマンドを使います。 telnet サーバ名 25 telnetコマンドでコネクトが成功しかつSMTPサーバからメッセージが表示されたら サーバ名が正しいことになります。

次にSMTPサーバとのやりとりを簡単に順番に示します。

SMTPサーバーは、クライアントからのSMTPコマンドに対して返答コード(3桁の数字)と 共にメッセージを返します。 SMTPコマンドおよび応答コードは、ログレコード に記録されますのでトラブル時に確認できます。 応答コードの先頭の数字で処理が正常かどうか判断できるようになっています。 コード 説明 2xx 正常応答。 3xx 正常応答。次のデータが必要。 4xx メモリ不足など一時的なエラー。 5xx メールアドレス形式エラー、認証エラーなど永久的エラー。

メッセージは、通常英文のテキストでSMTPサーバー・ソフトウエアによって異なります。

サンプル

HELO <xxxxx.co.jp> MAIL FROM: yyyy@xxxxx.co.jp RCPT TO: aaaaa@bbbbb.co.jp