← RFC Reference

RFC 5322 – インターネットメッセージフォーマット

Current Standard Core SMTP & Message Format Obsoletes RFC 2822 Published March 2026
ELI5: [RFC 5321](5321) (SMTP) があなたの手紙を運ぶ郵便車であれば、RFC 5322 は手紙そのもののフォーマットです。差出人住所、受取人住所、日付、件名、そして実際のメッセージを下に書く場所が定義されています。あなたのインボックスで開くすべてのメールはこの仕様に従って構成されています。

このRFCが存在する理由

RFC 5322は、メールメッセージの構文を定義します。これはSMTPのDATAフェーズで送信されるテキストです。その前身であるRFC 822(1982年)は、最も古いインターネット標準の一つでした。RFC 5322は、より厳密な構文ルール、より明確な廃止構文の取り扱い、および最新の慣行への対応により、その形式を更新しました。

このRFCはメッセージ形式についてのみであり、メッセージがどのように転送されるか(それはRFC 5321)や、添付ファイルがどのように機能するか(それはRFC 2045とMIMEファミリー)については何も述べていません。ヘッダーフィールド、本文、およびアドレス、日付、メッセージ識別のルールを定義します。

動作方法

メールメッセージは、空白行で区切られた2つの部分に分割されます。

  1. ヘッダーセクション: 名前: 値の形式の一連のヘッダーフィールド。CRLFで終了します。
  2. 本文: メッセージコンテンツ。単なる構造化されていないテキスト(MIMEは上に構造を追加します)。

メッセージ構造

# ヘッダーセクション From: Alice Smith <alice@example.com> To: Bob Jones <bob@example.net>, Carol White <carol@example.org> Cc: Dave <dave@example.com> Subject: 四半期報告書 Date: Wed, 11 Mar 2026 15:30:00 -0500 Message-ID: <unique-id-12345@example.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" # 空白行がヘッダーと本文を区切ります BobとCarolへ、 四半期報告書を添付してお送りします。

必須ヘッダーフィールド

RFC 5322では、すべてのメッセージに以下のフィールドが含まれる必要があります。

フィールド 説明
From: メッセージの作成者 From: Alice <alice@example.com>
Date: メッセージが作成された時刻 Date: Wed, 11 Mar 2026 15:30:00 -0500

加えて、すべてのメッセージはMessage-IDフィールド(グローバルに一意な識別子)を含むべきです。Message-IDなしのメッセージは、スレッド処理、重複排除、およびDKIM署名に問題を引き起こします。

一般的なヘッダーフィールド

フィールド 用途
To: 主要な受信者
Cc: カーボンコピー受信者
Bcc: ブラインドカーボンコピー(配信前に削除)
Subject: メッセージのトピック
Reply-To: 返信用アドレス(From:を上書きします)
Sender: From:に複数の作成者が含まれている場合、または送信エージェントと異なる場合の実際の送信者
In-Reply-To: 返信対象メッセージのMessage-ID
References: スレッド処理用のMessage-IDのチェーン
Message-ID: このメッセージのグローバル一意識別子
Return-Path: MAIL FROMから最終配信システムによって追加
Received: メッセージを処理する各サーバーによって追加されるトレースヘッダー

主要な技術詳細

アドレス形式

RFC 5322では、2つの有効なアドレス形式が定義されています。

特殊文字を含む表示名は引用する必要があります。"O'Brien, Alice" <alice@example.com>のように。ローカルパート(@の前)は仕様では大文字と小文字を区別しますが、実際にはほぼすべてのメールシステムで大文字と小文字の区別なく扱われます。

日付形式

日付形式は特定で許容できません。

Date: Thu, 11 Mar 2026 15:30:00 -0500

形式は曜日、DD Mon YYYY HH:MM:SS タイムゾーンです。曜日はオプションですが、慣例的です。タイムゾーンは「EST」のような名前ではなく、数値オフセット(-0500)である必要があります。仕様は廃止構文として古いタイムゾーン省略形を許容していますが、生成することはお勧めできません。

Message-ID形式

Message-IDはグローバルに一意である必要があり、次の形式に従います。

Message-ID: <unique-part@domain>

ベストプラクティスは、UUIDまたはタイムスタンプベースの一意部分を送信ドメインと組み合わせることです。<20260311153000.a1b2c3@mail.example.com>のように。

ヘッダーフォーディング

長いヘッダー値は、CRLFの後に少なくとも1つのスペースまたはタブ(空白)を挿入することで「フォーディング」できます。これにより、長い受信者リストまたはサブジェクト行を998文字の行制限内に保つことができます。

To: Alice <alice@example.com>, Bob <bob@example.com>, Carol <carol@example.com>

パーサーは、空白で始まる続行行を結合して「アンフォーディング」する必要があります。

トレースヘッダー

メッセージを処理する各メールサーバーはReceived:ヘッダーを先頭に追加します。これらはトップからボトムへのトレイルを形成します。最上位のReceived:ヘッダーは最後に追加されたものです。Return-Path:ヘッダーは最終配信システムによってのみ追加され、MAIL FROMからのエンベロープ送信者を含みます。

一般的な間違い

配信可能性への影響

Related RFCs