注册一个签名(用公众号注册方便)
创建模板(登录、注册等等)
创建一个应用(为了使用AppID、AppKey)
from qcloudsms_py import SmsMultiSender, SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import random #随机生成n位数做验证码
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 = APPID # 应用ID
appkey = APPKEY # 应用Key
sms_sign = SIGN # 腾讯云创建签名时填写的签名内容(使用公众号的话这个值一般是公众号全称或简称)
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, 'errmsg': "网络异常发送失败"}
return response
def send_sms_multi(phone_num_list, template_id, param_list):
"""
批量发送短信
:param phone_num_list:手机号列表
:param template_id:腾讯云短信模板ID
:param param_list:短信模板所需参数列表,例如:【验证码:{1},描述:{2}】,则传递参数 [888,666]按顺序去格式化模板
:return:
"""
appid = APPID # 应用ID
appkey = APPKEY # 应用Key
sms_sign = SIGN # 腾讯云创建签名时填写的签名内容(使用公众号的话这个值一般是公众号全称或简称)
sender = SmsMultiSender(appid, appkey)
try:
response = sender.send_with_param(86, phone_num_list, template_id, param_list, sign=sms_sign)
except HTTPError as e:
response = {'result': 1000, 'errmsg': "网络异常发送失败"}
return response
if __name__ == '__main__':
result1 = send_sms_single(123456789,123,[666]) #单条发送
result2 = send_sms_multi([123456,456789], 789, [666, ]) #多条发送
#单个手机号是字符串,多个手机号是列表