技術解説 · 出典付きの回答

カスタムメールヘッダーとは?定義と実装方法

カスタムメールヘッダーとは、メールメッセージのヘッダー部分に追加される非標準のメタデータフィールドです。SubjectやFromのような標準ヘッダーとは異なり、カスタムヘッダーを使うと、アプリケーション固有のデータをメールと一緒に送信できます。このデータは通常、エンドユーザーには表示されません。

実装の仕組み

カスタムヘッダーは、メッセージ本文の前に置かれるキーと値のペアとして実装されます。形式はHeader Name: Valueです。RFC 5322では、カスタムヘッダーは実験的または非標準であることを示すためにXで始まることが多いとされていますが、現在のシステムではこの慣習はそれほど厳密ではありません。これらのヘッダーはSMTPトランザクション中にメール転送エージェント(MTA)によって処理され、メッセージのメタデータに保存されます。

送信者にとっての用途と追跡

送信者はカスタムヘッダーを使って、内部ID、キャンペーンコード、ルーティング情報などを受け渡します。これは、システムが配信イベントを特定のデータベースレコードに関連付ける必要があるトランザクションメールで特に重要です。カスタムヘッダーを使えば、メールの表示内容を変えることなく、複数のリレーをまたいでメッセージのライフサイクルを追跡できます。

運用上の考慮事項

一部のメール配信サービスは、悪用防止や互換性確保のためにカスタムヘッダーを削除したり変更したりします。送信する予定のヘッダーを、利用するAPIやSMTPリレーがサポートしているかどうかを確認することが重要です。ヘッダーに大量のデータを詰め込むと、ヘッダーと本文の比率が偏ったり不審なパターンが含まれたりして、迷惑メールフィルターに引っかかることがあります。

具体例

一般的な実装例はX-Campaign-IDヘッダーです。たとえばX-Campaign-ID: summer_sale_2024とすると、ユーザーがどのマーケティング一斉配信に反応したかを送信者が識別できます。SendHQの無料ツール(https://sendhq.cc/tools)を使ってメールの設定を分析し、技術的な設定が配信に最適化されているかを確認できます。

APIとの連携

現在のメールAPIでは、JSONペイロード内の配列またはオブジェクトとしてカスタムヘッダーを渡せます。SMTPのデータストリームを手作業で組み立てる代わりに、APIがフォーマットを処理し、メッセージが配信キューに入る前にヘッダーがMIME構造の正しい位置に配置されるようにします。

よく寄せられる質問

カスタムヘッダーはメールの到達率に影響しますか?

一般的には影響しませんが、既知の迷惑メールのパターンを含むヘッダーや長すぎるヘッダーは、メッセージのスパムスコアを上げる可能性があります。

受信者はカスタムヘッダーを見られますか?

ほとんどのメールクライアントはデフォルトで非表示にしていますが、どのユーザーでもメールのソースを表示すればすべてのヘッダーを確認できます。

X-プレフィックスは今でも必要ですか?

RFC 5322では非標準ヘッダーにX-プレフィックスを付けることが推奨されていましたが、現在のほとんどのメールサーバーでは厳密には必須ではなくなっています。

一次情報源