技術解説 · 出典付きの回答
カスタムメールヘッダーとは?定義と実装方法
カスタムメールヘッダーとは、メールメッセージのヘッダー部分に追加される非標準のメタデータフィールドです。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-プレフィックスを付けることが推奨されていましたが、現在のほとんどのメールサーバーでは厳密には必須ではなくなっています。
一次情報源
- RFC 5322:インターネットメッセージ形式 — RFC Editor
- RFC 5321:簡易メール転送プロトコル(SMTP) — RFC Editor