1.注册并认证&开通云短信
https://cloud.tencent.com/
https://console.cloud.tencent.com/smsv2
2.创建应用
左侧导航->应用列表->创建应用
3.创建签名
左侧导航->国内短信->签名管理->创建签名
创建签名选择公众号;证明类型:公众号设置页截图
4.创建模板
左侧导航->国内短信->模板管理
5.发送短信
上述的准备工作做完中我们开通相关服务并获取到如下几个值:
- 创建应用,获取到 `appid `和 `appkey`
- 创建签名,获取到 `签名内容`
- 创建模板,获取到 `模板ID`
接下来使用python 发送短信。
第一步:安装SDK
`pip isntall qcloudsms_py`
第二步:基于SDK发送短信
import ssl
from qcloudsms_py import SmsMultiSender,SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import ssl
def send_sms_single(phone_num,template_id,template_param_list):
"""
单条发送短信
:param phone_num: 手机号
:param template_id: 腾讯云短信模板ID
:param template_param_list: 短信模板所需参与列表,例如:[验证码:{1},描述{2},则传递参数[888,666]按顺序去格式化模板]
:return:
"""
appid = 112142
appkey = "xxxx"
sms_sign = "xxx"
sender = SmsSingleSender(appid,appkey)
try:
response = sender.send_with_param(86,phone_num,template_id,template_param_list,sign=sms_sign)
except HTTPError as e:
response = {'result':1000,'errmgs':'网络异常发送失败'}
return response
def send_sms_multi(phone_num_list,template_id,param_list):
"""
批量发送短信
:param phone_num_list: 手机号列表
:param template_id: 腾讯短信模板ID
:param param_list: 短信模板所需参数列表
:return:
"""
appid = 112142
appkey = "xxxx"
sms_sign = "xxxx"
sender = SmsMultiSender(appid,appkey)
try:
response = sender.send_with_param(86,phone_num_list,template_param_list,sign=sms_sign)
except HTTPError as e:
response = {'result':1000,'errmgs':'网络异常发送失败'}
if __name__ == '__main__':
result1 = send_sms_single("18811118888",548760,[666,])
print(result1)
result2 = send_sms_multi(["18811112222","19211114444"],548760,[999,])
6.关于频率限制
由于免费用户所有无法进行设置,只能使用默认配置(30秒发1条/1小时发5条/1天发10条)