开发者社区 问答 正文

发送短信成功,为什么收不到?



如何获取短信发送状态?


可以通过事件通知来查看结果,包括请求接口错误和发送状态返回结果。



常见错误

  • 编码格式错误:在给短信签名和短信模板传参时,您需要确保为UTF-8编码格式
  • 接口请求过于频繁被流控了:

在调取接口时触发了流控限制,您需要控制发送频率。不论您是否发送成功,只要调取了发送接口,就会开始启动流控策略。
具体要求如下:1) 短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,1条/分钟,5条/小时,累计10条/天;
2) 短信通知: 使用同一个签名和同一个短信模板ID,对同一个手机号码发送短信通知,支持50条/日;
3) 推广短信:使用同一个签名和同一个短信模板ID,对同一个手机号码发送短信通知,支持50条/日;
  • 手机号黑名单:由于接收方曾经进行过投诉或退订操作,而进入黑名单。如需要解除您可以提交工单反馈,进行解除。

运营商返回报错信息: https://help.aliyun.com/document_detail/51090.html

展开
收起
轩墨 2017-10-25 09:50:29 2361 分享 版权
阿里云 AI 助理回答

获取短信发送状态主要可以通过阿里云短信服务的事件通知功能来实现。以下是具体的步骤和说明:

  1. 启用事件通知

    • 登录阿里云控制台,进入短信服务页面。
    • 在管理界面中找到并开启事件通知功能。通常,您需要配置一个HTTP或HTTPS的回调地址,当短信发送有结果时(包括成功、失败或其他状态),阿里云会将结果通过POST请求发送到这个回调地址。
  2. 配置回调URL

    • 确保您的服务器能够接收并处理来自阿里云的回调请求。这些请求会包含消息ID、手机号码、发送状态等信息。
    • 根据阿里云文档设置正确的回调格式,一般为JSON格式。
  3. 处理回调信息

    • 当短信发送完成后,阿里云会按照您配置的回调URL发送通知,您需要在自己的服务器端编写逻辑来解析这些通知,从而获取短信的发送状态。
    • 通过解析回调中的Code字段可以判断短信发送是否成功,常见的成功代码如OK,失败则会有具体的错误代码和描述。
  4. 查看错误和帮助文档

    • 如您提供的链接所述,可以通过以下链接获取详细的错误代码和解决方案:
      • 接口报错信息:帮助文档
      • 运营商返回的报错信息:帮助文档
  5. 注意常见错误与限制

    • 确保编码格式正确(UTF-8)。
    • 注意接口调用频率限制,避免因过于频繁的请求而被流控。
    • 检查目标手机号是否被列入黑名单。

通过上述步骤,您可以实时监控并获取短信发送的状态,及时处理发送失败的情况,优化用户体验。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: