← RFC Reference

RFC 6409 – メール送信のためのメッセージ送信

Internet Standard Core SMTP & Message Format Obsoletes RFC 4409 Published March 2026
ELI5: 公開メールボックス(ポート25)と郵便局のカウンターで手渡す場合の違いを想像してください。街角の公開メールボックス(ポート25)は、郵便配達員が郵便局間でメールを転送するためのものです。カウンター(ポート587)は、あなたが顧客として手紙を提出するところです。まず身分証明書を提示し、店員があらゆることが整っているか確認します。RFC 6409はメールのための郵便局カウンターを定義しています。

このRFCが存在する理由

電子メールの初期段階では、ユーザーが新しいメッセージを送信することと、サーバーが別のサーバーからメールをリレーすることの区別がありませんでした。どちらもポート25を使用し、誰でも接続して送信できました。これはオープンリレーの問題につながり、スパマーは認証なしでメールを受け入れて転送するサーバーを悪用しました。

RFC 6409(元々1998年のRFC 2476、2006年にRFC 4409として更新、2011年にRFC 6409として最終化)はメッセージ送信メッセージリレーを正式に分離します:

この分離は現代の電子メールセキュリティの基礎です。送信者の認証、ポリシー施行、および認証されていないリレーをブロックしながら正当な送信を受け入れることが可能になります。

仕組み

メッセージ送信はRFC 5321で定義されているのと同じSMTPプロトコルを使用しますが、動作、ポリシー、およびポート番号の重要な違いがあります。

送信プロセス

  1. クライアント(MUAまたはアプリケーション)がポート587でMSAに接続します。
  2. クライアントがEHLOを発行して利用可能な拡張機能を検出します。
  3. クライアントがSTARTTLSを使用してTLSにアップグレードする(またはRFC 8314に従ってポート465でのIPL TLSを使用して接続する)。
  4. クライアントがAUTHRFC 4954)を使用して認証します。通常はPLAINまたはLOGIN over TLS。
  5. クライアントがMAIL FROMRCPT TO、およびDATAを使用してメッセージを送信します。
  6. MSAがメッセージを検証し、潜在的に不足しているヘッダー(Date、Message-ID)を追加し、MTAインフラストラクチャ経由で配信用にキューに入れます。

送信対リレー:並べて表示

側面 送信(MSA、ポート587) リレー(MTA、ポート25)
目的 ユーザー/アプリから新しいメッセージを受け入れる サーバー間でメッセージを転送する
認証 必須(SMTP AUTH) 不要(サーバー間信頼)
暗号化 必須(STARTTLSまたはIPL TLS) 機会的(利用可能な場合はSTARTTLS)
送信者検証 MSAが認証されたユーザーがFromアドレスの使用を認可されているかチェック MTAがSPF、DKIM、DMARCをチェック
ヘッダー修正 MSAが不足しているDate、Message-ID、MIMEヘッダーを追加できる MTAがReceivedヘッダーのみを追加
接続者 エンドユーザー、アプリケーション、メールサービス 他のメールサーバー

SMTPの例

ポート587での一般的な送信セッション:

# クライアントがポート587に接続 S: 220 smtp.mailertogo.com ESMTP Submission C: EHLO app.example.com S: 250-smtp.mailertogo.com S: 250-STARTTLS S: 250-AUTH PLAIN LOGIN S: 250-SIZE 26214400 S: 250-8BITMIME S: 250 ENHANCEDSTATUSCODES # まずTLSにアップグレード C: STARTTLS S: 220 2.0.0 Ready to start TLS # TLSハンドシェイクがここで発生し、再EHLO C: EHLO app.example.com S: 250-smtp.mailertogo.com S: 250-AUTH PLAIN LOGIN S: 250-SIZE 26214400 S: 250-8BITMIME S: 250 ENHANCEDSTATUSCODES # 認証(Base64エンコードされた認証情報) C: AUTH PLAIN AGFsaWNlQGV4YW1wbGUuY29tAHNlY3JldA== S: 235 2.7.0 Authentication successful # メッセージを送信 C: MAIL FROM:<notifications@example.com> S: 250 2.1.0 OK C: RCPT TO:<user@recipient.com> S: 250 2.1.5 OK C: DATA S: 354 Start mail input C: From: Example App <notifications@example.com> C: To: user@recipient.com C: Subject: Your order has shipped C: Date: Wed, 11 Mar 2026 14:00:00 +0000 C: Message-ID: <order-12345@example.com> C: C: Your order #12345 has been shipped and is on its way. C: . S: 250 2.0.0 OK, queued as abc123 C: QUIT S: 221 2.0.0 Bye

重要な技術的詳細

認証は必須です

RFC 6409は、MSAが認証を要求すべき(SHOULD)ことを述べており、組織ポリシーによる特定の許可がない限り、認証されていないクライアントからのリレー用メッセージを受け入れてはならない(MUST NOT)。実際には、すべての現代的な送信サーバーが認証を要求します。標準的なメカニズムはSMTP AUTH(RFC 4954)で、PLAINまたはLOGINメカニズムをTLS経由で使用します。

MSAによるヘッダー修正

MTA(メッセージコンテンツを変更してはいけない)とは異なり、MSAは送信されたメッセージを検査して修正することが期待されています:

ポート465:インプリシットTLS

歴史的には、ポート465は一時的に「SMTPS」(インプリシットTLS経由のSMTP)に割り当てられ、その後再割り当てされ、その後2018年のRFC 8314によって再標準化されました。今日、インプリシットTLSを使用したポート465は送信の推奨アプローチです。TLSハンドシェイクは接続時に直ちに行われ、SMTPコマンドの前に行われます。STARTTLS付きのポート587は広くサポートされており有効です。

サイズとレート制限

MSAは通常MTAよりも厳格な制限を施行します:

一般的な間違い

配信可能性への影響

Related RFCs