SendGrid vs Mailgun vs Resend:2026年邮件服务商深度对比
无论是发送交易邮件(密码重置、订单确认)还是营销邮件(Newsletter、促销活动),选择一款可靠的邮件服务商都至关重要。SendGrid、Mailgun 和新兴的 Resend 是开发者社区中最受关注的三款产品。
一、平台概览
| 特性 | SendGrid | Mailgun | Resend |
|---|---|---|---|
| 所属公司 | Twilio | Sinch | 独立(YC W23) |
| 成立年份 | 2009 | 2010 | 2023 |
| 核心定位 | 营销邮件+交易邮件 | 开发者邮件 API | 开发者邮件体验 |
| 免费额度 | 100封/天 | 5,000封/月(前3月) | 500封/月 |
二、价格对比
2.1 免费套餐
| 平台 | 免费额度 | 限制 |
|---|---|---|
| SendGrid | 100 封/天 | 每日限制,不可累积 |
| Mailgun | 5,000 封/月(前 3 个月) | 需验证域名,有发送限制 |
| Resend | 500 封/月 | 无时间限制,功能完整 |
2.2 付费套餐(性价比)
| 平台 | 起步价 | 50,000 封/月 | 100,000 封/月 |
|---|---|---|---|
| SendGrid Essentials | $19.95/月(50K 封) | $19.95 | $34.95 |
| Mailgun Foundation | $35/月(50K 封) | $35 | $50 |
| Resend Pro | $20/月(50K 封) | $20 | $35 |
注:以上为基础套餐价格,额外发送量有单封计费方案。
三、送达率
3.1 送达率对比
| 平台 | 交易邮件送达率 | 营销邮件送达率 | 延迟表现 |
|---|---|---|---|
| SendGrid | 97-98% | 95-97% | 良好 |
| Mailgun | 97-99% | 95-98% | 良好 |
| Resend | 98-99% | 96-98% | 优秀 |
3.2 影响送达率的因素
送达率不仅取决于邮件服务商,还与以下因素密切相关:
- 域名信誉:新域名的发送信誉需要逐步建立
- SPF/DKIM/DMARC 配置:未正确配置会导致邮件被标记为垃圾邮件
- 邮件内容质量:垃圾邮件关键词、过多图片链接会影响送达
- 发送频率:突然大量发送会触发 ISP 的限制
- 退信率:高退信率会严重损害域名信誉
四、API 与开发者体验
SendGrid
// SendGrid Node.js SDK
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
to: '[email protected]',
from: '[email protected]',
subject: '订单确认 #12345',
html: '<h1>感谢您的购买!</h1><p>您的订单已确认。</p>',
};
sgMail.send(msg).then(() => console.log('发送成功'));
特点:
- SDK 支持多种语言
- 动态模板功能强大
- 完善的统计和分析
- 文档丰富但稍显复杂
Mailgun
// Mailgun API
const formData = require('form-data');
const Mailgun = require('mailgun.js');
const mailgun = new Mailgun(formData);
const mg = mailgun.client({ username: 'api', key: process.env.MAILGUN_API_KEY });
mg.messages.create('yourdomain.com', {
from: '[email protected]',
to: ['[email protected]'],
subject: '验证您的邮箱',
html: '<p>请点击链接验证邮箱</p>',
});
特点:
- API 简洁直观
- 邮件路由和解析功能强大
- 详细的发送日志
- 可自定义 SMTP 端点
Resend
// Resend Node.js SDK
import { Resend } from 'resend';
const resend = new Resend(process.env.RESEND_API_KEY);
const { data, error } = await resend.emails.send({
from: '[email protected]',
to: ['[email protected]'],
subject: '欢迎加入!',
html: '<strong>欢迎注册!</strong>',
});
特点:
- API 设计最现代、最简洁
- React Email 原生支持(可用 React 组件写邮件)
- 冷启动快,开发者体验极佳
- 平台较新,生态正在快速发展
五、功能对比
| 功能 | SendGrid | Mailgun | Resend |
|---|---|---|---|
| 邮件模板 | ✅(动态模板) | ❌(需自行实现) | ✅(React Email) |
| A/B 测试 | ✅ | ❌ | ❌ |
| 统计分析 | ✅(详细) | ✅(基础) | ✅(基础) |
| Webhooks | ✅ | ✅ | ✅ |
| SMTP 接入 | ✅ | ✅ | ✅ |
| 邮件解析 | ❌ | ✅(入站邮件) | ❌ |
| API 密钥管理 | ✅ | ✅ | ✅ |
| 子用户管理 | ✅ | ❌ | ❌ |
| 批量发送 | ✅ | ✅ | ✅ |
| 垃圾邮件检测 | ✅ | ✅ | ✅ |
| IP 池管理 | ✅(付费) | ❌ | ❌ |
六、SMTP 配置参考
无论选择哪家,最终都需要配置 SMTP 参数:
| 参数 | SendGrid | Mailgun | Resend |
|---|---|---|---|
| SMTP 服务器 | smtp.sendgrid.net | smtp.mailgun.org | smtp.resend.com |
| 端口(TLS) | 587 | 587 | 587 |
| 端口(SSL) | 465 | 465 | 465 |
| 认证方式 | API Key | API Key | API Key |
七、选型建议
选 SendGrid 的场景
- 需要发送大量营销邮件(Newsletter)
- 需要 A/B 测试和详细统计分析
- 需要动态邮件模板
- 预算有限但需要稳定服务
选 Mailgun 的场景
- 主要发送交易邮件
- 需要邮件解析和入站邮件处理
- 需要详细的 API 日志排查问题
- 需要自定义 SMTP 端点
选 Resend 的场景
- 追求最佳的开发者体验
- 使用 React/Next.js 技术栈
- 希望用 React 组件编写邮件模板
- 项目规模不大,对高级管理功能需求少
八、总结
三款邮件服务各有特色。SendGrid 功能最全面,适合需要完整邮件营销功能的场景;Mailgun 稳重大气,适合对 API 灵活性和控制力要求高的开发者;Resend 体验最佳,是现代开发者的清新选择。建议根据技术栈和业务需求选择,也可以同时使用多个服务——用 Resend/SendGrid 发交易邮件,用 Mailgun 处理入站邮件和日志。