发送短信前,请先了解短信内容长度限制和发送频率限制。
短信内容长度计算规则
短信内容长度(字数)= 短信签名字数 + 短信模板内容字数。其中,短信内容不超过500字。
短信签名字数包括发送短信时系统自动添加的
【】或[]符号。短信模板内容字数以实际收到的短信内容字数为准。
短信类型 | 长度计算规则 | |
国内短信 | 简体中文、字母、数字、标点符号(不区分全角和半角),都按照1个字计算。 短信长度≤70个字,按照1条短信计费;>70个字时为长短信,按照67字/条,拆分成多条计费。 示例:短信长度为160个字,按照67字、67字、26字分隔成3条短信进行计费。 | |
国际/港澳台 短信 | 纯英文短信 (GSM-7编码) | 字母、数字等标准字符均按1个字计算;扩展字符按2个字计算,扩展字符包括: 若短信内容包含未列举的其他扩展字符,则整条短信(无论长短、是否拆分)都会完全按照其他语言短信(UCS-2编码)的规则计算。 短信长度≤160字时,按照1条短信计费;>160字时为长短信,按153字/条,拆分成多条计费。 纯英文签名符号为 示例:短信长度为350字,按照153字、153字、44字分隔成3条短信进行计费。 |
其他语言短信 (UCS-2编码) | 汉字、字母、数字、符号以及空格等,都按1个字计算。 短信长度≤70字时,按照1条短信计费;>70字时为长短信,按67字/条,拆分成多条计费。 示例:短信长度为150字,按照67字、67字、16字分隔成3条短信进行计费。 | |
短信发送频率限制
以下规则只针对发往中国内地的短信,不适用于中国香港、中国澳门、中国台湾地区和海外国家。
在实际业务中,用户可能出现频繁获取验证码或通过短信找回密码等操作。为防止短信被恶意调用,阿里云对短信发送进行以下限制。
国内短信服务
短信类型 | 发送限制说明 |
验证码 |
|
短信通知 | 使用同一个签名和同一个短信模板Code,对同一个手机号码发送短信通知,最多支持50条/天。即使模板变量内容不同,只要签名和模板Code相同,频率限制仍然生效。 |
推广短信 | 使用同一个签名和同一个短信模板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。
短信提交成功就会计入短信发送流控(通过控制台添加发送任务或调用接口请求成功),无论短信回执是否成功。
频率限制基于接口请求次数计数。一次 API 调用仅计为 1 次发送频率,无论短信内容是否因超过 70 字而拆分为多条片段。长短信产生的多个拆分片段不单独计入频率限制。
触发短信发送限制后的处理建议
设置白名单号码。
白名单号码不受短信发送频率限制,最多可添加300个。具体操作请参见设置短信白名单。
白名单号码不受流控限制仅限于短信服务,您还需考虑运营商侧的流控限制。
个人用户,目前暂时不支持调整流控限制。
若触发天级接口流控拦截,24小时后会自动解除,建议您稍后重新发送。或将您当前的账户升级为企业用户,具体操作请参见个人认证如何变更为企业认证。
如果触发小时限制,建议一个小时后重新发送短信。
如果提示业务限流,建议根据相应限制调整接口调用时间或降低发送频率。
群发短信人数上限
在发送任务页面选择手动输入方式添加接收号码时,最多支持1000个号码;大批量号码建议通过文件导入方式提交。通过文件导入方式提交时,暂无明确的号码数量上限,建议每次导入号码数控制在50万以内。
每日发送总量
短信服务对每日发送短信的总条数无统一限制,仅对同一手机号码按发送频率设置中的规则进行流控(参见本章节“国内短信服务”表格)。您可以在短信服务控制台的通用设置 > 国内消息设置 > 安全设置中配置日发送量和月发送量阈值,用于监控和预警发送量异常,默认不设预警、不设限额。