如何为外部邮件分析(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 个赞