本页由英文自动翻译。

阅读英文版
Proxy Mail QA

收不到测试邮件?

通常邮件根本没有从应用发出。下面说明如何判断,以及如何解决常见原因。

更新于

唯一的要求

你的应用需要能向任意地址发信。处于沙盒或测试模式的邮件服务商只向你验证过的地址发信,所以它们的邮件无法到达任何测试收件箱,包括我们的。

在应用中检查地址

在应用中,从账号菜单打开 Troubleshoot,然后粘贴地址。它会显示是否有该地址的邮件到达我们这里,以及我们拒收了什么、原因是什么。

我们拒收邮件时,Accounts 中该地址所在行也会注明。等待了几分钟仍没有邮件的地址会显示 Not arriving? 链接。

什么都没到达我们这里?那么邮件在到达我们之前就停住了。按下面的原因逐一排查。

所有地址同时收不到邮件,包括以前能收到的?请查看我们的状态页是否有故障。

常见原因

  1. 应用的邮件服务商只向已验证的地址发信。沙盒和测试模式,例如获得生产访问权限之前的 Amazon SES,或没有域名的 Resend,会悄悄跳过其他所有地址。见下方的服务商列表。
  2. 应用没有发送这封邮件。在应用日志或其邮件服务商的控制台中查找这封邮件。注册失败、在设置中关闭了邮件、后台任务出错,从我们这边看都一样。
  3. 服务商跳过了该地址。如果之前发往该地址的邮件被退回(例如在地址过期后),服务商可能已把它加入抑制列表,不会再向它发信。把它从列表中移除,或使用新地址。
  4. 地址输错了。从该地址所在行复制,不要重新输入。名字后加 +tag 没问题:name+run2@ 仍会送到 name@。
  5. 应用被限速了。认证服务会限制邮件数量:Supabase 的内置邮件每小时发送 2 封(使用你自己的 SMTP 时默认每小时 30 封),Amazon Cognito 的每个 AWS 账号每天 50 封。频繁注册的测试套件往往会先触及上限。
  6. 地址已过期或其项目已归档。发往它的邮件会被拒收。在地址过期前延长有效期,或创建新地址。
  7. 我们拒收了。超过 5 MB 的邮件会被拒收,每个地址每小时最多接收 60 封邮件,来自少数大型消费类服务(例如 Instagram 或 TikTok)的邮件也会被拒收,除非项目设置了例外。我们拒收邮件时,地址上会显示拒收内容和原因。

只向部分地址发信的邮件服务商

应用刚起步时很常见。每一项都是应用邮件服务商中的一个设置;服务商不发的邮件,任何测试收件箱都收不到。

Amazon SES

新账号从沙盒开始,只向已验证的地址和域名发信。每个 AWS 区域都有自己的沙盒。解决方法:为应用发信所在的区域申请生产访问权限。文档

Supabase Auth 的内置邮件

只向你 Supabase 项目团队的成员发信,并且每小时只发 2 封。解决方法:在 Authentication 下设置自定义 SMTP。如果你的测试经常注册,再在 Rate Limits 下提高每小时邮件上限。文档

Resend

在你验证域名之前(使用 onboarding@resend.dev 发信时),它只向你自己的 Resend 账号邮箱发信。解决方法:验证一个域名,并从该域名下的地址发信。文档

Mailgun

沙盒域名最多只向 5 个授权收件人发信,且每人都需要确认。解决方法:从你自己的域名发信。这需要 Mailgun 的付费套餐或已绑定银行卡。文档

Postmark

在 Postmark 批准账号之前,它只向你已验证域名下的地址发信。解决方法:在你的 Postmark 账号中申请批准。文档

Firebase Authentication、Clerk 和 SendGrid 会向任意地址发信。Auth0 和 Amazon Cognito 的内置发信服务也是如此,但 Auth0 每分钟只发 10 封,Cognito 每个 AWS 账号每天只发 50 封(计数在 UTC 09:00 重置),所以测试时请设置你自己的服务商。

Proxy Mail QA 会拒收什么

发往不存在、已删除或已过期地址的邮件会被拒收。对于有效地址,以下情况我们会拒收:

每一项都会连同时间显示在该地址上。我们只保留原因、时间和大小,从不保留发件人或邮件内容,并且会随地址一起删除。

在到达我们之前被拒收

我们的邮件服务器由 Cloudflare 提供。它们会在 Proxy Mail QA 看到邮件之前拒收部分邮件:最常见的原因是发信域名未通过 SPF、DKIM 或 DMARC 检查,有时是邮件被丢弃或无法投递。每一封都会以 blocked 状态显示在该地址上,附带发件方域名、其 SPF、DKIM 和 DMARC 检查结果及原因;等待没有结果时给出的提示也会说明这一点。修复发信域名的记录通常就能解决问题,而且这不只关系到测试:真实的收件箱也会拒收同样的邮件。

仍未解决?

发邮件到 hello@proxymail.qa,写明测试地址、应用向它发信的时间(注明你的时区)以及应用使用的邮件服务商。请不要发送密码或 API 密钥。

在你的下一次注册测试中试试

免费版,无需信用卡。创建一个地址,看着验证码或链接送达。

免费创建账号打开应用

常见问题

处于沙盒模式的邮件服务商发出的邮件,能被任何测试收件箱收到吗?

不能。处于沙盒或测试模式的服务商完全不会向未验证的地址发信,所以 Proxy Mail QA 或任何其他收件箱服务都收不到东西。按上面的列表,在服务商中开启向任意地址发信。

Proxy Mail QA 能看到从未送达的邮件吗?

只有被我们的邮件服务器拒收的才能看到。未通过 SPF、DKIM 或 DMARC 检查的邮件,或在我们服务器上被丢弃的邮件,会在约 15 分钟内以“已拦截”状态显示在该地址上,并附上原因。从未离开应用或其邮件服务商的邮件根本不会到达我们这里。所以应用才会显示“没有任何邮件到达我们这里”:邮件在到达我们之前就停住了,通常是在应用或其邮件服务商那里。

没有邮件到达时,智能体或测试脚本会看到什么?

当等待验证码或链接的结果为空时,API 和 MCP server 会给出提示:我们为该地址拒收了什么;如果从未有邮件到达,则给出最可能的原因,并附上本页链接。它们还会列出所有拒收记录及其原因和时间。

查看我们解决的所有邮件测试问题

对本页有疑问?

可以用任何语言提问。文档可以立即回答,你也可以把问题发给 Proxy Mail QA 团队,他们会用英文回复。