解决调用阿里大于短信服务发送短信频率次数限制。
由于阿里大于发送短信验证码有次数限制。官方说明具体如下:
- 短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,1条/分钟,5条/小时,10条/天。一个手机号码通过阿里云短信服务平台只能收到40条/天。(天的计算方式是是当下时间往后推24小时,例如2017年8月24日:11:00发送一条验证码短信,计算限流方式是2017年8月23日11:00点到8月24日:11:00点,是否满40条)
- 短信通知: 使用同一个签名和同一个短信模版ID,对同一个手机号码发送短信通知,支持50条/天(天的计算方式是是当下时间往后推24小时,例如2017年8月24日:11:00发送一条短信,计算限流方式是2017年8月23日11:00点到8月24日:11:00点,是否满50条)。
这个时候,就要对发送次数做一些限制。比如:一天只能给一个手机号发送两次。。。
解决办法:
建立一个临时表用来统计手机验证的次数,手机短信发送存数据库,查询统计、判断。
数据记录表
id uid date send_times
判断
select send_times where uid=xxx and date=xxx;
if (send_times < 2) {
//可以发送
} else {
//发送次数已用完
}