← 返回博客列表

SendGrid 与 Mailgun 怎么用:账号审核、域名验证、发信报错与进垃圾箱全解

2026-10-18 · 刺猬VPN

自己搭邮件服务器发信,几乎一定会被各大邮箱当成垃圾邮件:新地址没有信誉,云服务器的 25 端口还常被封。所以做网站、做 App 的开发者,一般会把注册验证码、密码重置、订单通知这类「事务邮件」交给专门的发信服务。SendGrid(现属 Twilio)和 Mailgun(现属 Sinch)是最常被选择的两家,都提供 HTTP 接口和 SMTP 中继,也都有发信日志和退信统计。

从国内使用时,困难通常不在写代码,而在前期:控制台打开慢、注册后账号停在审核状态、发件人没有验证导致接口返回 403、Mailgun 沙盒域名只能发给授权收件人、信发出去了却进了对方的垃圾箱。这些问题分属网络、账号审核、域名配置和发信信誉四个层面,下面先讲两家的差别,再给出配置步骤和排查表。免费额度与套餐近年调整较多,以官方最新条款为准。

SendGrid 与 Mailgun 的差别

两家都能满足个人项目的发信需求,选择上主要看两点:一是你的用户在哪,欧盟用户多又在意数据驻留,可以用 Mailgun 的欧盟区;二是你要不要做营销邮件,SendGrid 的营销模块和模板编辑器更完整。无论选哪家,都需要一个自己能改 DNS 记录的域名,这是后面一切配置的前提。

对比项SendGridMailgun
母公司TwilioSinch
新账号流程注册后常有人工审核,需说明用途先给沙盒域名,绑定自有域名后正式发信
发件人验证单个发件人验证或整域名验证整域名验证为主
接口地区全球统一接口分美国与欧盟两个接口地址
模板功能可视化动态模板模板功能较简单
适合场景需要营销邮件与事务邮件并用偏开发者、只发事务邮件
免费方案有试用或免费档,规则常调整有试用或免费档,规则常调整

从注册到发出第一封信:分步操作步骤

  • 第一步:先把网络线路准备好。连上刺猬VPN 后再打开 SendGrid 或 Mailgun 的控制台,注册页的人机验证、控制台的图表和文档都依赖境外资源。客户端用自定义用户名和密码注册,不需要邮箱和手机号;
  • 第二步:注册发信服务账号。两家都要求用邮箱注册并验证,建议用公司域名邮箱,填写的网站地址要能正常访问,用途说明写清楚是「注册验证码与通知类事务邮件」;
  • 第三步:等待审核。SendGrid 新账号常会收到要求补充信息的邮件,如实回复网站用途、发信量和收件人来源,不要写「群发」「推广」;
  • 第四步:验证域名。SendGrid 在「Settings」→「Sender Authentication」里选「Authenticate Your Domain」,Mailgun 在「Sending」→「Domains」里添加子域名,例如 mg.example.com,系统会给出几条 CNAME 或 TXT 记录;
  • 第五步:到域名的 DNS 管理处添加这些记录。用 Cloudflare 托管 DNS 时,CNAME 记录要把橙色云朵关掉,设为「仅 DNS」,否则验证会失败;
  • 第六步:回到控制台点「Verify」。DNS 生效通常几分钟到几小时,验证不通过就用 nslookup 或 dig 查一下记录是否已经可见;
  • 第七步:创建 API 密钥。SendGrid 在「API Keys」里创建,只勾选「Mail Send」权限;Mailgun 在「API Security」里创建发信密钥,密钥只显示一次,立刻存入环境变量;
  • 第八步:发一封测试信。用 curl 调用接口,发件地址必须属于已验证的域名,先发给自己的几个常用邮箱,看是否进了收件箱。

按现象排查:审核、验证、接口与投递

发信问题的排查顺序是:接口有没有返回成功,控制台日志里有没有这封信,对方邮箱有没有收到,收到后进了收件箱还是垃圾箱。前两步属于你和服务商之间,后两步属于服务商和收件邮箱之间,对应的处理办法完全不同。先确定卡在哪一步,再对照下面的现象处理。

  • 控制台图表空白或一直加载:境外资源访问不畅,确认线路已连上,关闭广告拦截插件;
  • SendGrid 显示账号正在审核:按邮件要求补充资料,说明业务与发信场景,审核期间无法正式发信;
  • 接口返回 401:API 密钥错误或已被删除,SendGrid 还要确认请求头写成「Authorization: Bearer 密钥」;
  • SendGrid 返回 403 并提示发件地址与已验证的身份不匹配:发件地址不在已验证的域名或单个发件人里;
  • Mailgun 提示沙盒域名仅供测试:沙盒只能发给在控制台添加过的授权收件人,绑定自有域名后才能正常发信;
  • Mailgun 返回 404 或域名不存在:账号在欧盟区,却调用了美国区的接口地址,改用 api.eu.mailgun.net;
  • 接口成功但对方收不到:在控制台的活动日志里查这封信的状态,显示「Bounced」是地址无效,显示「Dropped」是该地址此前退过信被列入抑制名单;
  • 信进了垃圾箱:SPF、DKIM、DMARC 有一项没配好,或者内容像营销邮件,先补齐 DNS 记录再精简内容。

线路与发信方式怎么选

线路只解决你的开发机访问控制台和文档这一段;正式上线后,服务器调用发信接口是服务器与服务商之间的事,与本地线路无关。如果服务器在国内,调用境外发信接口偶尔会超时,可以把发信放进队列异步重试。用 SMTP 时避开 25 端口,改用 587 或 2525。实际可用性取决于当前网络环境。

对比项HTTP 接口SMTP 中继免费节点调试会员节点调试
适合环境后端代码、函数老系统、只支持 SMTP 的程序第一次注册与配置日常开发与看日志
端口443587、465 或 2525不涉及不涉及
被封风险低部分云服务器封 25 端口不涉及不涉及
流量规则不涉及不涉及永久免费、不限流量、不限速时长套餐有效期内不限流量、不限速
调试便利返回明确的错误码错误信息较简略能打开控制台即可长时间调试更稳

DNS 记录对照

最常见的坑是 SPF 记录重复:域名原来就有一条企业邮箱的 SPF,又为发信服务新加一条,结果两条都失效。正确做法是把多个 include 写进同一条记录。另一个坑是 SPF 的查询次数上限:一条记录里引用的外部域名层层展开后,总查询次数不能超过十次,接的服务太多时要精简,否则收件方会直接判定 SPF 无效。配置完成后,可以给一个常用邮箱发信,在邮件的「显示原始邮件」里查看 SPF、DKIM、DMARC 三项是否都显示为通过。

记录作用配置要点
SPF声明哪些服务器可以代表你的域名发信一个域名只能有一条 SPF 记录,多家服务合并写
DKIM给每封信加数字签名服务商给的 CNAME 或 TXT,原样添加
DMARC告诉收件方验证失败时怎么处理先用 p=none 观察,再逐步收紧
跟踪域名打开率与点击统计可选,CNAME 指向服务商
MX接收退信与回复Mailgun 收信功能需要,只发信可不配

付款、额度与新域名预热

两家的付费方案都按月发信量分档,超出后按量计费或要求升级,绑定的是国际卡,结算币种为美元。升级前先看清楚是否包含独立发信地址,共享地址池的信誉受其他用户影响,量小的项目用共享池就够,每月发信量很大时才值得买独立地址。账单与额度规则以官方最新条款为准。

新域名、新账号不要一上来就大量发信。收件邮箱会观察一个新发件域名的行为,第一天就发几万封,很容易整批进垃圾箱甚至被拒收。比较稳妥的做法是从每天几百封开始,优先发给活跃用户,退信率和投诉率稳定之后再逐周加量。注册验证码这类用户主动触发的邮件打开率高,是建立信誉最好的起点。

和邮件安全、DNS 托管的分工

SPF、DKIM、DMARC 不只是为了提高送达率,它们也是防止别人冒用你的域名发钓鱼邮件的关键,原理与配置建议见 邮件安全指南。域名托管在 Cloudflare 的,DNS 记录添加、代理开关以及用 Workers 写一个小的发信转发函数的方法,见 Cloudflare 控制台与 Workers 使用指南。

一个常见的组合是:DNS 放在 Cloudflare,事务邮件走 SendGrid 或 Mailgun,企业收信用另外的邮箱服务,三者的 SPF 合并成一条记录,DMARC 报告发到一个专门的邮箱定期查看。

常见报错速查表

现象原因解决办法
接口返回 401密钥错误或请求头格式错核对密钥与 Bearer 写法
403 发件人未验证发件地址不在已验证域名完成域名验证或改发件地址
沙盒域名仅供测试未绑定自有域名添加授权收件人或绑定域名
Mailgun 返回 404欧盟账号调用美国接口改用欧盟区接口地址
日志显示 Dropped地址在抑制名单里确认地址有效后从名单移除
信件进垃圾箱SPF、DKIM、DMARC 缺失补齐记录,精简营销化内容
域名验证不通过CNAME 被 Cloudflare 代理把记录改为仅 DNS

高频问答

  • 问:SendGrid 审核一般要多久?答:通常几个工作日内回复,资料写得越具体越快,以官方处理时间为准;
  • 问:能用 Gmail 地址当发件人吗?答:不建议,无法完成域名验证,送达率也差,应使用自己的域名;
  • 问:为什么用子域名发信?答:把事务邮件和企业收发信分开,信誉互不影响,出问题也好排查;
  • 问:免费额度够用吗?答:小项目的验证码与通知一般够用,额度规则近年常调整,以官方最新条款为准;
  • 问:国内服务器能调用接口吗?答:可以调用,但跨境偶尔超时,建议加队列与重试;
  • 问:API 密钥泄露怎么办?答:立即在控制台删除该密钥,新建一个只含发信权限的密钥并更新环境变量。

长期稳定发信的做法

SendGrid 与 Mailgun 的问题大多在接入前期:控制台访问靠一条稳定的境外线路,审核如实写清用途,域名验证注意 Cloudflare 的代理开关,接口调用看清地区与请求头,送达率靠完整的 SPF、DKIM、DMARC。上线后定期看退信与投诉率,及时清理无效地址,信誉才会越来越好。退订链接、发件人名称和回复地址这些细节也别省,它们直接影响收件人会不会点「标记为垃圾邮件」。

刺猬VPN 采用 HTTPS+AES 加密传输,自定义用户名和密码即可匿名注册,不需要邮箱和手机号;免费节点永久免费、不限流量、不限速,适合第一次注册与配置域名;时长套餐有效期内不限流量、不限速,适合日常开发与查看发信日志,一个账号支持多设备同时在线,按域名和 IP 的智能分流可以让国内依赖与内网服务继续直连。两家的额度与价格以官方最新条款为准,实际可用性取决于当前网络环境。

换刺猬VPN告别连接烦恼:一键连接、连接稳定

刺猬VPN提供永久免费节点,不限流量;无需邮箱,自定义用户名即可匿名注册。一个账号支持多设备同时在线,实际可用性取决于当前网络环境。