Webhook 处理程序不仅需要测试投递成功的情况,也需要测试投递失败的情况。如果测试止步于发送响应,就无法确认你的应用如何处理后续事件。
Magic 目标地址让你无需到达真实收件箱或终端设备,即可模拟这些结果。请求验证仍然生效,因此也能暴露格式错误的发送请求。
如何发送测试请求?
使用常规的 API 凭据和端点,向已识别的 magic 目标地址发送请求。
无需启用任何测试模式。邮件测试使用 messagebird.dev 上记录的地址。SMS 测试使用下方列出的号码。
模拟收件人遵循正常的事件和签名 webhook 路径。它们不会测试到外部基础设施的投递,因此无法验证真实的收件箱送达或终端设备渲染。
当测试不能联系任何真实收件人时,请只使用已识别的 magic 目标地址。一个请求可以混合模拟收件人和真实收件人。真实收件人将正常投递。
应使用哪些邮件地址?
使用 delivered@messagebird.dev 测试接收服务器的接受行为。下方其他地址用于测试退信、投诉和拒绝处理。
| 地址 | 结果 |
|---|---|
delivered@messagebird.dev | 接收服务器接受该消息。 |
bounce@messagebird.dev 或 hardbounce@messagebird.dev | 硬退信,带有 SMTP 550;用于测试永久失败处理。 |
softbounce@messagebird.dev | 软退信,带有 SMTP 451;用于测试临时失败分类。 |
deferred@messagebird.dev 或 delay@messagebird.dev | 延迟投递,无后续模拟重试。 |
complaint@messagebird.dev 或 spam@messagebird.dev | 垃圾邮件投诉。 |
suppressed@messagebird.dev | 作为已抑制收件人被拒绝,无处理或投递事件。 |
reject@messagebird.dev | 在投递尝试之前被拒绝。 |
匹配不区分大小写。匹配前会去除 +label。例如,bounce+signup-flow@messagebird.dev 仍然触发退信。完整地址保留在事件中,便于你将事件与该测试关联。
只有该域名上记录的名称才是 magic 地址。bounce@yourdomain.com 是普通收件人,messagebird.dev 上未识别的名称同样如此。
模拟退信和投诉不会将地址添加到 Bird 的抑制列表,也不会影响发送信誉。你的应用仍然会收到这些事件,因此请检查你自己的抑制逻辑如何处理它们。
测试邮件投递列出了完整的事件序列和匹配规则。
应使用哪些电话号码?
使用 +15005550006 测试 SMS 投递成功的情况。下方其他号码用于测试拒绝和失败路径。
| 目标号码 | 结果 |
|---|---|
+15005550001 | 提交被拒绝,带有 invalid_destination。 |
+15005550002 | sms.sent,然后 sms.undelivered,带有 unreachable。 |
+15005550003 | sms.sent,然后 sms.failed,带有 provider_unavailable。 |
+15005550004 | sms.sent,然后 sms.failed,带有 blocked_by_carrier。 |
+15005550006 | sms.sent,然后 sms.delivered。 |
+15005550009 | sms.sent,然后 sms.failed,带有 recipient_opted_out。 |
在目标地区中启用美国。使用对美国有效的 from 发送方。字母数字发送方在美国会被拒绝,因此无法成功测试这些号码。
向 +15005550006 发送可测试你的成功处理逻辑。使用 +15005550002 检查单独的未送达路径。SMS 迁移指南包含一个冒烟测试流程。
测试会产生什么费用或影响?
模拟发送消耗真实配额,并可能影响你的统计数据。
向 magic number 发送的 SMS 按目标地址的正常费率计费。请控制重复测试的次数,因为每次模拟发送都可能产生费用。
模拟邮件收件人会消耗你的发送配额。邮件沙箱流量也会计入汇总统计数据,包括退信率和投诉率。在分析中将其分开,以免测试失败看起来像客户投递问题。
如何识别测试结果?
将事件与你发送时记录的测试收件人或消息标识符进行匹配。
已接受的模拟邮件返回 202 和正常的事件结构。载荷中没有测试标记。因此,仅凭接受状态无法识别这是一次测试。
使用收件人标签(如 bounce+signup-flow@messagebird.dev)将邮件事件与测试批次关联。你也可以通过 API 查看邮件消息的时间线或事件,无需运行 webhook 接收端。
当你需要验证渲染或接收效果时,请单独进行真实投递检查。Magic 目标地址无法测试投递路径中的这些环节。
简而言之
目标地址决定测试结果。
使用常规的 API 密钥和端点。已识别的地址和号码会触发模拟投递结果。
仅对已知的 magic 目标地址进行测试。
一个请求可以混合模拟收件人和真实收件人。未识别的地址按正常收件人处理。
测试仍然消耗真实配额。
模拟邮件收件人会消耗发送配额。SMS magic number 按目标地址的正常费率计费。
记录哪些消息属于测试。
事件中没有测试标记。邮件标签保留在收件人地址中,便于你在事件中识别测试批次。