再见 Sparkpost

但 Elastic Email 也存在一些问题 Add IsTransactional:true to SMTP Mail Headers to satisfy ElasticEmail - #8 by pfaffman

Jay,谢谢你提出这个问题。让我更好地理解一下:

你指出的情况是:当人们收到来自 Elastic Email 的邮件时,他们会看到一个非常显眼的链接,可以单方面取消订阅邮件接收,而 Discourse 对此一无所知?作为 SA,你也将对此毫不知情?

我没有第一手经验。

听起来他们插入了一个取消订阅链接,并且需要特殊的邮件头来将其移除。我不确定是否有办法让 Elastic Email 通过 webhook 通知 Discourse 关于取消订阅的信息,但在 Configure VERP to handle bouncing e-mails 中并未列出这些选项。

我认为如果你能让 AWS 正常工作,那可能是最好的解决方案,但这对于来这里学习如何配置邮件的人来说并不是一个理想的方案。

Mailgun 用起来非常简单。

谢谢。

这对我来说其实已经无关紧要了,原因如下:SparkPost 也做了完全相同的事情——尽管我得承认,我从未检查过是否有可用的钩子(真蠢,因为确实有,而且现在已经是 2019 年 FGS 了)。

当时我之所以发现这个问题,是因为受影响的网站服务于我所在的本地社区,我偶然遇到了一位不小心点击了 SparkPost 邮件中取消订阅链接的用户,他抱怨自己收不到任何密码重置邮件。不过,SparkPost 对此有审计日志,并且管理员可以重新为用户订阅(当然,需要谨慎使用!),因此一旦我了解到问题所在,修复起来就很简单了。下次我会更好地配置我的电子邮件设置。

不过,你确实让我开始倾向于使用 Mailgun 了,谢谢!

我真希望 Discourse 能提供一种更“通用”的方式来处理 webhook 邮件退信。我们首选的服务商(Postmark)也不在列表中,这意味着我们仍在向那些地址已退信的联系人发送邮件。

如果能有一个神奇的通用 JSON webhook 解析器来处理退信 webhook,那就太棒了!

你的意思是,如果能有一个“通用的 JSON 网络钩子标准”那就太棒了。目前,每家邮件服务商都自行定义格式,因此需要单独的解析器。开发一个能实现该功能的插件并非难事,价格大约在 500 美元左右,或许可以发布到 Marketplace(甚至可能被接受为 PR)。

是的,我刚才在想,如果假设 90% 以上的退信数据都是 JSON 或其他可通过正则表达式解析的格式,那么或许可以通过一个设置来指定 JSON 中代表退信邮箱地址的“字段”,以及可能代表退信类型(硬退信、软退信等)的另一个字段。

我们可以将其命名为“通用入站退信邮件 Webhook 正则解析器”。这个名字读起来很顺口 :stuck_out_tongue: 这或许有助于应对我们未来可能持续面临的此类服务的频繁变动。

我们是一个流量较低的员工内网站点,所以目前可能就先这样将就着用吧。

从另一个线程中,你还可以通过告诉 ElasticMail Discourse 的取消订阅链接位置来移除多余的 ElasticMail 取消订阅链接:将其特别标注为 {unsubscribe:{https://.....}}(我建议在提交拉取请求之前先与支持团队确认)。

这或许可以通过编辑翻译来实现?

我之前也在我的 Discourse 实例中使用 SparkPost,最近收到了 SparkPost 发来的这则通知。
于是我开始寻找替代方案。
我搭建了 SendGrid,目前看来运行良好。我使用的是每月 15 美元的基础套餐。