Twilio发送含URL短信日志显示已送达但设备未接收问题咨询
根因分析
你遇到的是美国T-Mobile运营商的反垃圾短信网关拦截问题:Twilio返回「已送达」仅代表短信已经成功投递到T-Mobile的网关服务器,网关识别到陌生商业号码发送的短信内包含URL,判定为垃圾短信后直接拦截,没有下发到终端设备,所以你的手机收不到。
你提供的业务代码逻辑没有错误,不需要调整代码层实现。
解决方案
- 首先完成A2P 10DLC资质备案:目前美国所有运营商对商业短信发送强制要求A2P 10DLC备案,未备案的商业号码发送带URL的短信拦截率极高,T-Mobile的拦截规则在所有运营商中最为严格。你需要在Twilio后台提交你的品牌信息、业务用例说明,审核通过后再发送测试。
- 不要使用公共短链服务:尽量直接使用你自身业务的正规域名URL,不要用bitly等公共短链,这类公共短链域名已经被大量垃圾短信使用,会被运营商直接标记拦截。如果需要缩短链接,使用Twilio官方自带的链接缩短功能,该功能生成的短链已经对接运营商白名单。
- 调整测试用URL规则:不要使用测试类占位URL(比如
example.com、test.com这类域名),直接使用你正式业务的域名,且域名注册时间不要过短,已完成备案的域名优先级更高。 - 临时验证方案:将你的发送号码存入测试手机的通讯录后再发送带URL的短信,T-Mobile对通讯录内号码的短信拦截规则会大幅放宽,如果存入后可以收到即可100%确认是网关拦截问题。
内容的提问来源于stack exchange,提问作者Sal
相关产品推荐
相关产品推荐

