本文汇总了短信服务的常见问题与处理建议。
短信发送
短信字数如何计算?变量长度有什么限制?
国内短信长度 = 签名字数 + 模板内容字数(含变量实际内容)。中文、英文、数字、标点符号均按 1 个字符计算。
计费拆分规则:70 字及以内按 1 条短信计费;超过 70 字按 67 字/条拆分,按实际拆分条数计费。
变量限制:单个变量不超过 20 个字符(验证码类不超过 6 个字符)。建议模板内容中的变量数量不超过3个。
更多信息,请参见使用须知。
如何查看短信发送成功率和整体发送情况?
请登录短信服务控制台查看:
短信服务的完整使用流程是什么?
使用短信服务发送短信需要完成以下步骤:
开通短信服务:访问短信服务产品页开通服务。
申请资质:完成企业实名资质认证。个人认证账号需申请"他用企业资质"(关联一家企业的营业执照并上传盖章授权委托书)。
申请签名:在控制台创建短信签名,等待审核通过。
申请模板:在控制台创建短信模板,等待审核通过。
等待运营商报备:签名审核通过后,系统自动向三大运营商发起实名制报备。
发送短信:通过 API/SDK 或控制台群发助手发送短信。
快速入门指南,请参见新手指引。
签名审核通过了,为什么还是发不了短信?
签名审核通过不等于可以立即正常发送。审核通过后,系统还需向三大运营商完成实名制报备。报备期间,部分运营商方向可能出现发送失败,属于正常现象。
建议操作:
在控制台"签名管理"页面查看三大运营商的报备状态。
保持一定的发送活跃度(建议每网每天发送 10 条以上,一周中至少 3 天有发送量),以推动报备验证尽快通过。
报备全部完成后,发送成功率将恢复正常。
更多信息,请参见签名实名制报备。
签名状态显示"可用-异常"或"报备失效"是什么意思?
可用-异常:签名已完成报备,但部分子端口存在异常,可能导致少量号码发送失败。您可以继续正常使用,建议持续关注发送成功率。
报备失效:此前已完成报备的签名,在运营商重新校验时未通过。您需要在控制台"签名管理"中重新发起报备。如果签名来源原为"已上线APP",由于运营商政策调整,需将签名来源变更为"企事业单位名"或"已注册商标名"后重新申请。
验证码短信和通知/推广短信的送达时效有区别吗?
有区别。通知短信和推广短信不保证具体送达时效,实际送达时间受运营商通道状态、内容审核等因素影响。
短信内容包含联系方式或链接被拦截怎么办?
运营商对含联系方式(电话、微信号、链接等)的引流类短信存在拦截风险。请遵循以下规范:
链接/短链:平台规范不限制模板中包含链接,但运营商对引流信息有拦截风险,建议完成引流信息以降低拦截概率。不支持通过变量拼接短链。
手机号/QQ/微信:不支持在模板中以变量或明文形式写入。仅允许固话号码以明文写入,且需完成引流信息报备。
模板类型匹配:模板内容需与短信类型(验证码/通知/推广)一致。
如果发送失败提示"内容关键字拦截",可使用控制台的关键字拦截排查工具定位被拦截的具体内容片段。
签名与模板审核
签名/模板审核需要多长时间?
签名和模板审核一般在 2 小时内完成(周一至周日9:00~21:00,法定节假日顺延)。
短信资质审核需要多长时间?
短信资质审核通常在 2 个工作日内完成。
模板审核时关联的签名,是否决定实际发送时使用的签名?
不是。模板审核时关联的签名仅用于审核环节。实际发送短信时,使用的签名以 API 调用中 SignName 参数指定的签名为准。模板审核通过后,可与同一账号下任意已审核通过的签名搭配发送。
计费与套餐包
有没有查询套餐包剩余量的 API?
目前没有查询套餐包剩余量的 API。请登录短信服务控制台,在套餐包页面查看套餐包剩余条数和有效期。
套餐包能否延期?
短信套餐包支持申请延期一次(延长 3 个月)。如果套餐包此前未申请过延期,可通过提交工单申请处理;如果已延期过一次,则无法再次延期。
请注意:套餐包过期后无法继续使用,需在到期前申请延期。
套餐包管理路径:控制台 > 套餐包管理。
个人认证账号能否使用短信服务?
可以。短信服务不限制账号认证主体类型,个人认证账号也可以使用。
个人认证账号需申请"他用企业资质":关联一家企业的营业执照,并上传加盖企业公章的授权委托书。资质审核通过后,即可正常申请签名和模板。
操作路径:控制台 > 短信服务 > 资质管理 > 新增资质 > 选择"他用资质"。
频率限制
短信发送频率限制是怎样的?"1条/分钟"按什么计算?
短信发送频率限制如下:
验证码短信(同一手机号 + 同一签名):1 条/分钟、5 条/小时、40 条/日。其中 40 条/日的限制最容易触发。
通知短信(同一手机号 + 同一签名 + 同一模板):默认不超过控制台设置的发送上限(最高 50 条/日)。
推广短信(同一手机号 + 同一签名 + 同一模板):默认不超过控制台设置的发送上限(最高 50 条/日)。
关于时间窗口的计算方式:"1 条/分钟、5 条/小时"基于自然时间窗口计算(按 UTC+8 时区的整分钟/整小时划分)。例如 14:03:00~14:03:59 为一个分钟窗口,而非从发送时刻起算的滚动窗口。
如需调整频率限制,请在控制台操作:控制台 > 短信设置 > 发送频率设置。
账号与安全
如何获取或创建 AccessKey?
AccessKey 是调用短信服务 API 的身份凭证。获取方式:
登录阿里云控制台。
点击右上角头像 > AccessKey。
创建 AccessKey。
安全建议:
建议使用 RAM 子账号的 AccessKey(而非主账号),并仅授予短信服务相关权限。
不要将 AccessKey 硬编码在代码中,建议使用环境变量或密钥管理服务。
更多信息,请参见创建AccessKey。
国内短信 SDK 应该用哪个版本?
国内短信 API 请使用 dysmsapi20170525 版本。Dysmsapi20180501 为国际/港澳台短信 API,请勿混用。
API 文档:发送短信
SDK 示例:Java SDK调用示例
短信被恶意刷量(短信轰炸)怎么办?
建议从客户端侧进行防护:
在获取验证码前增加图形验证码、滑动验证或行为验证等人机校验。
对短信发送接口做加密和签名鉴权,防止被非法调用。
在控制台"安全防护"中配置防刷规则(如同一号码、同一 IP 的限流策略)。
如发现异常,及时更换新的 AccessKey 并立即停用旧 AccessKey。
更多信息,请参见验证码防盗刷。
收到 AccessKey 泄漏风险提示怎么处理?
如果系统检测到您的 AccessKey 存在泄漏风险,建议立即执行以下操作:
在 RAM 控制台禁用存在风险的 AccessKey。
创建一对新的 AccessKey(建议使用 RAM 子账号,仅授予短信服务相关权限)。
排查泄漏源头(常见原因:代码仓库提交、日志输出、客户端代码硬编码等)。
后续将 AccessKey 存放在环境变量或密钥管理服务中,避免硬编码。