1. 首页
  2. 产品与方案发布
  3. 短信发送失败?可能是触犯了这条1分钟规则

短信发送失败?可能是触犯了这条1分钟规则

  • 发布于 2026-07-17
  • 4 次阅读

一、规则定义与立法依据

1. 规则全称
运营商短信网关同接收号码 + 相同短信内容 60 秒时间窗口下发限流规则(行业简称:一分钟同号同内容剔重限流)
280338768595070.png
2. 合规底层依据

  • 工信部《通信短信息服务管理规定》:禁止未经用户许可重复推送相同信息,防范垃圾短信、短信轰炸骚扰用户。
  • 移动 / 联通 / 电信 / 广电运营商全网网关统一风控规范,属于通道强制硬限制,第三方短信平台 / 企业无法绕过。
  • CPaaS 云通信平台(阿里云、腾讯云、秒信通等)同步叠加该层前置校验,与运营商网关双重拦截。

3. 核心一句话规则
同一接收手机号,完全一致的短信正文内容,在连续 60 秒(1 分钟)时间区间内,运营商网关仅允许成功下发 1 条;第 2 条及以上重复请求直接拦截、不予投递,返回限流错误码。

二、规则判定维度

维度 1:接收号码(to 号码)完全一致

  • 仅匹配目标收信手机号,与发送端口(106/95/100xx)、短信签名无关。
  • 例:发给 138XXXX0001 和 139XXXX0002,即便内容一样,互不触发限流。

维度 2:短信正文内容完全匹配(字符级精准比对)

  • 比对范围:签名 + 正文全部字符(含标点、空格、换行、变量数字、链接)。
  • 判定标准:任意 1 个字符差异即判定为「不同内容」,不触发限流。
    • 拦截示例
      【XX 商城】您的验证码:123456,5 分钟有效
      【XX 商城】您的验证码:123456,5 分钟有效 → 完全重复,1 分钟内第二条拦截
    • 放行示例
      【XX 商城】您的验证码:123456,5 分钟有效
      【XX 商城】您的验证码:654321,5 分钟有效 → 验证码数字不同,视为不同内容
  • 模板短信机制:使用同一模板 ID + 相同变量发送,等同于内容完全重复;动态变量变化则重置计时窗口。

维度 3:时间窗口(两种计时模式,运营商混合使用)

  • 滚动滑动窗口(主流,移动 / 电信)
    以每条短信提交时间为起点,向后滑动 60 秒。
    例:10:00:05 下发 1 条,10:01:04 前所有同号同内容请求全部拦截,10:01:05 起恢复下发资格。
  • 自然分钟窗口(联通 / 广电部分网关)
    按整点自然分钟划分:10:00:00 – 10:00:59 为独立窗口,跨分钟自动重置计数。
    例:10:00:58 下发 1 条,10:01:01 即可再次下发相同内容。
  • 关键:两种窗口运营商底层自动切换,业务侧统一按 60 秒冷却期设计重试逻辑。

维度 4:短信业务类型统一适用(无豁免通道)

  • 验证码短信、行业通知短信、营销推广短信、5G 消息、视频短信全部强制执行。
  • 仅政企白名单端口可向秒信通客服协助申请临时放宽阈值,普通商用 106 通道无豁免权限。

三、网关完整执行流程(从提交到拦截/下发)

  1. 企业 / 第三方平台调用 API 提交短信请求。
  2. MiCPaaS 平台前置校验:匹配手机号 + 内容 + 时间,提前拦截超限请求。
  3. 短信推送至运营商省级网关。
  4. 运营商网关执行四层校验:
    ① 敏感词 / 违规内容过滤;
    ② 黑白名单校验;
    ③ 全局单号码日 / 小时总量限流;
    ④ 同号同内容 1 分钟剔重限流(本规则)。
  5. 分支处理:
    • 窗口内无下发记录:正常入队投递,网关缓存「手机号 + 内容哈希 + 过期时间 60s」计数。
    • 窗口内已有 1 条下发记录:直接丢弃本条短信,返回标准化限流回执。
  6. 缓存过期机制:60 秒后自动清除该组手机号 + 内容计数,重新开放下发权限。

四、拦截行为与返回错误规范

1. 拦截后果

  • 短信不送达用户手机,无任何推送。
  • 不计入运营商计费条数(拦截不扣费)。
  • 接口同步返回失败回执,留存拦截日志备查。

2. 通用错误码(三大运营商统一标准)

运营商限流错误码回执描述
移动10016 / MSGW:REPEAT_SMS一分钟内同号码相同内容重复下发,触发流控
联通908 / UNDELIV:908短时间重复短信拦截
电信E204 / CARRIER_LIMIT相同内容下发频率超限
广电L007重复短信风控拦截

3. 日志留存要求

  • 运营商网关强制留存拦截日志 ≥ 6 个月,记录字段:接收手机号、短信内容哈希、提交时间、拦截原因、端口号、通道 ID。
    用于工信部骚扰短信核查溯源。来源于中国政府网。

五、规则业务边界与特殊场景说明

1. 内容微小差异不触发限流(放行场景)

  • 验证码数字、订单号、随机链接、时间戳等动态参数变更。
  • 结尾退订提示文字增减(如「拒收回 R」)。
  • 空格、换行、标点轻微调整。
  • 短信签名变更(企业多签名切换发送)。

2. 同内容不同接收号完全放行

  • 同一内容批量发给多个手机号,互不干扰,无条数限制(仅受单通道 QPS、单日总量约束)。

3. 重试逻辑禁忌(高频踩坑点)

  • 业务侧自动重试机制若间隔 < 60 秒,重复提交相同验证码 / 通知,会持续触发网关拦截。
  • 标准业务规范:验证码重试间隔 ≥ 60 秒,通知类消息重试间隔 ≥ 3 分钟。

4. 与其他限流规则叠加关系(多层风控)
本规则为细粒度内容层限流,叠加两层基础限流:

  • 总量限流:单手机号 1 小时 / 单日总短信条数上限(验证码 5 条 / 小时、10 条 / 天;营销 2–3 条 / 天)。
  • 通用频控:同号码不限内容,1 分钟最多 4–10 条。
  • 任意一层超限,短信都会被拦截,优先触发同号同内容剔重规则。

5. 白名单特殊政策(极少开放)

  • 政企政务、应急预警、银行风控等高优先级业务,可向运营商省级分公司书面申请白名单,放宽至「1 分钟同号同内容最多 2 条」。
  • 互联网普通企业、电商、线下门店无申请资格,强制 1 条 / 分钟上限。

六、规则设计目的

  • 防短信轰炸:拦截恶意脚本高频刷验证码,保护用户、降低企业通道损耗。
  • 治理骚扰短信:杜绝商家每分钟重复推送相同营销广告,符合工信部整治要求。
  • 减轻网关负载:过滤无意义重复请求,保障全网短信通道吞吐量稳定。
  • 降低用户投诉:减少重复信息骚扰,降低 12321 垃圾短信举报率,避免端口关停风险。

七、业务侧适配开发规范

  • 接口层缓存:Redis 存储 key = 手机号 + 内容哈希,过期时间 60 秒,本地前置拦截,减少无效 API 请求。
  • 前端限制:验证码按钮置灰冷却 60 秒,禁止连续点击。
  • 重试策略:限流失败回执不立即重试,等待完整 60 秒窗口后再发起。
  • 内容差异化设计:动态嵌入订单号、时间戳、随机标识,规避重复判定。
  • 告警监控:监控 REPEAT_SMS/908 限流错误码,突增时排查接口重刷漏洞。

八、完整示例演示

示例 1:触发拦截(相同内容,间隔 20 秒)

  • 10:00:10 下发 【XX 登录】验证码 888888 → 网关放行,缓存计数生效
  • 10:00:30 再次提交完全相同短信 → 1 分钟窗口未过期,网关拦截,返回错误码 908

示例 2:正常放行(跨 60 秒窗口)

  • 10:00:10 下发验证码 888888
  • 10:01:15 再次提交相同短信 → 缓存过期,计数重置,正常下发

示例 3:内容变更,不触发限流

  • 10:00:10 下发验证码 888888
  • 10:00:30 下发验证码 666666 → 内容字符不一致,直接放行

规则采自中国电信、中国移动、中国联通。