Handle_mail 对 Postmark 网页钩子的支持

第一次使用 Discourse,既 impressed 于其精良的构建,又赞叹其高度的可定制性!为了避免自行搭建邮件服务器,我想将 Postmark 与 Discourse 集成。Postmark 提供了一个用于接收邮件的 webhook,它会发送包含已解析邮件内容的 JSON 负载。例如,它会将“发件人”(From)字段解析为多个属性,“抄送”(CC)字段也是如此,依此类推。

此外,你还可以选择让 Postmark 在 RawEmail 属性中包含原始邮件。遗憾的是,该属性名称无法更改为 email,而 Discourse 的 handle_mail 端点期望的正是这个名称。

我想到了两种解决方案:

  1. handle_mail 添加一行临时修复代码:如果存在 RawEmail 属性,则将其重命名为 email
  2. 创建一个新端点,将已解析好的邮件加入作业队列,然后在接收器中添加一个新方法来处理已解析的邮件对象。

对于 PR 或后续方向,大家更倾向于哪种方案?

1 个赞

@codinghorror 是否有计划在 Discourse 中用 Rails 6 的 ActionMailbox 替换现有的邮件处理器?它内置了针对多种服务(包括 Postmark)的入口。

目前没有计划替换为 action mailbox,但如果你愿意做一个概念验证,我很乐意审查相关的 PR。

1 个赞