阿里云短信发送失败,错误码isv.BUSINESS_LIMIT_CONTROL
调用阿里云短信API时返回错误码 isv.BUSINESS_LIMIT_CONTROL,表示触发了短信发送频率限制。本文解释限制规则和解决方案。
限制规则
阿里云短信有以下频率限制:
- 同一手机号:同一模板1分钟内只能发1条,1小时内最多5条,24小时内最多10条
- 同一签名:每天发送量有上限(根据账号等级不同)
- 账号级别:新账号有日发送量上限,随使用量增加逐步提升
解决方案
前端防刷:发送按钮点击后60秒倒计时,防止用户频繁点击。增加图形验证码或滑块验证。
后端限流:在调用短信API前做频率检查。使用Redis记录每个手机号的发送次数,超过限制直接拒绝。
合并短信:如果是验证码+通知同时发送的场景,合并为一条短信减少发送量。
提升限额:如果业务确实需要更高的发送频率,在阿里云控制台提交工单申请提升限额。提供业务场景说明和预期发送量。
其他常见错误码
isv.SMS_SIGNATURE_ILLEGAL:签名未审核或不存在。isv.SMS_TEMPLATE_ILLEGAL:模板未审核。isv.MOBILE_NUMBER_ILLEGAL:手机号格式错误。isp.RAM_PERMISSION_DENY:RAM子账号没有短信发送权限。
