您在发送短信时如果遇到疑问,可参考以下常见问题及处理建议。
-
实名制报备相关:
-
短信使用限制相关:
-
发送操作相关:
-
发送失败相关:
-
发送记录相关:
-
流控限制相关:
-
国际/港澳台短信相关:
短信发送失败报错:“签名实名制报备问题。应运营商要求,各短信发送通道需完成对应签名的实名制报备”是什么原因?
根据工信部及各级运营商对短信内容提供者相关资质信息报备的最新要求(最新公告),短信内容提供者需要报备相关实名资质信息,实名制报备所需流程根据您签名申请的时间节点存在差异,建议您根据签名实名制报备核查已申请的签名是否需要手动触发报备。若您的签名尚未在对应运营商通道完成实名制报备,可能导致短信发送被拦截。运营商实名报备流程平均需要5-7个工作日,基于近期观测,部分运营商实名报备流程需要7-10个工作日,但运营商未对此时效进行承诺,实际可能需要更长时间。
针对签名实名制报备问题,您需要做什么?
快速上手
运营商报备平均需要 7-10 个工作日,且无固定时效承诺。新业务上线请务必至少提前10个工作日完成所有报备流程,避免影响业务计划。
为确保签名顺利通过报备,请遵循以下核心三步:
-
准备企业资质:进入资质管理页面,确保拥有一个状态为“审核通过”的企业资质。个人认证资质无法用于报备。
-
申请合规签名:进入签名管理页面,申请新签名或更新已有签名。强烈推荐使用“企事业单位全称或简称”作为签名来源,这是当前通过率最高、速度最快的方式。
-
发起与验证报备:
-
发起报备:
-
新增签名报备:点击添加签名,审核通过后将自动触发报备。
-
存量签名报备:找到对应签名,点击运营商报备结果列的详情,依据操作建议,向各运营商逐一进行报备。若签名未关联资质,需先点击编辑签名关联信息,绑定资质后将自动触发报备。
-
-
验证报备:
-
当报备状态变为“已报备待验证”后,使用三大运营商(移动、联通、电信)的手机号继续测试发送,平台会持续探测发送情况是否符合预期。
-
-
已按平台要求完善资质且审核通过,为什么短信发送成功率还是这么低?
-
资质审核通过后的前期阶段处于报备时间周期内,您可以持续一周时间使用三大运营商手机号进行少量多次发送,并在控制台业务统计-发送统计页观察整体的发送成功率趋势是否有上升。
-
如果历史签名关联的资质信息仍为“个人实名认证的阿里云账号”,在当前的短信签名实名制要求下,请您务必尽快将阿里云账号升级为企业认证或申请他用资质,同时完成签名关联资质的更新。
-
如果您正在使用签名来源为“测试或学习”、“线上试用”、“电商平台店铺名”、“公众号或小程序”、“已备案网站”注的签名进行发送,建议您停用并按上述最严格要求更换签名,并按签名实名制要求关联准确的资质信息以完成运营商侧的报备,以保证短信下发的成功率。
注:这5个签名来源当前【2025年3月17日】关于短信签名申请规则变更的通知,不再支持新增签名。
-
若您在资质审核通过后,已使用关联签名进行短信发送,但整体发送成功率在一周时间内持续走低或不稳定,请在控制台业务统计-发送记录页查看具体的失败原因和建议。
-
平台会优化短信发送策略以应对实名制报备期间的发送问题,并对已审核通过的资质和有短信发送的签名自动提交报备。建议您少量多次对发送失败的短信进行重试,以提高通道覆盖率和发送成功率。
控制台显示签名实名制报备结果为报备成功,为什么仍然有因实名制报备导致的发送失败?
报备成功表示当前至少有一个子端口号运营商已返回报备通过,但由于当前各级运营商的实名制报备系统建设进度不同,同一签名下的不同子端口号报备速度存在差异,且部分运营商无法向阿里云同步报备结果,会出现"部分发送成功,部分发送失败"的情况。不同运营商子端口回执的错误码可能不一样,您看到的失败错误码可能因运营商而异。建议您检查签名名称规范性,并少量多次尝试使用该签名发送,观察短信发送效果后再开始批量发送。
-
检查签名名称规范性:签名来源为“公众号或小程序”、“电商平台店铺名”、“测试或学习”、“线上试用”、“已备案网站”的签名不符合运营商最新规范,建议申请新的合规签名。
-
签名来源为“企事业单位名”的签名须为企业名称的全称或简称。若使用全称,签名需完全匹配企业名称;若使用简称,签名需要包含在公司名称中,包含企业品牌名并且能唯一标识企业主体,企业简称不能为中性词或对应到多家企业,不能跳字、不能乱序、不能省略主要信息。
合规示例:【杭州阿里云网络技术】。
不合规示例:【阿里】、【阿里科技】:存在多个地区的阿里公司,无法体现独特性和唯一性;【杭里网络】、【杭州阿里网】:签名没有完全包含在公司全称中,存在跳字。
-
签名来源为“已注册商标”的签名必须为企业拥有且在中国商标网中可查的商标名。
请检查签名来源和签名名称,优先推荐使用“企事业单位名”,会极大提高报备成功率和短信发送成功率。运营商实名报备流程平均需要5-7个工作日,基于近期观测,部分运营商实名报备流程需要7-10个工作日,但运营商未对此时效进行承诺,实际可能需要更长时间。签名的发送效果可以通过少量多次发送进行验证。
-
-
少量多次发送:如果签名核验无误,签名来源和签名名称完全满足“企事业单位名”、“已注册商标”的要求,建议少量多次发送来验证发送成功率。
少量多次发送触发自动补充报备的机制是什么?有哪些注意事项?
当您的签名处于"已报备待验证"状态,或部分运营商通道尚未完成报备导致短信发送失败时,系统会自动利用这些失败记录向运营商发起补充报备请求。以下是该机制的详细说明和操作建议:
-
自动补充报备机制:系统会根据短信发送失败的记录,自动识别尚未完成报备的运营商通道,并向对应运营商发起补充报备。这意味着即使短信发送失败,这些失败记录也在帮助系统推进报备进度。
-
操作建议:建议您每天使用三大运营商(移动、联通、电信)的手机号进行少量多次发送(如每天几十条),持续 3–7 天。这样可以覆盖更多运营商通道的子端口号,逐步提升通道覆盖率和发送成功率。
-
发送失败不计费:因实名制报备问题导致的短信发送失败不会产生费用,您无需担心测试成本。
-
部分成功部分失败的现象:由于不同运营商通道的报备进度不一致,同一批次发送中可能出现"部分号码发送成功、部分号码发送失败"的情况。不同号码报错的错误码也可能不同,这是因为智能调度将短信分配到了不同报备进度的通道。
-
兜底方案:建议在报备过渡期间开通验证码兜底方案,确保关键业务(如验证码发送)不受报备进度影响。
短信发送成功了,但实际未收到是什么原因?
运营商的回执是基于用户终端反馈来响应的,因此发送成功而没有收到的情况一般是用户终端问题导致的接收失败。建议按照以下情况排查:
通过代码调用SendSms接口发送短信
代码调用SendSms接口返回Code=OK仅表示请求被短信平台接收,不代表短信已送达手机。实际投递状态取决于运营商回执。
-
登录短信服务控制台,在左侧导航栏选择业务统计 > 发送记录。
-
设置查询时间范围,输入接收手机号码,单击查询。
-
根据查询结果判断:
-
有发送记录:查看发送状态列。显示发送成功则短信已投递,按下方终端侧排查步骤检查手机接收问题;显示发送失败则查看失败原因列获取具体错误码。
-
无发送记录:说明API调用实际未到达短信平台。检查代码中的签名名称、模板Code、模板参数格式是否正确。建议从OpenAPI门户获取SendSms接口的官方SDK示例代码,先单独运行验证通过后,再集成到业务代码中。
-
终端侧排查
-
手机是否长时间不关机,建议关机重启下。
-
手机收件箱是否已满,建议检查手机是否可以正常接收短信。
-
手机是否为双卡双待,建议将SIM卡拿出来换一下卡槽。
-
手机是否安装了安全软件,安全软件有可能会将短信拦截到垃圾信箱里。
检查完如果还未接收到短信,建议您将SIM卡换到其他手机上进行测试。
短信服务是否有发送时间限制?
国际/港澳台短信无发送时间限制。国内推广短信发送时间一般为8:00~22:00,特殊场景需遵守另行规定,国内通知短信和验证码短信无发送时间限制。
短信签名和短信模板要对应发送吗?
通过审核的签名和模板,如果签名使用场景与模板类型相符,可以任意组合发送短信。
验证码场景的签名,请选择验证码模板;通用场景的签名,请选择验证码、短信通知、推广短信、国际/港澳台短信模板。
短信模板会受到关联签名的影响导致短信无法正常发送吗?
短信模板与短信签名在实际使用时没有强关联关系,短信签名实名制认证暂不会影响到您的模板使用。申请模板时选择关联签名是为了提高审核通过率。您创建的模板和签名审核通过后,可以根据实际需求自由搭配发送短信。
若您的短信发送成功率近期显著降低,请您根据以下建议核查发送短信使用的签名状态:
-
存量签名合规性要求:存量签名若使用已不再支持的签名来源(已备案网站、电商平台店铺、公众号/小程序等),短信将无法正常下发。签名也面临被强制下线风险,建议您及时停用并申请新的签名,以确保短信的正常发送。
-
签名实名制报备:确保签名来源符合合规性要求后,请您查询短信签名实名制报备结果,并根据各结果的建议进行相应操作。
修改了短信签名或模板关联签名后,为什么发送的短信仍显示旧签名?
控制台中模板详情页面的"关联签名"(也称"模板关联签名")仅用于审核评估,不影响短信的实际发送。短信实际下发使用的签名完全取决于以下设置:
-
通过 API 调用发送时:以代码中
SignName参数传入的签名为准。 -
通过群发助手发送时:以发送时选择的签名为准。
因此,即使您在控制台修改了模板的关联签名,如果代码中的 SignName 参数值未同步更新,发送的短信仍会显示旧签名。
解决方法:
-
修改业务代码中
SignName参数的值为新签名名称。 -
如果使用第三方平台发送,需在该平台配置中更新签名设置。
-
核对签名名称是否有错别字,确保与控制台中审核通过的签名名称完全一致。
如果发送的短信没有收到,会有发送失败的回执或反馈吗?
使用API接口发送短信时,接口调用错误码可以显示短信发送任务的状态。您也可以通过QuerySendDetails接口查询短信发送状态。
短信服务群发有什么限制?
在一次请求中,最多可以向100个手机号码分别发送短信。详情请参见SendBatchSms。
短信服务支持的短信发送号段有哪些?
支持中国电信、中国联通、中国移动、中国广电提供的号段,不支持其他虚拟运营商提供的号段。
短信服务支持哪些号段?虚拟号码和广电号码能否接收短信?
阿里云短信服务支持向以下运营商的真实手机号码发送短信:
-
中国移动、中国联通、中国电信:支持所有标准号段。
-
中国广电(192 号段):支持接收短信。
不支持的号段:除上述四大运营商外的其他虚拟运营商号段不受支持。
关于电商虚拟号码:电商平台(如淘宝、京东)提供的虚拟号码能否接收短信,取决于该虚拟号所挂靠的平台是否支持短信接收功能。如果短信发送显示成功但用户未收到,建议联系虚拟号所属平台核实。
短信发送后用户收到多条重复短信怎么办?
用户收到多条重复短信,通常不是阿里云重复发送导致的,而是接收终端未及时响应基站信号,触发了运营商的消息重试机制。
建议处理方式:
-
建议用户关机并取出 SIM 卡,等待几分钟后重新插入并开机,以重置终端的信号响应能力。
-
如果问题持续出现,可以尝试将 SIM 卡插入其他手机测试,排除终端硬件问题。
短信回执消息(Callback)配置不生效或投递失败怎么办?
如果您配置了短信回执消息推送(Callback),但未正常收到回执,请按以下排查:
-
单一回调地址限制:每个阿里云账号仅支持配置一个回调地址(Callback URL)。如果之前已配置过其他地址,新配置会覆盖旧地址。
-
HTTP 批量推送模式要求:
-
您的回调服务器需同时支持 GET 请求(阿里云用于校验连通性)和 POST 请求(用于接收回执数据)。
-
GET 请求校验时,服务器需在 700 ms 内返回
{"code":0,"msg":"成功"},否则会被判定为连通性校验失败。
-
-
MNS 队列投递失败:如果使用轻量消息队列(原 MNS)接收回执但投递失败,可尝试在控制台关闭再重新开启上行消息功能,并保持地域为默认设置。
-
仅发送验证码的场景:如果您仅发送验证码短信且不需要获取发送状态回执,则无需配置 Callback。
如何判断短信发送成功还是失败?
-
可以在控制台查询发送记录确认是否发送成功,也可以查看API/SDK回执消息确认是否发送成功。更多操作详情,请参见通过控制台发送短信或通过API发送短信。
-
通过国内消息API错误码或国内消息发送状态回执错误码,查看发送失败原因。
短信发送失败的可能原因
-
近期短信发送失败的可能原因:未完成签名实名制报备,发送失败返回的错误码可能为其他值,但实际仍由实名制报备问题导致。请您查询短信签名实名制报备结果,并根据各结果的建议进行相应操作。
-
流控限制:为防止短信被恶意调用,阿里云对短信发送进行限制,触发流控限制后短信会发送失败。
-
携号转网的短信发送:在多数情况下携号转网的信息也能到达。如果运营商未及时更新携号转网路由信息或携号转网24小时内的情况,可能导致短信发送失败。
-
运营商拦截:短信内容可能触发运营商的审核机制,运营商拦截后短信发送失败。短信内容中包含联系方式(如手机号码、微信号等)或链接等引流信息时,运营商存在较大概率拦截,建议避免在短信正文中使用联系方式和链接。
-
终端状态异常:终端网络信号导致接收短信失败。
-
黑名单:机主主动投诉或退订导致发送短信的号码被运营商加入黑名单。
-
国际漫游:取决于运营商之间的国际漫游互联协议,国际漫游不保证一定能接收成功。
-
运营商过滤:部分运营商对短信内容进行“敏感词”过滤。
-
账户余额<0:国内短信套餐包有余量但账户余额<0时无法发送短信。
短信发送失败提示"params must be [a-zA-Z0-9] for verification sms"是什么原因?
该报错表示验证码短信的模板变量(如 ${code})中包含了非字母或非数字的字符。验证码类短信要求变量值仅由纯数字或英文字母组成。
常见原因:
-
变量中包含空格、中文字符、标点符号等非法字符。
-
将完整的短信文案内容错误地传入了验证码变量,而非仅传入验证码本身。
解决方法:
-
检查代码中调用 API 时
TemplateParam参数的传值,确保验证码变量值仅由 4–6 位纯数字或英文字母组成(如"1234"或"AbC1")。 -
不要将完整短信内容或包含特殊字符的字符串传入验证码变量。
相关错误码:isv.TEMPLATE_PARAMS_ILLEGAL、TemplateParam.Error、错误码 123。
给用户发送短信后,如何获取用户的短信回复?
您可通过轻量消息队列(原MNS)消费模式或HTTP批量推送模式获取上行短信内容,详情请参见回执消息配置。
短信发送方的号码可以显示同一个号码吗?
不可以。当前采用智能调度功能,保证客户每次发送均采用最优通道下发,接入号码会有变化。
当一批发送号码中出现个别手机号出错后,目前的发送机制是怎么样的?
批量发送短信时,每个手机号发送短信任务互不影响。某个手机号或部分手机号发送失败,不影响其他手机号正常发送短信。
短信服务发送的显示号码及显号规则是什么?是否可以固定不变?
手机端接收显示的号码是106开头的正规号码(通道号+扩展码),由运营商随机分配,不支持固定号码。云通信采用智能决策通道,遇到通道不稳定、网络抖动及机房断电等不可抗拒的因素时,会自动切换通道,通道号会发生变化。
群发助手的短信发送和导入限制是有哪些?
群发助手导入文件的大小不可超过3MB,建议单次导入号码不超过50万个。
通过群发助手发送短信与日常类验证码的发送短信数量没有关系,但给同一个号码下发验证码类短信24小时不要超过40条,超过的部分会被系统拦截。详情请参见群发短信。
国内用户发送到美国、加拿大的短信总是失败,怎么办?
为保证您的短信发送成功,请依据当地电信法规发送方需提前注册TFN。
国内用户发送到美国、加拿大短信失败,除了注册 TFN 还有其他原因吗?
除了需要注册 TFN(Toll-Free Number)以外,还需注意以下因素:
-
目标号码类型:如果目标号码是虚拟号码或 VoIP 号码(如 Google Voice、TextNow 等),短信接收成功率会显著降低,部分虚拟号码可能完全无法接收短信。
-
内容合规性:美国和加拿大对短信内容有严格的法规要求。禁止发送金融推广、赌博、成人内容等类型的短信,违规内容会被直接拦截。
-
发送时段:建议避开目标国家的深夜时段发送,部分运营商在非常规时段会加强内容审查和拦截力度。
发送到越南的短信类型是什么?
-
如果没有报备SenderID,发送到越南的短信类型只支持OTP,且短信将转换为文本语音通话,以确保OTP的交付。
-
如果已报备SenderID,发送到越南的短信类型支持OTP、推广短信、短信通知。
为什么短信状态一直显示发送中,是发送失败了吗?
短信发送后长时间未收到运营商回执状态时,短信状态将显示发送中。建议核实号码状态,比如:空号、关机、停机、飞行模式或手机终端周围基站信号异常等。若手机端72小时内恢复正常,将更新发送状态;若手机端持续异常,返回发送失败。
为什么错误码显示黑名单,如W-BLACK等?
运营商为降低骚扰短信投诉率,采取了较为严苛的拦截机制。
黑名单是为保护机主免受骚扰短信侵扰的一项保护措施。如果机主有在12321、运营商、工信部等平台投诉过短信内容,使用被投诉的短信签名给该号码下发短信就会返回黑名单相关错误码。
短信发送失败,但是没有发送失败记录?
请您核实发送记录,如果没有记录可能存在API调用失败或调用请求没有发出。
-
如果是API调用失败,建议查看本地的回执信息或者日志,参见国内消息API错误码查找短信发送失败的原因。
-
如果是发送请求没有发出,建议您检查本地调用程序是否异常。
什么是短信发送流控限制?
为防止短信被恶意调用,阿里云对短信发送进行以下限制,触发流控限制后短信将无法正常下发。
以下规则只针对发往中国内地的短信,不适用于中国香港、中国澳门、中国台湾地区和海外国家。
短信类型 | 发送限制说明 |
验证码 |
|
短信通知 | 使用同一个签名和同一个短信模板Code,对同一个手机号码发送短信通知,最多支持50条/天。 |
推广短信 | 使用同一个签名和同一个短信模板Code,对同一个手机号码发送推广短信,最多支持50条/天。 |
上述“1条/分钟”、“5条/小时”限制基于自然时间窗口计算,即按UTC+8时区的整点分钟/小时划分(例如 14:03:00~14:03:59 为一个分钟窗口)。并非从用户发送短信的时刻开始计时的滚动窗口。
天的计算方式是从发送时间起24小时内,例如:2017年08月24日11:00发送一条短信,限流计算(验证码是否满40条,短信通知是否满50条,推广短信是否满50条)到2017年08月25日11:00。
短信提交成功就会计入短信发送流控(通过控制台添加发送任务或调用接口请求成功),无论短信回执是否成功。
流控的统计周期是多久?按整点计算,还是从首条短信发出时间开始计算?
流控的统计起止时间说明如下:
天级流控:以短信发送时间为起点,统计周期为24小时。例如,若某条验证码短信于2017年08月24日11:00发送,则当天的限流统计(包括验证码是否达到40条、通知类短信是否达到50条、推广类短信是否达到50条)将持续至2017年08月25日11:00。
分钟级/小时级流控:按整点进行统计。例如,2017年08月24日11:00至12:00这一小时内,所有在该时间段内发送的短信将计入当小时的限流统计范围内。
触发流控限制短信发送失败如何处理?
您可以将指定号码加入白名单,解除流控限制。更多操作请参见设置短信发送频率。
为什么设置白名单后依然触发流控?
设置白名单后,阿里云侧将不对该号码进行流控限制。如果发送短信返回GB开头的分钟级或小时级流控表明号码已触发运营商侧的流控限制。更多详情,请参见短信发送频率限制。
设置白名单后仍报错 GB 开头流控或运营商超频限制怎么办?
需要明确区分阿里云侧流控和运营商侧流控:
-
阿里云侧流控:白名单设置成功后,阿里云平台将不再对该号码进行发送频率限制。
-
运营商侧流控:白名单无法解除运营商侧的频次管控。运营商对每个手机号有独立的发送频次限制(如单通道短时间内请求过多、单号每日/每月发送上限等)。
常见 GB 错误码:
-
GB:0001:分钟级流控,单通道短时间内发送过于频繁。
-
GB:0002:小时级流控。
-
GB:0003:日级流控,该号码当日接收量已达运营商上限。
处理建议:
-
降低对该号码的发送频次,或等待次日/下月流控自动重置。
-
如果报错仅出现在单个通道且其他通道发送正常,可以忽略该报错(系统会自动调度至其他可用通道)。
国际/港澳台短信是否也有流控限制?
有流控限制:针对同一个手机号,每天短信发送的条数不超过20条。
短信服务可以取消流控限制吗?
不可以取消。为限制短信被恶意调用、短时间内大量发起短信发送请求,阿里云对短信发送进行流控限制,该限制无法直接取消。
如果您是企业认证用户可以在短信服务控制台设置白名单号码,白名单号码不受短信发送频率限制。更多操作请参见设置短信发送频率。
处于发送中的短信如何取消?
处于发送中的短信无法取消,也无法删除发送记录。
短信发送后是否可以撤回?
短信一旦提交发送,无论处于发送中、成功或失败状态,均不支持撤回
是否支持自动发送短信?
短信发送报错“签名和模板类型不一致”,是什么原因?
原因可能是发送短信时使用的短信模板和短信签名类型不一致。例如:用验证码签名下发了短信通知或推广短信。
验证码场景的签名,请选择验证码模板;通用场景的签名,请选择验证码、短信通知、推广短信、国际/港澳台短信模板。
“未知状态”的短信,会在多久时间内更新推送状态?
“未知状态”短信即发送中的短信。
-
若72小时内,客户终端正常接收到短信,短信状态更新为“发送成功”;未能正常接收到短信,短信状态更新为“发送失败”。
-
若超过72小时,短信状态为“未知状态”。
收到的验证码不全,前面是0就自动省略,怎么办?
验证码传入的格式有误,Code值传参时使用字符串格式,需要是JSON格式,否则首位为0会缺失。
错误示例:TemplateParam = {code:0207}
正确示例:TemplateParam = {"code":"0207"}
-
如果JSON中需要带换行符,请参照标准的JSON协议处理。
-
模板变量规范,请参见短信模板规范。
有多个短信签名和短信模板时,如何确认使用哪个?如何绑定短信签名和模板?
短信签名和短信模板无关联性,无需绑定。
您创建的模板和签名审核通过后,若签名适用场景为验证码,请搭配验证码模板下发短信;若签名适用场景为通用,您可自由搭配短信模板下发短信。
误删除短信模板或签名,还能恢复继续发送短信吗?
已删除的签名和短信模板无法直接恢复,需要重新申请签名和模板,审核通过后才可以发送短信。
接收短信的手机号码是否需要添加“+”还是直接00开头?
手机号码格式如下:
-
国内短信:+、+86、0086、86或无任何前缀的11位手机号码,例如:1590000****。
-
国际/港澳台短信:国际区号+号码,例如852000012****。
重要在拨打国际、中国香港、中国澳门和中国台湾的号码时,需要注意号码格式的调整。例如,在越南拨打当地号码时,通常使用区号开头的完整号码(如04987654321,其中04为区号),但在拨打国际号码时,需将国家或地区代码(如越南的84)与本地号码组合,并去掉本地号码前的0,最终格式为844987654321。上传至发送平台时也需遵循此格式。
短信服务显示发送记录和实际发送量不符?
短信的长度会导致发送记录和实际发送量不一致。
用户拒收推广短信后该如何解除限制?
终端用户收到推广短信后,回复“R”代表不愿意再接收同签名的推广短信,发送方无法解除此限制。
推广短信被拦截怎么办?
推广短信容易被手机终端安全软件拦截,属于终端厂商的防骚扰策略,云通信侧无法干预调整,建议优化短信文案。
收到的短信带问号怎么处理?
部分终端手机对于特殊字符兼容展示效果不太好,可以参考以下建议:
-
检查短信模板或变量传参是否有不可见字符,如果发现有不可见字符,建议将其去掉后重新下发。
-
如果模板和变量传参不方便更改,建议更换手机重新下发。
短信发送失败后支持自动补发吗?
针对短信下发失败,目前不支持补发。 您可以在短信服务控制台,发送记录查询页面,导出失败号码,重新调用API接口或使用控制台群发助手发送短信。
发送短信时用户关机了,等开机后会收到短信吗?
-
发送中和待回执的短信,在用户开机后,可以正常接收到短信。
-
发送失败的短信,用户开机后,收不到短信。
短信发送频率设置后为什么不生效?
请您核实发送号码是否已超过目前所设置的频率或已超过阿里云流控限制的最高值,建议继续调整发送频率,如果已超过最高值,可等24小时后重新发送。
发送短信失败提示内容关键字拦截,什么意思?
-
短信签名不支持含义模糊、品牌指向不明的中性签名和全数字签名。更多规范详情请参见短信签名规范。
-
内容关键字拦截,是运营商根据短信中有潜在风险或者高投诉的内容关键字进行自动拦截。不同运营商的拦截规则不同,请您检查发送的短信内容并相应修改文案。例如:通知模板禁止发送推广内容、推广短信必须带退订、涉及到金融业务的暂时不支持发送,更多规范详情请参见短信模板规范。
-
关于引流信息拦截:即使短信模板已审核通过,如果短信内容(含模板变量替换后的完整内容)包含以下引流或高风险信息,仍可能被运营商实时拦截:
-
链接(包括短链接、完整 URL)
-
IP 地址
-
微信号、QQ 号等联系方式
-
长数字串(如订单号、日期等可能被误识别为引流信息的连续数字)
说明运营商的关键字拦截规则不对外公开,且不同运营商、不同时间段的执行力度存在差异,因此无法查询具体的敏感词列表。
建议:
-
移除短信内容中的所有联系方式和链接。
-
对长数字进行脱敏或格式调整(如用横杠分隔订单号:
2024-0616-1234)。 -
避免在通知类短信中包含营销推广内容。
-
-
可能是发送终端信号不稳定导致的失败,建议重启手机或者换一个信号好的环境重新发送。
-
检查短信发送的主账号和子账号是否异常,如果子账号出现违规或高风险操作,会导致短信发送失败提示内容关键字拦截。例如:是否对账号定期修改登录密码、对AccessKey定期维护更新等。
-
您也可以通过国内消息发送状态回执错误码查看具体原因。
短信发送延迟严重或接收慢是什么原因?
短信发送延迟通常由以下原因导致,与模板审核方式(人工审核或 AI 审核)无关:
-
运营商通道瞬时拥堵:在高峰时段(如节假日、促销活动期间),运营商网关处理量激增,可能导致短信下发延迟。
-
网络波动:发送端或接收端网络不稳定可能影响短信传输。
-
接收终端异常:手机信号差、关机、处于基站覆盖盲区等情况下,运营商会进行多次重试投递,导致接收延迟。
排查建议:
-
对比控制台中的发送时间与运营商回执时间,确认是否存在真实延迟。
-
建议接收方重启手机、切换 SIM 卡槽或在信号良好的环境下重试。
-
如果持续出现高延迟,可提交工单并提供具体的发送时间点,以便排查通道问题。
API 调用返回 Code 为 OK 但短信实际发送失败或未收到,如何排查?
调用发送短信 API 后返回 Code: OK,仅代表该请求已成功提交至阿里云短信网关,并不代表短信已成功送达接收终端。后续的发送状态取决于运营商回执。
排查方向:
-
检查签名状态:确认使用的签名是否在当前阿里云账号下且状态为"审核通过"。跨账号使用签名将无法发送(即账号 A 创建的签名,账号 B 无法使用)。
-
查看发送记录:登录短信服务控制台,在 业务统计 > 发送记录 页面,查看该条短信的运营商回执错误码,根据错误码定位具体失败原因。
-
报备问题:如果回执错误码指向实名制报备问题,请参考签名实名制报备相关 FAQ 处理。
-
终端问题:如果运营商回执显示发送成功但用户仍未收到,可能是手机终端问题(信号差、安全软件拦截、垃圾短信过滤等),请参考终端排查建议。
短信发送失败提示 AccessKey 泄露风险或 Forbidden 错误怎么办?
当您的 AccessKey(AK)存在泄露风险时,阿里云安全风控系统会自动禁用该 AK,导致通过该 AK 调用的所有 API(包括短信发送)返回 Forbidden 错误。
解决方法:
-
立即处理泄露 AK:登录阿里云 RAM 控制台,禁用或删除疑似泄露的 AccessKey。
-
创建新 AK:创建新的 RAM 子账号并生成新的 AccessKey,确保仅授予短信发送所需的最小权限。
-
更新业务配置:将新 AK 替换到所有业务代码和配置中。
-
检查 IP 限制:如果新服务器的 IP 地址与旧服务器不同,检查是否存在 AK 访问 IP 限制策略(RAM 策略中的
IpAddress条件),必要时更新 IP 白名单。
短信发送失败提示"发送行为异常"或"场景不明"是什么原因?
该报错通常由以下原因导致:
-
业务未正式上线:在业务产品尚未上线的情况下进行短信发送测试,可能被系统判定为场景不明。
-
下发场景不明确:短信内容无法明确关联到合法的业务场景。
-
疑似违规或高风险:账号存在异常行为或疑似违规使用的记录。
-
逾期材料未提供:平台要求补充的资质材料未在规定时间内提供,导致账号被风控关停。
解决方法:
-
确保业务已正式上线后再进行短信发送。
-
如认为被误判,请提交工单并提供真实业务场景证明(如 APP 截图、网站链接、业务说明等)进行申诉。
-
夜间发送(尤其是凌晨时段)可能触发额外管控,建议在白天进行测试和发送。
相关错误码:isv.SMS_CONTENT_ILLEGAL。
短信 API 调用失败或无发送记录,如何排查程序侧问题?
如果通过 API 调用发送短信失败或控制台无对应发送记录,请按以下步骤排查:
-
使用 OpenAPI 调试:登录阿里云 OpenAPI 调试门户,使用相同的参数测试 SendSms 接口,验证账号权限和参数格式是否正常。如果 OpenAPI 调试成功但程序调用失败,说明问题出在程序侧。
-
检查程序代码:
-
查看本地代码日志和 SDK 异常捕获信息。
-
确认
SignName(签名名称)和TemplateParam(模板参数)的传值格式正确。 -
检查 SDK 版本是否为最新版本。
-
-
检查网络连通性:确认服务器能正常访问阿里云短信 API 端点:
-
ping dysmsapi.aliyuncs.com -
telnet dysmsapi.aliyuncs.com 443
-
-
测试专用签名和模板:如果使用了测试专用签名或模板,确保按照测试要求配套使用(测试签名需配合测试模板,且仅支持向指定测试号码发送)。
为什么短信模板审核通过且已补充引流材料,发送时仍被拦截?
即使短信模板审核通过且您已按要求补充了引流备案材料,短信仍可能在实际发送时被运营商拦截。原因如下:
-
运营商动态策略:运营商对引流信息的拦截是动态且概率性的。不同时间段、不同运营商(移动、联通、电信)的执行力度存在差异,这会导致相同内容有时发送成功有时被拦截,或不同账号的表现不一致。
-
报备非万能:补充引流备案材料是满足合规要求的前提条件,但并不意味着运营商会无条件放行。目前没有特殊通道或白名单机制可以保证含引流信息的短信 100% 送达。
-
替代方案建议:如果您的业务对短信到达率有较高要求,建议:
-
移除短信内容中的链接和联系方式。
-
使用纯文字指引替代链接(如"请在 XX 应用中搜索 XX")。
-
结合其他触达方式(如 APP 推送、邮件、站内信)进行多通道通知。
-
短信发送记录储存时间是多久?
短信发送的明细记录会保存历史3年数据。 如果您需要保留更久的时间,建议您通过调用QuerySendDetails接口获取短信发送记录,自行储存以便后续查询。
短信被手机骚扰软件拦截,控制台为什么显示发送成功?
运营商回执的状态是基于短信网关的送达状态判断的。当短信已成功送达接收终端(手机),但被手机上安装的安全软件(如 360 手机卫士、腾讯手机管家等)或系统自带的垃圾短信过滤功能屏蔽时,运营商仍然返回"发送成功"的回执,阿里云无法感知终端侧的拦截行为。
只有当短信在运营商侧被拦截(如触发内容关键字拦截策略)时,运营商才会返回"发送失败"的回执。终端侧的拦截属于用户设备层面的行为,超出短信服务平台的感知范围。
如果用户反馈未收到短信但控制台显示发送成功,建议用户检查手机的垃圾短信箱或骚扰拦截记录。
控制台发送记录为什么会显示星号(*)?
短信服务控制台展示的发送记录带星号是为了保障短信内容信息安全,例如:对短信内容中的数字、字母进行脱敏展示。用户实际接收到的短信内容是完整的。如果您需要获取完整的短信内容,可通过QuerySendDetails接口查看发送详情。
短信发送失败问题原因及解决方案视频教程
开启验证码兜底方案后,是否还需要持续发送短信以促进运营商报备?
需要继续发送。
开启验证码兜底方案不会替代或加速运营商的实名制报备流程,该方案仅作为报备期间的业务过渡保障。
机制说明:
-
系统优先使用您的自定义签名发送短信,只有在自定义签名发送失败时才会触发兜底机制。
-
即使短信发送失败,这些失败记录也能帮助系统识别尚未完成报备的运营商通道,并自动发起补充报备。
操作建议:建议持续以"少量多次、覆盖三网"的方式发送验证码短信:每天使用移动、联通、电信三大运营商的手机号各发送几条短信,以激活更多通道子端口并提升通道覆盖率。
预期效果:随着运营商陆续完成报备,使用自定义签名成功发送的比例会逐渐增加,兜底方案的触发频率会相应减少,最终恢复为完全使用自定义签名发送。
开启验证码兜底方案后为什么收不到短信或未生效?
请逐项排查以下原因:
-
生效时效:开通后需等待约 10 分钟配置生效,请在生效后重试发送。
-
模板变量限制:兜底方案仅对标准验证码模板生效,且要求模板中的验证码参数名必须严格设置为
${code}。如果使用了其他变量名(如${number}、${validateCode}、${randomCode}等),将无法触发兜底。 -
触发条件:兜底方案仅在满足以下条件时触发:
-
自定义签名发送失败(非流控原因导致的失败)。
-
运营商及时返回了失败回执。若因终端信号差、运营商回执延迟过高(如超过 1 分钟)或号码状态异常(停机、空号)导致未及时返回失败状态,可能无法触发兜底。
-
-
适用范围:仅支持验证码类短信,不支持通知类或推广类短信。
-
账号权限:该功能目前处于内部邀约阶段,若控制台页面显示空白,说明当前账号尚未获得访问权限。
收到短信显示【北京速通互联科技】、【云渚信息】、【北京云渚信息科技】等非自有签名是怎么回事?
这些签名是阿里云验证码兜底方案的系统默认兜底签名。当您的自定义签名因运营商报备等原因发送失败时,系统会自动切换至兜底签名以保障验证码送达。
发送内容格式:实际发送给用户的短信内容拼接格式为:【兜底签名】(您的自定义签名)+ 短信正文内容。例如:
【北京速通互联科技】(您的自定义签名)尊敬的用户,您的验证码为:1234
-
兜底签名由系统根据内部策略自动选择,不支持用户自定义指定或隐藏。
-
不同批次的短信可能使用不同的兜底签名,属于正常现象。
-
待您的自定义签名完成运营商实名制报备且通道稳定后,系统将自动恢复使用自定义签名发送,不再触发兜底机制。
如何关闭验证码兜底方案?关闭后有什么影响?
关闭方式:目前暂不支持通过 API 接口控制,需登录短信服务控制台通用设置-国内消息设置页面,手动关闭"验证码兜底解决方案"开关。
生效时效:关闭操作预计 10 分钟内生效,在此期间可能仍有少量兜底短信发出。
关闭后影响:
-
关闭后系统不再自动切换兜底签名。如果您的自定义签名仍未完成运营商报备或存在合规问题,短信将直接发送失败。
-
如果自定义签名已报备成功,关闭兜底方案不影响正常发送。
自动恢复机制:如果不想手动关闭,也可保持开启状态。当自定义签名报备成功且发送稳定后,系统会自动优先使用自定义签名发送,兜底方案虽未关闭但不会再被触发。
验证码兜底方案能否保证 100% 发送成功?是否支持通知类短信?
成功率说明:兜底方案能显著提升验证码的触达率,但无法保证 100% 发送成功。最终送达仍受以下因素影响:
-
运营商通道政策调整。
-
接收号码状态异常(停机、空号、关机)。
-
手机终端拦截(防骚扰设置、安全软件拦截)。
适用类型限制:
-
该方案仅适用于验证码类短信。
-
不支持通知类短信(如消防报警、服务提醒等)和推广类短信。通知类短信发送失败后,系统会自动向运营商提交补充报备,但不会切换兜底签名发送。
延迟说明:由于兜底方案是在主签名发送失败后才触发重试,相比直接发送存在固有延迟(通常近 1 分钟),属于正常现象。
控制台绑定手机号测试与 API 发送测试有什么区别?
|
对比项 |
控制台测试 |
API 发送测试 |
|
接收号码限制 |
仅支持向已绑定授权的测试手机号发送 |
无此限制,可向任意国内手机号发送(需符合报备要求) |
|
适用场景 |
快速验证签名和模板是否正常 |
模拟真实业务环境,进行签名报备验证 |
|
效果一致性 |
两者底层发送通道一致,测试结果具有同等参考价值 |
|
能否在控制台直接查看短信上行回复内容或统计指定手机号累计发送量?
上行回复:控制台不支持直接查看用户的短信回复内容。如需获取用户回复,需要配置以下方式之一:
-
配置 HTTP 回调地址(Callback URL),由阿里云主动推送上行消息。
-
通过轻量消息队列(原 MNS)主动拉取上行消息。
累计发送量统计:控制台不支持按手机号直接统计累计发送数量。可以通过以下方式获取:
-
在 业务统计 > 发送记录 页面按时间范围查询发送明细(单次查询最多返回 5000 条记录)。
-
导出发送记录后自行汇总统计。
长变量短信发送与字符限制是什么?
关于短信变量长度和总字符数的说明:
-
变量长度:在解除变量长度限制后,单个模板变量的长度可以超过默认的 35 字符上限。但整条短信(含签名 + 模板固定内容 + 所有变量替换后的内容)的总长度上限为 500 字符。
-
控制台群发助手的限制:群发助手页面的变量输入框可能仍存在 35 字符的前端校验限制。如果变量内容较长,建议通过以下方式绕过该限制:
-
使用导入 Excel 文件方式进行群发,Excel 中的变量字段不受前端校验限制。
-
直接调用 SendSms 或 SendBatchSms API 接口发送。
-
定时群发任务的发送机制是什么?
关于定时群发任务的发送方式说明:
-
并发模式:定时任务到达设定时间后,系统采用并发处理模式发送,并非逐条排队发送。
-
发送时效:2000 条左右的短信通常在几分钟内即可完成下发。具体速度取决于运营商网关的处理能力以及您的账号 QPS 限制。
-
速率控制:默认的 QPS 配额足以支撑快速发送。如需控制发送节奏(如避免瞬时流量过大),可在控制台检查是否有"发送速率"或"分批发送"的配置选项。
大批量群发时推荐使用什么回执接收模式?
对于单次群发一万条及以上的中等偏上业务量,建议优先选择轻量消息队列(原 MNS)消费模式接收发送回执。
该模式的优势:
-
支持消息持久化存储,可靠性高。
-
适合需要缓冲处理或防止消息丢失的场景。
-
相比 HTTP 回调方式,不会因回调服务器处理不及时导致消息丢失。
使用虚拟号群发短信需要什么资质?
使用虚拟号码进行短信群发,仍然需要使用企业资质申请短信签名并完成运营商报备。不支持无资质或以个人名义发送。
具体操作流程请参考短信服务入门文档。
OutId 参数有什么作用?是否需要填写?
OutId 是外部流水扩展字段,非必填。
在调用 SendSms 接口时可以传入自定义的业务 ID(如订单号、流水号等),短信发送回执消息中会原样返回该值。通过 OutId 可以将短信发送记录与业务订单进行关联,方便追踪发送结果。
SmsUpExtendCode(上行短信扩展码)同理,按业务需要选填即可。
通过 API 发送国际短信是否需要在控制台预先添加手机号或创建任务?
不需要。
通过 API 调用发送国际/港澳台短信时,只需在代码中动态传入带国家代码的手机号码(如 +8613800138000),无需在控制台预先添加号码列表或创建发送任务。
群发助手仅用于控制台可视化批量发送操作,与 API 调用方式互不依赖。如果通过程序调用 API 发送,直接在接口参数中传入目标号码即可。