即刻App年轻人的同好社区
下载
App内打开
年方二八的李二牛
11月前
独立开发者必看,cloudflare worker其实也能发邮件,而且是比较优雅地发邮件

开局一个域名,利用Cloudflare Workers&MailChannels构建的邮件发信 API

下文可能出现的缩写
CF = Cloudflare
MC = MailChannels

为什么有这样的需求?
1. 小团队开发者不可以不考虑成本,仅使用固定的几个服务器,在大流量服务面前,带宽可能经常捉襟见肘。Cloudflare 以强大的边缘网络著称,在轻量非计算密集型业务的情况下,表现远超使用多台物理服务器进行负载均衡。
2. 邮件服务并不便宜,自建服务时间精力成本很高切不一定稳定可靠。
为什么不选择其他方案?
1. Saas 厂商成本高。其他提供restful api的邮件服务商典型的一个月要几十美金。
2. 现成邮箱无法实现。CF worker不是完全的node环境,无法直接调用飞书、gmail等第三方邮箱的smtp服务。
3. 服务延时高,不稳定,运维成本高。中国大陆机房到海外的国际信道非常拥塞,单独将邮件发送服务部署在一个低带宽的物理服务器上,很难保证邮件高效发送,经常容易出现超时等问题。

基本步骤
1. 注册一个域名并将域名转移到 Cloudflare 上
2. 实现通过demo@li2niu.com收邮件。创建一个邮件路由将需要运营的邮件地址demo@li2niu.com转发到常用的地址。注意,这里必须使用根域名,因为邮件路由不支持子域名。
3. 实现通过demo@li2niu.com发邮件。创建一个Cloudflare worker,绑定域名到该worker,编写代码实现通过demo@li2niu.com发送邮件;在DNS中配置SPF、DKIM、DMARC解析记录
4. 让邮件发送成为组件或者成为单独服务。

讨论:community.cloudflare.com
为邮件增加DKIM签名:developers.cloudflare.com 或者 support.mailchannels.com

(必看)验证DKIM解析:dmarcly.com
代码参考:github.com
常见问题——MailChannels 域名锁定:community.cloudflare.com
钓鱼邮件高发,如何保护你的邮件域名:www.m3aawg.org 45

针对google邮箱,需要设置SPF解析并保持DKIM与之一致

toolbox.googleapps.com

看下这封邮件实际效果,我的这个域名功能非常多,主域名是用来做短链接,然后解析一堆subdomain用来部署网站,同时配置一个support@li2niu.com收邮件,发邮件则通过mc。
1115

来自圈子

圈子图片

JitHub程序员

382604人已经加入