今天查看阿里云短信服务后台,发现两例发送失败的情况。
具体的错误信息是:
运营商未知错误(MH:28)
两例均是 187 移动的号码。
而 MH:28 的错误码,在阿里云短信服务的文档中,并不存在。
这种事情,我已经习惯了,我要再次喊一声
阿里云短信服务的开发人员,你们都是大傻逼。。。
不但 SDK 代码写的烂,文档写的也非常烂!你们是不是高中都没有毕业!上一次让我如此愤怒是 阿里云短信 InvalidSignName 问题
好了,发泄完了,继续找问题。
Google 了一下,依然没有确切的答案,但是有个类似错误引起了我的注意,即如果短信中包含敏感词,可能被运营商拦截。
于是,我看了一下这两个出问题的短信模板:
模板一:
您有新的订单待处理,当前状态:${status},订单摘要:${remark},请及时处理。
模板二:
订单:${order}已付款,金额:${price}, 请尽快安排发货。
果然,都存在订单信息的变量,那就非常容易出问题了,且不说订单中出现敏感词,但是金额,我觉得就逃不过手机端安全软件的拦截。
所以,稳妥的方案是,简化通知短信的内容,只保留
您有新的订单待处理
需要看一下具体的测试结果。
测试需要覆盖的情况
- 不同运营商:联通,移动,电信
- 不同手机安全软件:360手机安全助手,腾讯手机安全助手,华为内置安全助手,小米内置拦截。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式