Cloudflare自己的本地电子邮件服务捆绑, 或像通知一样调用外部邮件API。
我将走过这两条路, 但我想标出一些关于 本地选择的正面 很容易错过的东西, 直到你真正建立它: 它目前需要工人付费计划, 而不仅仅是一个Cloudflare账户。
如果你在自由工人级别上,只想发送一个密码重置邮件,那就值得在花费时间之前知道.
选项一: Cloudflare的原生电子邮件服务捆绑 Cloudflare的电子邮件服务(既包括发送也包括接收)让一个工人通过捆绑发送电子邮件,没有外部的API密钥.
到现在为止,它仍然在β中,上面有一个真正的大门: 发送给任意的接受者需要工人付费计划, 在你完全进入一个域之前,绑定只能发送到目的地地址,你已经明确核实了.
设置是这样的 : 在 Cloudflare 仪表板中,请到 Compute > Email Service > Email Sending ,点击 Onboard Domain,并选择您要发送的域.
Cloudflare增加了它自动需要的DNS记录——一个SPF记录,一个DKIM记录,一个DMARC记录,和一个子域上的MX记录.
这通常在几分钟后完成,虽然Cloudflare说它可以长达24小时.
添加绑定到您的 Wrangler 配置 : 从您的工人发送: 在您以此为基础建立之前, 有几件事值得了解 : 默认情况下, 模拟绑定本地 —— 电子邮件被登录到您的控制台, 而不是实际发送 —— 除非你设定绑定, 以便在本地开发期间发送真实的邮件 。
您可以限制哪些发件人和收件人可以使用绑定(,),不管你选择哪种发送方法,这都是值得的。
选项 2: 调用外部电子邮件 API Over facket () 这是更可移植的图案,值得注意的是,它特别适合工人运行时间有具体原因:工人运行在V8隔离上,而不是节点.js,因此任何假设节点特有内置的库都能够悄悄地以令人讨厌的方式破解调试.
您拨打的普通HTTP API没有这种风险, 因为一开始没有软件包不兼容—— 这正是形状通知,因为它根本没有SDK。
将您的 API 密钥存储为秘密 : 从你的工人中调用 API: 环境变量和秘密 工作方式与他们为其他工人所做的完全相同 —— 这里与您提到的其他任何秘密没有区别 , 这也是为什么这个整合在您之前与任何外部 API 设置了一个工人后, 感觉不像一个特殊的情况.
这就是整个集成——没有约束在Wrangler中配置,没有通过Cloudflare的仪表板专门登入域名(你仍然通过标准SPF/DKIM/DMARC DNS记录直接通过Notify验证一个域名),它的工作原理相同,无论这个Worker是叫Notify的唯一东西,还是你还有一个Node后端在别处做同样的事情.
由工人弹出 如果您想知道电子邮件在没有投票的情况下失败, 如果您想要完整请求/ 回复形状, 请在数分钟内完成 。
接收电子邮件怎么办?
Cloudflare的电子邮件服务也处理入境的路由, 接收寄到您的域的邮件, 通知完全不这样做;它只是外出发送.
如果你的工人需要同时发送和接收电子邮件,你可能会最终使用Cloudflare的电子邮件游走到入境的作品,不管是哪个提供者处理出入境的发送,因为这具体是一个Cloudflare域域功能,而不是任何第三方的电子邮件API所取代的东西.
在您飞船之前进行测试 对于本地装订,请记住 默认不会发送任何信息,它记录