Resend 是近几年很受欢迎的邮件 API,接口干净、文档好、和 React Email 配合得很好。BulkMail 的设计思路和它接近:一个 HTTP 接口、自动签名、Webhook 回调。那两者差在哪?
说明:下面关于 Resend 的信息来自撰写时(2026 年 11 月)的公开资料,价格和政策可能已经调整,请以 Resend 官网 为准。
相同的地方
- 都是 REST API,一个 POST 请求就能发信,任何语言都能用。
- 都要求验证发件域名,自动做 DKIM 签名。
- 都有 Webhook,能收到送达、退信、投诉事件。
- 都有免费额度,适合先试再说。
主要区别
| BulkMail | Resend | |
|---|---|---|
| 界面和文档语言 | 中文 | 英文 |
| 付款方式 | USDT(自动开通)、支付宝、微信、银行转账 | 国际信用卡 |
| 计价单位 | 人民币 / USDT | 美元 |
| 免费版和付费版的 IP | 分开的发信 IP 池 | 以官网说明为准 |
| 生态 | 专注发信接口 | React Email 等配套工具更丰富 |
什么情况下 BulkMail 更合适
- 团队主要用中文沟通,希望文档、控制台、报错提示都是中文。
- 没有国际信用卡,或者更习惯用 USDT、支付宝、微信付款。
- 在意免费用户和付费用户的发信 IP 是否隔离。
什么情况下 Resend 更合适
- 团队已经在用 React Email,希望和发信服务深度集成。
- 需要更丰富的配套功能和更成熟的英文社区。
从 Resend 迁移过来要改多少
不多。两者的请求格式很接近,主要改三处:
- 接口地址换成
https://bulkmail.dev/emails; - API Key 换成 BulkMail 控制台生成的;
- 在 BulkMail 添加并验证发件域名(DKIM 记录的 selector 不同,原来的记录可以保留,不冲突)。
await fetch("https://bulkmail.dev/emails", {
method: "POST",
headers: { Authorization: "Bearer mk_your_api_key", "Content-Type": "application/json" },
body: JSON.stringify({
from: "Acme <hello@acme.com>",
to: "user@example.com",
subject: "欢迎加入",
html: "<p>感谢注册!</p>",
}),
});
想先试试的话,免费注册就能用,每天有 100 封免费额度。