短信发送FAQ

您在发送短信时如果遇到疑问,可参考以下常见问题及处理建议。

​短信发送成功了,但实际未收到是什么原因?

运营商的回执是基于用户终端反馈来响应的,因此发送成功而没有收到的情况一般是用户终端问题导致的接收失败。建议按照以下情况排查:

  • 手机是否长时间不关机,建议关机重启下。

  • 手机收件箱是否已满,建议检查手机是否可以正常接收短信。

  • 手机是否为双卡双待,建议将SIM卡拿出来换一下卡槽。

  • 手机是否安装了安全软件,安全软件有可能会将短信拦截到垃圾信箱里。

检查完如果还未接收到短信,建议您将SIM卡换到其他手机上进行测试。

短信服务是否有发送时间限制?

国际/港澳台短信无发送时间限制。国内推广短信在特殊情况下发送时间一般是8:00~22:00,国内通知短信和验证码短信无发送时间限制。

短信签名和短信模板要对应发送吗?

通过审核的签名和模板,如果签名使用场景与模板类型相符,可以任意组合发送短信。

验证码场景的签名,请选择验证码模板;通用场景的签名,请选择验证码、短信通知、推广短信、国际/港澳台短信模板。

如果发送的短信没有收到,会有发送失败的回执或反馈吗?

使用API接口发送短信时,接口调用错误码可以显示短信发送任务的状态。您也可以通过QuerySendDetails接口查询短信发送状态。

短信服务群发有什么限制?

在一次请求中,最多可以向100个手机号码分别发送短信。详情请参见SendBatchSms

短信服务支持的短信发送号段有哪些?

支持中国电信、中国联通、中国移动提供的号段,不支持其他虚拟运营商提供的号段。

如何判断短信发送成功还是失败?

短信发送失败的可能原因

  • 携号转网的短信发送,在多数情况下携号转网的信息也能到达。如果运营商未及时更新携号转网路由信息或携号转网24小时内的情况,可能导致短信发送失败。

  • 运营商拦截,短信内容可能触发运营商的审核机制,运营商拦截后短信发送失败。

  • 终端状态异常,终端网络信号导致接收短信失败。

  • 错误内容,如手机不支持该语言可能导致接收短信失败。

  • 黑名单,机主主动投诉或退订导致发送短信的号码被运营商加入黑名单。

  • 国际漫游,取决于运营商之间的国际漫游互联协议,国际漫游不保证一定能接收成功。

  • 运营商过滤,部分运营商对短信内容进行“敏感词”过滤。

  • 账户余额<0,国内短信套餐包有余量但账户余额<0时无法发送短信。

给用户发送短信后,如何获取用户的短信回复?

短信支持上行短信,接口用户可直接获取上行内容。详情请参见回执消息配置

短信发送方的号码可以显示同一个号码吗?

不可以。当前采用智能调度功能,保证客户每次发送均采用最优通道下发,接入号码会有变化。

当一批发送号码中出现个别手机号出错后,目前的发送机制是怎么样的?

批量发送短信时,每个手机号发送短信任务互不影响。某个手机号或部分手机号发送失败,不影响其他手机号正常发送短信。

短信服务发送的显示号码及显号规则是什么?是否可以固定不变?

手机端接收显示的号码是106开头的正规号码(通道号+扩展码),由运营商随机分配,不支持固定号码。云通信采用智能决策通道,遇到通道不稳定、网络抖动及机房断电等不可抗拒的因素时,会自动切换通道,通道号会发生变化。

群发助手一次性能发送多少条短信?单次能导入多少条?和日常类验证码的发送数量有关系吗?

群发助手导入文件的大小不可超过3MB,建议单次导入号码不超过50万个。

通过群发助手发送短信与日常类验证码的发送短信数量没有关系,但给同一个号码下发验证码类短信24小时不要超过40条,超过的部分会被系统拦截。详情请参见群发短信

国内用户发送到美国、加拿大的短信总是失败,怎么办?

为保证您的短信发送成功,请依据当地电信法规发送方需提前注册TFN。

发送越南的短信类型是什么?

  • 如果没有报备SenderID,发送到越南的短信类型只支持OTP,且短信将转换为文本语音通话,以确保OTP的交付。

  • 如果已报备SenderID,发送到越南的短信类型支持OTP、推广短信、短信通知。

为什么短信状态一直显示发送中,是发送失败了吗?

处于发送中是因为长时间未回执。建议核实号码状态,比如:空号、关机、停机、飞行模式或手机终端周围基站信号异常等。若手机端72小时内恢复正常,短信发送成功;若手机端持续异常,返回发送失败。

为什么错误码显示黑名单,如W-BLACK等?

近期运营商为降低骚扰短信投诉率,采取了较为严苛的拦截机制。

黑名单是为保护机主免受骚扰短信侵扰的一项保护措施。如果机主有投诉过短信内容,如12321、运营商、工信部等骚扰短信,该号码就会显示黑名单。

短信发送失败,但是没有发送失败记录?

请您核实发送记录,如果没有记录可能存在API调用失败或调用请求没有发出。

  • 如果是API调用失败,建议查看本地的回执信息或者日志,参见API错误码查找短信发送失败的原因。

  • 如果是发送请求没有发出,建议您检查本地调用程序是否异常。

触发流控限制报错如何处理?

您可以给号码加白名单,解除流控限制。更多操作请参见设置短信发送频率

为什么设置白名单后依然触发流控?

设置白名单是阿里云侧没有流控限制。如果发送短信返回GB开头的分钟级或小时级流控是运营商侧的流控限制。更多详情,请参见短信发送频率限制

国际/港澳台短信是否也有流控限制?

有流控限制。更多详情,请参见短信发送频率限制

短信服务可以取消流控限制吗?

不可以取消。为限制短信被恶意调用、短时间内大量发起短信发送请求,阿里云对短信发送进行流控限制,该限制无法直接取消。

如果您是企业认证用户可以在短信服务控制台设置白名单号码,白名单号码不受短信发送频率限制。更多操作请参见设置短信发送频率

处于发送中的短信如何取消?

处于发送中的短信无法取消,也无法删除发送记录。

短信发送后是否可以撤回?

发送成功、发送失败或发送中的短信,暂不支持撤回。

是否支持自动发送短信?

不支持自动发送,可以设置定时发送。通过短信服务控制台群发助手发送短信,并设置定时发送任务。详情请参见群发短信

短信发送报错“签名和模板类型不一致”,是什么原因?

原因可能是发送短信时使用的短信模板和短信签名类型不一致。例如:用验证码签名下发了短信通知或推广短信。

验证码场景的签名,请选择验证码模板;通用场景的签名,请选择验证码、短信通知、推广短信、国际/港澳台短信模板。

“未知状态”的短信,会在多久时间内更新推送状态?

“未知状态”短信即发送中的短信。

  • 若72小时内,客户终端正常接收到短信,短信状态更新为“发送成功”;未能正常接收到短信,短信状态更新为“发送失败”。

  • 若超过72小时,短信状态为“未知状态”。

收到的验证码不全,前面是0就自动省略,怎么办?

您好,验证码传入的格式有误,Code值传参时使用字符串格式,需要是JSON格式,否则首位为0会缺失。

错误示例:TemplateParam = {code:0207}

正确示例:TemplateParam = {"code":"0207"}

说明
  • 如果JSON中需要带换行符,请参照标准的JSON协议处理。

  • 模板变量规范,请参见短信模板规范

有多个短信签名和短信模板时,如何确认使用哪个?如何绑定短信签名和模板?

短信签名和短信模板无关联性,无需绑定。

您创建的模板和签名审核通过后,可以根据自己的需求随意搭配。适用场景为验证码的签名,请选择验证码模板;适用场景为通用的签名,请选择验证码、短信通知、推广短信、国际/港澳台短信模板。

误删除短信模板或签名,还能恢复继续发送短信吗?

已删除的签名和短信模板无法直接恢复,需要重新申请签名和模板,审核通过后才可以发送短信。

接收短信的手机号码是否需要添加“+”还是直接00开头?

手机号码格式如下:

  • 国内短信:+/+86/0086/86或无任何前缀的11位手机号码,例如:1590000****。

  • 国际/港澳台短信:国际区号+号码,例如852000012****。

    重要

    国际、中国香港、中国澳门和中国台湾号码和手机号码之间不要加0。例如在越南拨打当地号码是04987654321(04是当地拨打的区号),拨打国际号码则变为是844987654321,国家或地区码84与当地号码04987654321的0是需要去掉再上传到发送平台.

短信服务显示发送记录和实际发送量不符?

短信的长度会导致发送记录和实际发送量不一致。

  • 发送记录是按发送次数维度统计。短信发送详情,请参见短信发送规则

  • 实际发送量是按费用维度统计。短信计费详情,请参见计费概述

“未知状态”的短信,会在多久时间内更新推送状态?

“未知状态”即发送中的短信。

  • 若72小时内,客户终端正常接收到短信,短信状态更新为“发送成功”;未能正常接收到短信,短信状态更新为“发送失败”。

  • 若超过72小时,短信状态为“未知状态”。

用户拒收推广短信后该如何解除限制?

终端用户收到推广短信后,回复“R”或“r”代表不愿意再接收同签名的推广短信,发送方无法解除此限制。

推广短信被拦截怎么办?

推广短信容易被手机终端安全软件拦截,属于终端厂商的防骚扰策略,云通信侧无法干预调整,建议优化短信文案。

收到的短信带问号怎么处理?

部分终端手机对于特殊字符兼容展示效果不太好,可以参考以下建议:

  • 检查短信模板或变量传参是否有不可见字符,如果发现有不可见字符,建议将其去掉后重新下发。

  • 如果模板和变量传参不方便更改,建议更换手机重新下发。

短信发送失败后支持自动补发吗?

针对短信下发失败,目前不支持补发。 您可以在短信服务控制台发送记录查询页面,导出失败号码,重新调用API接口或使用控制台群发助手发送短信。

发送短信时用户关机了,等开机后会收到短信吗?

  • 发送中和待回执的短信,在用户开机后,可以正常接收到短信。

  • 发送失败的短信,用户开机后,收不到短信。

短信发送频率设置后为什么不生效?

请您核实发送号码是否已超过目前所设置的频率或已超过阿里云流控限制的最高值,建议继续调整发送频率,如果已超过最高值,可等24小时后重新发送。

发送短信失败提示内容关键字拦截,什么意思?

  • 短信签名不支持含义模糊、品牌指向不明的中性签名和全数字签名。更多规范详情请参见短信签名规范

  • 内容关键字拦截,是运营商根据短信中有潜在风险或者高投诉的内容关键字进行自动拦截。不同运营商的拦截规则不同,请您检查发送的短信内容并相应修改文案。例如:通知模板禁止发送推广内容、推广短信必须带退订、涉及到金融业务的暂时不支持发送,更多规范详情请参见短信模板规范

  • 可能是发送终端信号不稳定导致的失败,建议重启手机或者换一个信号好的环境重新发送。

  • 检查短信发送的主账号和子账号是否异常,如果子账号出现违规或高风险操作,会导致短信发送失败提示内容关键字拦截。例如:是否对账号定期修改登录密码、对AccessKey定期维护更新等。

  • 您也可以通过短信发送状态回执错误码查看具体原因。

短信发送记录储存时间是多久?

短信发送的明细记录会保存180天。 如果您需要保留更久的时间,建议您通过调用QuerySendDetails接口获取短信发送记录,自行储存以便后续查询。

控制台发送记录为什么会显示星号(*)?

短信服务控制台展示的发送记录带星号是为了保障短信内容信息安全,例如:对短信内容中的数字、字母进行脱敏展示。用户实际接收到的短信内容是完整的。如果您需要获取完整的短信内容,可通过QuerySendDetails接口查看发送详情。

调用API发送测试短信,测试签名和模板列表是空的,什么原因?

如果调用API发送测试短信时,签名或模板列表为空,可能是您还没有绑定测试手机号码或者自定义签名或模板没通过审核。

您可以在控制台绑定接收测试短信的手机号码,待自定义测试签名和模板通过审核后,再发送测试短信。更多操作详情请参见发送测试短信

我用的是免费体验的3个月短信包,这种也算测试短信吗?

测试短信指使用测试签名和测试模板发送短信。

测试短信的发送数量和频率受到限制,如果您需要发送正式的短信,需要申请正式的签名和模板,并购买相应的短信套餐包。

怎么从发测试短信转到正式短信?

发送短信时,选择测试签名和测试模板,即发送测试短信。您需要发送正式短信,根据您的需要申请签名和模板,不使用测试签名和模板发送短信即可。发送短信的详细操作请参见群发短信

说明
  • 测试签名包括[测试专用]阿里云通信和您自定义的测试签名(即申请签名时,签名来源选择测试或学习)。

  • 测试模板包括[测试专用]阿里云通信测试模板和您自定义的测试模板(即申请模板时,关联签名选择测试签名)。

短信发送失败视频教程