ホームページ  >  記事  >  バックエンド開発  >  RFC821-Simple Mail Transfer Protocol SMTP 中国語版-1_PHP チュートリアル

RFC821-Simple Mail Transfer Protocol SMTP 中国語版-1_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:27:17750ブラウズ

3.7. ドメイン ドメインは最近 ARPA インターネット メール システムに導入されました。ドメインを使用すると、アドレス空間がフラット プレーンな文字列のホスト名からグローバル アドレスの階層に変わります。ホストはドメイン名に置き換えられ、開始ホストは、最も具体的なものから最も一般的なものまでカンマで並べられた一連のタプルになります。 たとえば、「USC-ISIF.ARPA」、「Fred.Cambridge.UK」、および「PC7.LCS.MIT.ARPA」はホスト ドメイン識別子である可能性があります。 SMTP でのドメイン名の使用方法に関係なく、仮名やニックネームではなく、正式名のみを使用できます。 3.8. 役割の変更 TURN コマンドを使用して、トランスポートチャネル上で通信するプログラムの役割を変更できます。プログラム A が現在 SMTP を送信している場合、TURN コマンドを送信して OK 応答 (250) を受信した後、SMTP の受信に変わります。同様に、プログラム B も SMTP 受信側から SMTP 送信側に変更できます。役割の変更を拒否するには、受信者は応答として 502 を送信できます。 注: このコマンドはオプションです。このコマンドは、通常、TCP トランスポート チャネルを使用する場合には使用されません。ただし、このコマンドは、伝送チャネルの確立にコストがかかる場合に役立ちます。たとえば、このコマンドは、伝送チャネルとして一般の公衆交換電話システムをサポートできます。 4. SMTP の説明 4.1. SMTP コマンド 4.1.1. コマンド構文 SMTP コマンドは、メール送信またはユーザーが定義するシステム機能を定義します。そのコマンドは で終わる文字列です。パラメータの場合、コマンド自体はとパラメータで区切られており、パラメータがない場合はに直接接続することも可能です。電子メールの構文形式は、受信サイトの形式と一致している必要があります。 SMTP コマンドと応答については以下で説明します。 電子メールの送信操作には、さまざまなパラメーターによって相互に接続されるさまざまなデータ オブジェクトが含まれます。返信パスは MAIL コマンドのパラメータ、転送パスは RCPT コマンドのパラメータ、電子メールの日付は DATA コマンドのパラメータです。これらのパラメータまたはデータ オブジェクトはコマンドの後に続く必要があります。このモードでは、これらのオブジェクトを格納するためのさまざまなバッファ、つまり応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファも必要です。特定のコマンドは、独自のバッファを作成するか、1 つ以上のバッファの内容をクリアします。 HELLO (HELO) このコマンドは、SMTP 確認を送信して SMTP を受信するために使用されます。パラメータフィールドには、SMTP の送信元のホスト名が含まれます。 SMTP受信は接続確認コマンドでSMTP送信からSMTPの受信を確認します。ブート コマンドと OK 応答は、SMTP の送受信が初期状態に入ったこと、つまり操作が実行されておらず、すべてのステータス テーブルとバッファがクリアされていることを確認します。 MAIL (MAIL) このコマンドは、複数のメールボックスへのメールの送信を開始するために使用されます。パラメータフィールドには応答パスが含まれます。 リターン パスには、ホストと送信者メールボックスのオプションのリストが含まれます。ホスト リストがある場合、それは応答パス ソースであり、このメールボックスがリスト内のホストによって 1 つずつ送信されることを示します (最初のホストがメールを受信する最後のホストです)。このテーブルには、送信者に配信不能信号を返すためのソース パスも含まれています。通過する各ホスト アドレスはこのテーブルの先頭に追加されるため、受信 IPCE (IPCE でない場合) ではなく送信 IPCE にとってわかりやすい名前を使用する必要があります。一部のエラー メッセージの応答パスは空である場合があります。 このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファをクリアし、このコマンドの応答パス情報を応答パス バッファに挿入します。 RECIPIENT (RCPT) このコマンドは、メッセージ内容の唯一の受信者を決定するために使用されます。複数の受信者は、このコマンドによって指定されます。 転送パスには、オプションのホストと必須の宛先メールボックスが含まれます。ホスト リストが表示される場合、これはリスト内の前のホストにメールを送信する必要があることを示すソース パスです。受信SMTPがメール配信・送信を実装していない場合、不明なローカルユーザー(550)などの情報がユーザーに返されます。 メッセージが配信されるとき、配信ホストはその名前を転送パスの先頭から応答パスの最後まで移動する必要があります。電子メールが最終的に宛先に到達すると、受信側 SMTP はホスト電子メール形式で自身の名前を宛先電子メールに挿入します。たとえば、次のパラメータを含むメールが配信ホスト A で受信された場合、FROM: TO: は次の形式になります。このコマンドにより、転送パス パラメータが転送パスに追加されます。バッファ。 DATA (DATA) 受信者は、コマンドに続く行を電子メールのコンテンツとして使用します。このコマンドにより、このコマンドに続くメッセージ コンテンツがメッセージ コンテンツ バッファーに追加されます。電子メールのコンテンツには、128 個の ASCII 文字すべてを含めることができます。電子メールの内容は、ピリオドのみを含む行で終了します。この行は、電子メールの終わりを示す文字列「.」です。 メッセージ コンテンツの終わりは、受信者が保存されたメッセージ コンテンツを処理する必要があることを示します。このプロセスでは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファの内容がクリアされます。操作が成功した場合、受信側は OK 応答を返す必要があり、失敗した場合も失敗応答を返す必要があります。受信側 SMTP がメッセージを受信すると、それが転送に使用されるか、メッセージが宛先に到着したかにかかわらず、メッセージの内容の先頭にタイムスタンプ行を追加する必要があります。この行は、メッセージの受信ホストと送信ホストを示します。ホストの ID、およびメッセージの内容を受信した日時。転送されたレターには、そのようなタイムスタンプが含まれる複数の行が含まれます。ラストストップ配信用の SMTP を受信すると、メッセージに挿入されたパス情報行が返されます。この行には、送信されたコマンドの に関する情報が含まれています。ここで、ラストストップ配信とは、メールが目的のユーザーに配信されることを意味しますが、場合によっては、メールはさらに処理が必要となり、別のメール システムによって配信される場合があります。 リターン パスのメールボックスが実際に送信されたメールと一致しない可能性があります。これは、メールの送信者の代わりに特定のエラー処理メールボックスを送信する必要がある場合に発生することがあります。上記の説明は、最終的な電子メールの内容がリターン パス行とそれに続く 1 つ以上のタイムスタンプ行で構成されていることを示しています。これらの行の後には、電子メール コンテンツのヘッダーと本文の情報が続きます。 後続の電子メール データの処理で部分的な成功が示された場合は、特定の指示が必要です。これは、メールを複数のユーザーに配信する必要があるときに、一部のユーザーにしか情報を正常に送信できないことが SMTP 送信側で検出された場合に発生することがあります。この場合、SMTP 組織が「配信不能メール」メッセージを受信し、メッセージの送信者に送信している間に、OK 応答を DATA コマンドに送信する必要があります。このメッセージでは、失敗した受信者のリストが送信されるか、複数の失敗した受信者が一度に 1 人ずつ送信されます。 配信不能なメール メッセージはすべて MAIL コマンドによって送信されます。 リターンパス: 受信: JKL.ARPA より GHI.ARPA より; 27 Oct 81 15:27:39 PST 受信: DEF.ARPA より 81 10 月 27 日 15:15:13 PST 受信: ABC より。 ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST Date: 27 Oct 81 15:01:01 PST From: JOE@ABC.ARPA Subject: 改善されたメール システムがインストールされました To: SAM@ JKL.ARPAあなたは... SEND (SEND) このコマンドは、1 つまたは複数の端末にメールを送信するための送信コマンドを開始するために使用されます。 「パラメータ」フィールドには、成功した場合に端末に電子メールを送信する返信パスが含まれています。 返信パスには、ホストと送信者の電子メール アドレスのオプションのリストが含まれます。ホスト リストが表示される場合、これは送信パスであることを意味し、メールはこのパス上の各ホストを介してここに送信されます (リストの最初のホストが最後のホストです)。このテーブルは、送信者に配信不能信号を返すために使用されます。 各パススルー ホスト アドレスはこのテーブルの先頭に追加されるため、受信 IPCE (IPCE でない場合) ではなく送信 IPCE にとってわかりやすい名前を使用する必要があります。一部のエラー メッセージの応答パスは空である場合があります。 このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファをクリアし、このコマンドの応答パス情報を応答パス バッファに挿入します。 SEND OR MAIL (SOML) このコマンドは、メール操作を開始して、メールの内容を 1 つ以上の端末またはメールボックスに転送するために使用されます。各受信者について、受信者の端末が開いている場合、電子メールのコンテンツは受信者の端末に配信され、そうでない場合は受信者のメールボックスに配信されます。パラメーター フィールドには、コマンドが端末またはメールボックスへのメッセージの送信に成功した場合の応答パスが含まれます。 返信パスには、ホストと送信者の電子メール アドレスのオプションのリストが含まれます。ホストリストが表示される場合は、これが送信パスであることを意味し、メールはこのパス上の各ホストを介してここに送信されます(リストの最初のホストが最後のホストです)。このテーブルは、送信者に配信不能信号を返すために使用されます。各パススルー ホスト アドレスはこのテーブルの先頭に追加されるため、受信 IPCE (IPCE でない場合) ではなく送信 IPCE にとってわかりやすい名前を使用する必要があります。一部のエラー メッセージの応答パスは空である場合があります。 このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファをクリアし、このコマンドの応答パス情報を応答パス バッファに挿入します。 SEND AND MAIL (SAML) このコマンドは、メール操作を開始して、メールの内容を 1 つ以上の端末およびメールボックスに転送するために使用されます。受信者の端末が開いている場合、電子メールの内容は受信者の端末と受信者のメールボックスに配信されます。パラメーター フィールドには、メッセージがメールボックスに正常に送信された場合にコマンドが成功した場合の応答パスが含まれます。 返信パスには、ホストと送信者の電子メール アドレスのオプションのリストが含まれます。ホストリストが表示される場合は、これが送信パスであることを意味し、メールはこのパス上の各ホストを介してここに送信されます(リストの最初のホストが最後のホストです)。このテーブルは、送信者に配信不能信号を返すために使用されます。各パススルー ホスト アドレスはこのテーブルの先頭に追加されるため、受信 IPCE (IPCE でない場合) ではなく送信 IPCE にとってわかりやすい名前を使用する必要があります。一部のエラー メッセージの応答パスは空である場合があります。このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファをクリアし、このコマンドの応答パス情報を応答パス バッファに挿入します。 RESET (RSET) このコマンドは、送信操作が中止されることを示します。保存されている送信者、受信者、メッセージの内容はすべて破棄されるべきであり、すべてのバッファとステータス テーブルがクリアされるべきであり、受信者は OK 応答を返さなければなりません (MUST)。 VERIFY (VRFY) このコマンドでは、受信者はパラメーターがユーザーであることを確認する必要があります。これがユーザー名 (すでにわかっている) の場合は、ユーザーのフルネームと指定された電子メール アドレスを返します。このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファには影響しません。 EXPAND (EXPN) このコマンドは、パラメータがメーリング リストを指定していることを受信者に確認し、メーリング リストの場合はリストのメンバーを返します。これがユーザー名 (すでにわかっている) の場合は、ユーザーのフルネームと指定された電子メール アドレスを返します。このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファには影響しません。 HELP (HELP) このコマンドにより、受信者は HELP コマンドの送信者にヘルプ メッセージを送信します。このコマンドはパラメーターを受け取り、応答として特定の情報を返すことができます。このコマンドは、応答パス バッファ、転送パス バッファ、およびメッセージ コンテンツ バッファには影響しません。 NOOP (NOOP) このコマンドは、発行されたパラメータやコマンドには影響しません。これは単にアクションが実行されなかったことを意味するものであり、受信者が OK 応答を送信したことを意味するものではありません。このコマンドは、返信パス バッファ、転送パス バッファ、およびメールに対して機能します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531889.html技術記事 3.7. ドメイン ドメインは最近 ARPA インターネット メール システムに導入されました。ドメインを使用すると、アドレス空間がフラット プレーンな文字列のホスト名からグローバル アドレスの階層に変わります。ホスト...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。