SMTP(Simple Mail Transfer Protocol)はメール送信に用いられるプロトコルです。メール受信機能はありません。RFC821、RFC1651、RFC1652、RFC1653 で定義されます。TCPポートの 25番を用います。
SMTPサーバ(mail.xxx.yyy.zzz)に接続し、bbb@xxx.yyy.zzz さんから aaa@xxx.yyy.zzz さんにメール送信する際の、サーバークライアント間メッセージ例を示します。メッセージはすべて文字として送受信されます。← がサーバーから送られてくるメッセージ、→ がサーバーに送るメッセージです。
← 220 mail.xxx.yyy.zzz ESMTP → HELO mail.xxx.yyy.zzz ← サーバーとのあいさつ ← 250-OK ← 250 WELCOME → MAIL FROM: aaa@xxx.yyy.zzz ← 発信元 ← 250 OK → RCPT TO: bbb@xxx.yyy.zzz ← 宛先 ← 250 OK → DATA ← メールの開始 ← 354 Start mail input; end with <CRLF>.<CRLF> → From: aaa@xxx.yyy.zzz ← 発信元 → To: bbb@xxx.yyy.zzz ← 宛先 → Subject: TEST ← 件名 → ← ヘッダと本文の間には空行 → Hello!! → Good by!! → . ← メールの終了 ← 250 OK → QUIT ← SMTPの終了 ← 221 BYE
.htaccess ファイルを・・・ ↓ ..htaccess ファイルを・・・
To: aaa@xxx.yyy.zzz, bbb@xxx.yyy.zzz, ccc@xxx.yyy.zzz, ddd@xxx.yyy.zzz
Subject: =?iso-2022-jp?B?GyRCJEgkWyRbGyhK?=
SMTPリプライコードは何番台かで凡その意味があります。
コード | 説明 |
---|---|
2xx | 正常です。 |
3xx | 追加情報を求める。 |
4xx | 致命的エラー。 |
5xx | 回復の可能性があるエラー。 |
各エラーコードの詳細を下記に示します。
コード | 説明 |
---|---|
211 | システムステータスあるいはシステムヘルプの準備完了。 |
214 | ヘルプメッセージ。 |
220 | サービス準備完了。 |
221 | サービスは転送チャンネルをクローズしています。 |
250 | 要求されたメール操作が受けつけられました。 |
251 | ユーザはローカルでないので、<forward-path> に転送されます。 |
コード | 説明 |
354 | メールを入力してください。メールの終わりは <CRLF>.<CRLF> です。 |
コード | 説明 |
421 | |
450 | 要求されたメール操作は受けつけられませんでした。 |
451 | 要求されたアクションは中断されました。 |
452 | 要求されたアクションは受けつけられませんでした。 |
コード | 説明 |
500 | 文法エラー。コマンドは認識されませんでした。(コマンドの入力が長すぎるなど) |
501 | パラメータや引数に文法エラーがあります。 |
502 | そのコマンドは実装されていません。 |
503 | コマンドの指定順序が誤っています。 |
504 | そのコマンドパラメータは実装されていません。 |
550 | 要求されたアクションは受けつけられません。(メールボックスが無いとか、アクセス権が無いなど) |
551 | ユーザが存在しません。 |
552 | 要求されたメール送信が中断されました。 |
553 | 要求されたアクションは受けつけられませんでした。(メールボックスの名前が不正など) |
554 | トランザクションが失敗しました。 |