内功篇Paid
出海建站必备:一小时搞定自建邮件,免费!
封面图
做出海产品,邮件是绕不开的。
用户注册要发验证邮件,付款成功要发收据,密码重置要发链接,后面做 Newsletter 也得靠邮件。
在接入邮件服务之前用的 Supabase 自带的邮件服务,测试下来发现,Gmail 邮箱一直收不到,垃圾箱都找不到。
Supabase 免费版用的是共享 SMTP,发件域名不是你自己的,Gmail 大概率直接把它干掉了。
为啥选 Resend
市面上邮件服务不少,我大概看了一圈。
SendGrid 是老牌了,稳定,但配置复杂,Dashboard 也不太好用。AWS SES 最便宜,5 万封只要 5 美元,但你得自己搞 IAM、SNS 回调、退信处理那一堆东西。Mailgun 功能全,但免费额度太少。
最后选了 Resend,几个原因:
API 真的简洁,5 行代码发一封邮件。免费版每月 3000 封,早期产品完全够用。

域名验证也简单,加几条 DNS 记录等几分钟就搞定。而且它自带 Audience 功能,后面做 Newsletter 不用再接别的服务。
Resend 是做 React Email 的团队搞的,对 Next.js 项目友好。如果你技术栈是 React + Next.js,用起来会很顺手。
注册 + 添加域名
去 resend.com 注册账号。免费版可以添加 1 个域名,进 Dashboard → Domains → Add Domain。
我用的是子域名 mail.xxxx.net,好处是不影响主域名的 DNS 记录,也不会跟其他服务冲突。
添加之后 Resend 会给你几条 DNS 记录,SPF、DKIM、DMARC,去你的域名服务商加上就行。Cloudflare、Namesilo 都一样,加完等几分钟验证通过。

用子域名而不是根域名,这是邮件行业的最佳实践。万一发送信誉受损,不会波及主域名。
## 创建 API Key
Dashboard → API Keys → Create API Key。

权限这里注意一下。如果只用来发交易邮件(注册验证、付款收据这些),Sending access 就够了。如果后面还要做 Newsletter,管理订阅者列表,需要 Full access 权限。
**Key 只显示一次,复制保存好。**
## Supabase 接入自定义 SMTP
这一步解决注册验证邮件的送达率问题。
去 Supabase Dashboard → Authentication → SMTP Settings,开启 Custom SMTP。

填这些:
```javascript
Hos