Multipart
boundaryプレーンテキスト、HTML、添付ファイルなど複数のコンテンツパートを単一メッセージ内で組み合わせる MIME メッセージ構造で、各パートはユニークなバウンダリ文字列で区切られます。
マルチパート MIME メッセージの Content-Type は multipart/mixed、multipart/alternative、multipart/related、または他のマルチパートサブタイプです。ヘッダーはバウンダリパラメーター(「----=_Part_12345」のようなユニークな文字列)を指定し、これがメッセージ本文内の各パートの区切りとして使われます。各パートは独自のミニヘッダーセクションを持ち、Content-Type、エンコーディング、オプションのファイル名を宣言します。
添付ファイルを含むフォーマットされたメールの最も一般的なマルチパート構造はネストされています:外側のコンテナは multipart/mixed で、multipart/alternative パート(本文のプレーンテキストと HTML バージョンの両方を含む)と一つ以上の添付ファイルパートを保持します。クライアントはサポートしているものに基づいてどの代替を表示するかを選択し、添付ファイルはダウンロード用に提供されます。
ネストされたマルチパート構造を正しく解析することは、メール処理のより複雑な側面の一つです。不正なバウンダリ文字列、欠けたヘッダー、異常なネストは単純なパーサーを混乱させることがあります。堅牢な MIME 実装は標準外の構造を持つメッセージでも、生のテキストとして表示されるのではなく有用にレンダリングされるよう、エッジケースを適切に処理する必要があります。
関連用語
Multipurpose Internet Mail Extensions — メールの ASCII テキスト構造の中で、非 ASCII テキスト、HTML 本文、添付ファイル、その他のバイナリコンテンツをエンコードする方法を定義する標準規格です。
PDF、画像、スプレッドシートなど、メールメッセージに MIME パートとしてエンコードされ、メッセージ本文とは別に、受信者が保存または開くことを目的としてファイルを埋め込んだものです。
独立したダウンロード可能なファイルとして添付するのではなく、Content-ID(cid:)参照を使用して HTML メール本文に直接埋め込まれた画像です。画像データは同じメッセージ内の MIME パートとして保存されます。