短信为何是尽力而为
短信没有保证送达。在你的 API 调用与手机之间,横着聚合商、国际网关与目标运营商——它们中任何一个都可能延迟、过滤或悄然丢弃一条消息。验证流量受到尤其严格的审视,因为运营商正是在这些路由上打击欺诈与垃圾。
实际后果是:你必须为部分失败设计(重发、降级),并主动监控送达,而不是假定已发送的消息就是已送达的消息。
- 送达取决于目标运营商的过滤策略。
- 国际路由增加网关,每个都是可能的失败点。
- 应用(A2P)流量比个人对个人流量被过滤得更狠。
发送方 ID 及其为何重要
发送方 ID 是接收方看到的“发件人”——一个长码、一个短码,或一个字母数字名称。各国差异鲜明:有的要求预注册的字母数字发送方 ID,有的强制 A2P 使用短码,有的会改写或拦截未注册的发送方。为每个国家使用正确、已注册的发送方 ID,是最大的送达杠杆之一。
- 字母数字发送方 ID:以品牌文字作为发送方;许多国家需要预注册。
- 短码:对 A2P 有最高的吞吐与信任,但需要运营商审批。
- 长码:在许多市场没问题,但在美国需要 10DLC 注册。
- 在严格国家使用未注册发送方,是常见的静默失败原因。
运营商过滤与消息内容
运营商会给消息内容打分。URL,尤其是缩短链接、公共短链服务与异常格式,是过滤的经典触发点。OTP 消息应极简且一致:你的应用名、验证码,别无其他。一致性也有帮助,因为有些运营商会随时间在“发送方 + 模板”的配对上积累声誉。
- 避免在 OTP 消息中放链接;缩短链接是强烈的过滤触发点。
- 保持模板一致——飘忽的内容看起来像垃圾。
- 不要在事务性 OTP 消息中夹带营销。
- 在国家有要求处注册消息模板。
如果某个国家的送达突然下降,先怀疑那里的内容或发送方 ID 规则变更,再去怀疑你代码里的任何东西。
按国家路由
路由是你的消息通往目标运营商所走的路径,而路由质量因服务商与国家而异。便宜的灰色路由在测试中可能看起来没问题,随后却悄然劣化。对验证而言,请为你重要的国家优先选择直连或高质量路由,即便成本更高,并告知你的服务商该流量是 OTP,以便其适当路由。
- 在关键市场为验证优先选择直连/优质路由。
- 警惕灰色路由:价格低、送达不稳、DLR 差。
- 有些服务商允许你把流量标记为 OTP 以获得更好路由。
- 分别测试每个重要国家——平均值会掩盖国家级失败。
监控送达并据此行动
你无法修复你不去度量的东西。收集送达回执(DLR),按国家与按运营商追踪送达率与延迟,再对回退发出告警。把它与降级逻辑结合,让送达下滑优雅降级,而非阻断注册。
- 1
收集 DLR
启用送达回执,并把它们对每次发送存档,这样你知道的是已送达对失败,而不只是已发送。
- 2
按国家与运营商分段
按目标地追踪送达率与延迟——平均值会掩盖某个正在失败的单一市场。
- 3
对回退告警
当某国的送达率或延迟劣化超过阈值时触发告警。
- 4
故障切换
自动绕开劣化的服务商,或升级到降级通道。