← RFC Reference

RFC 3462: Multipart/Report コンテンツタイプ

Deprecated by RFC 6522 Delivery Status & Bounce Handling Obsoletes RFC 1892 Published March 2026
ELI5: メールインシデントレポート用の標準化されたマニラフォルダを想像してください。最初のページは平易な英語の要約、2ページ目はチェックボックスとコンピュータが読める形式コードを備えたフォーム、3ページ目は元の手紙のコピーです。RFC 3462はこのフォルダ形式をメール用に定義しました。その後[RFC 6522](6522)に置き換わりましたが、概念は同じです。

このセットアップが存在する理由

1990年代半ばにDSN(配信状態通知)フレームワークが作成されたとき、作成者は人間が読める形式と機械が読める形式の両方を同じメッセージで処理できるMIMEコンテナが必要でした。通常のmultipart/mixedは構造的には機能しますが、メッセージが自動レポートで特定の内部形式であることを示すセマンティック信号がありません。

multipart/reportは次の方法で解決します:

RFC 3462はこの仕様の2番目の改訂版です(RFC 1892の後)。後にRFC 6522により廃止されました。RFC 6522は言語を厳密にしてIANA登録を更新しました。実際のワイヤ形式は変わりません。RFC 3462に準拠するメッセージはRFC 6522にも準拠しています。

仕組み

multipart/reportコンテンツタイプは、追加の制約があるあらゆるMIMEマルチパートのように機能します:

Content-Type宣言

Content-Type: multipart/report; report-type=delivery-status;
    boundary="REPORT-BOUNDARY"

report-typeパラメータは受信者にどの種類のレポートかを伝えます。boundaryパラメータは、あらゆるマルチパートメッセージのようにMIMEパートを分離します。

3パート構造

--REPORT-BOUNDARY
Content-Type: text/plain

; パート1:人間が読める要約
user@example.orgへの配信が永続的に失敗しました。
受信者のメールボックスが存在しません。

--REPORT-BOUNDARY
Content-Type: message/delivery-status

; パート2:機械が読めるレポート
Reporting-MTA: dns; mx.example.com

Final-Recipient: rfc822;user@example.org
Action: failed
Status: 5.1.1

--REPORT-BOUNDARY
Content-Type: text/rfc822-headers

; パート3:元のメッセージヘッダー(オプション)
From: sender@example.com
To: user@example.org
Subject: Hello
Message-ID: <msg-001@example.com>

--REPORT-BOUNDARY--

主要な技術仕様

経時的に定義されたレポートタイプ

RFC 3462が公開されたとき、delivery-statusのみが存在していました。後のRFCは同じmultipart/reportコンテナを使用するより多くのレポートタイプを追加しました:

report-type 目的 定義元
delivery-status バウンス / 配信通知 RFC 3464
disposition-notification 開封確認(MDN) RFC 8098
feedback-report スパム報告(ARF) RFC 5965
tlsrpt TLSネゴシエーション失敗 RFC 8460

必須パートの最小数

RFC 3462は最低2つのパートを必須にしています:人間が読める要約と機械が読めるレポートです。3番目のパート(元のメッセージ)はオプションですが、DSNの場合は強く推奨されます。これにより、送信者はどのメッセージがバウンスしたかを特定できます。

RFC 6522との関係

RFC 6522はこのドキュメントを廃止します。変更は編集的で、動作ではありません:

コードがすでにRFC 3462を正しく処理している場合、RFC 6522も処理しています。ワイヤ形式は変わりません。

よくある間違い

配信性への影響

Related RFCs