外部メール分析(Netcore)用のダイジェストメールにカスタムX-TAGSヘッダーを追加する方法

こんにちは皆さん、

私はセルフホスト型のDiscourseユーザーで、送信するメールにカスタムヘッダー、具体的にはX-TAGSを追加する方法を探しています。目的は、より詳細な分析と追跡のために、メールサービスプロバイダー(Netcore Email API)と統合することです。例えば、週次ダイジェストのような特定の種類のメールにタグを付け、メールエンゲージメントをより詳細に把握したいと考えています。

問題点:

週次ダイジェストとして送信されるすべてのメールに、X-TAGS: Digestのようなヘッダーを追加する必要があります。このヘッダーは内部追跡用であり、メールプロバイダーによって配信前に削除されるため、エンドユーザーには表示されません。

すでに調査したこと:

  1. サイト設定: /admin/site_settings/category/emailページを確認し、email custom headers設定を見つけました。しかし、これはすべてのメールに静的なヘッダーを追加するようです。これを動的にしたり、特定の種類のメール(ダイジェストなど)にのみ適用したりできるかどうかは不明です。
  2. 既存のフォーラムトピック: Discourse Metaフォーラムでカスタムヘッダーに関するいくつかの議論を検索しましたが、ほとんどはメール件名にトピックタグを追加することや、ユーザー側のフィルタリング(Gmailなど)に焦点を当てており、外部メール分析のためのものではありませんでした。これを行うための、公式に文書化された簡単な方法はないようです。

私の質問は以下の通りです:

  1. ダイジェストメールにのみX-TAGSのようなカスタムヘッダーを追加できる、組み込みの方法や特定のサイト設定を見落としていますか?
  2. もしそうでない場合、カスタムプラグインで実現できる機能でしょうか?
  3. コアコードの変更が唯一の解決策でしょうか?もしそうであれば、どちらのファイルを確認すればよいかなど、方向性を示していただけますか?

どのようなガイダンスや提案でも大歓迎です。ご協力ありがとうございます!

「いいね!」 1

いいえ、これは標準ではサポートされていません。すべての送信済みメールにグローバルに適用される email custom headers サイト設定を除いては。

はい、カスタムプラグインが最適なアプローチになります。

ダイジェストメールの現在のフローは次のとおりです。

プラグインは、メッセージ構築プロセス(Email::MessageBuilder)にフックして、ダイジェストの場合にのみ、カスタムヘッダーを条件付きで(できればモディファイア経由で)挿入できます。

「いいね!」 2