没有 Cloudflare 电子邮件路由教程首先解释该服务不做什么。他们分五个步骤显示配置,确认电子邮件已到达目的地,然后关闭。排除的情况是转发开始拒绝合法邮件、catch-all 变成垃圾邮件水龙头,或者 Worker 因为一行代码引发异常而丢弃客户端电子邮件。这些情况是存在的,它们是可预测的,并且在将服务投入生产以解决关键问题之前值得了解它们。
这里不存在通过域发送
最重要的一点,也是最常被误解的一点:电子邮件路由接收电子邮件。仅有的。无法使用此服务从 0 发送消息。当您设置转发并且有人向您发送电子邮件至 1´ 时,您会在 Gmail 中收到该电子邮件。当您在 Gmail 中回复时,收件人看到的发件人是您的 Gmail 地址,而不是您的域别名。
要通过您自己的域发送电子邮件,您需要单独的服务:Resend、SendGrid、Mailgun、Amazon SES、Postmark、Brevo。其中每一个都需要自己的 DNS 记录 - 特定于所选提供商的 SPF 和 DKIM。 Cloudflare 会自动配置传入的 SPF 记录,但与传出提供商所需的记录无关。任何在同一 DNS 配置中混合这两个流的人最终都会在两个方向上出现 [身份验证 12] 错误。
转发和 DMARC 的送达率问题
当 Cloudflare 转发电子邮件时,它会从自己的服务器(而不是发件人的原始服务器)中继消息。这会与 DMARC 产生摩擦,影响特定但重要的案例。
如果原始发件人具有 2 的 DMARC 策略(常见于银行、大公司、Gmail 和 Outlook 等电子邮件提供商),并且电子邮件通过 Cloudflare 转发,则最终目标服务器会收到一条消息,其标头 3 显示原始发件人的域,但其发送 IP 属于 Cloudflare。 DMARC 对齐失败,因为 SPF 根据 4 上的域(银行、公司)检查发送 IP (Cloudflare),但它们不对齐。
Cloudflare 在转发时使用 ARC(Authenticated Received Chain),它保留了原始跃点的身份验证信息。这改善了理解并尊重 ARC 的提供商(包括 Microsoft、Google)的情况。但这并不普遍。即使使用 ARC,一些具有更严格策略的企业电子邮件服务器仍然拒绝转发的电子邮件。实际结果是:您可能会错过从严格的 5 域发送的合法电子邮件,并且 Cloudflare 无法控制目标服务器的接收策略。
电子邮件路由中没有完整的解决方案。任何需要保证递送到所有可能发件人的人都需要一个带有自己收件箱的解决方案 - Google Workspace、Fastmail、Microsoft 365。
包罗万象以及随之而来的垃圾邮件
启用包罗万象 6 非常有用:您在表单、新闻通讯和活动中提供的任何地址都会落入同一个收件箱,而无需提前创建别名。问题在于垃圾邮件发送者会扫描域并尝试将电子邮件发送到随机地址。启用捕获所有功能后,每次尝试都会到达您的收件箱。
在网络上有一定曝光度的域每天可能会收到数百封发送到从未存在过的地址的电子邮件 - 7 、8 、9 、10 、随机变量。大家都到了。 Gmail 有垃圾邮件过滤器,但其音量会产生噪音。
电子邮件路由本身的缓解措施是将包罗万象的内容路由到电子邮件工作人员,而不是直接发送到目标地址。 Worker 可以检查目标地址是否是您定义的合法别名之一,拒绝任何不匹配的内容,并仅转发其余内容。您可以保持包罗万象的灵活性,而无需接受所有垃圾。
在生产中丢弃电子邮件的 Worker
Email Workers 有一个让开发人员措手不及的行为:如果 Worker 抛出未捕获的异常,则消息将被拒绝并显示 5xx 错误。没有重试,没有队列,没有死信。电子邮件消失。
想象一下,一个工作人员通过 POST 到外部 API 来创建支持票证。外部 API 已关闭。 Worker 抛出网络错误。客户请求支持的电子邮件被拒绝,除非客户再次尝试并投诉,否则您永远不会发现结果。
正确的模式是将所有处理逻辑包装在 try/catch 中,并在 catch 中调用 11 以获得手动排序地址。邮件不会丢失,外部服务回来后可以处理失败的事情。如果没有此回退,任何 Worker 依赖项中的任何短暂故障都会导致电子邮件丢失。
当你超越基本情况时会发生什么变化
简单地将几个别名转发到 Gmail 或 Fastmail 地址即可可靠地工作,不会出现意外。添加依赖项时会出现问题:具有可能失败的外部调用的工作人员、没有过滤的包罗万象、发件人受到 DMARC 限制的情况。在这些情况下,该服务仍然有用,但它要求您了解故障面并构建相应的缓解措施。
Cloudflare 没有突出地记录这些情况,因为大多数用户不会遇到它们。但对于更严重依赖电子邮件的团队(客户支持、运营沟通、与使用严格 DMARC 策略的合作伙伴集成),值得在迁移前进行测试,尤其是检查来自大型企业提供商的发件人的行为。
另请阅读
- [Cloudflare 电子邮件路由:在您的域上接收电子邮件 - 以及不包括的内容13
- [带有电子邮件路由的 SPF、DKIM 和 DMARC:Cloudflare 设置了什么以及您还需要做什么14
- [电子邮件路由 vs Improvmx vs 转发电子邮件:诚实的比较15
- [电子邮件路由+工作人员:以编程方式在边缘处理电子邮件16
- [Cloudflare DNS:远远超出解析名称的网络基础设施17
- [Cloudflare 负载均衡和地理转向:当 DNS 成为智能流量层18
