腾讯云短信服务
免费申请200条免费短信流程
1.注册一个个人用的公众号(订阅号)
2.腾讯云注册&实名
3.腾讯云短信模块操作
按要求创建签名和创建短信模板
4.创建一个应用或者使用默认应用
记住!appid 和appkey
5.在pycharm终端安装python sdk2.0版本
python sdk2.0地址:https://cloud.tencent.com/document/product/382/11672
根据该文档进行操作
腾讯短信服务代码封装
第三方的东西放在根目录下的libs包里
在该包里新建一个包,专门放短信的东西
在tex_msg短信包里新建一个setting.py里封装短信的固定配置
# 短信应用 SDK AppID
appid = 1400758937 # SDK AppID 以1400开头
# 短信应用 SDK AppKey
appkey = "df3968500010e1fa12e1f89c8a7ea171"
# 需要发送短信的手机号码
# phone_numbers = ["21212313123", "12345678902", "12345678903"]
# 短信模板ID,需要在短信控制台中申请
template_id = 1592782 # NOTE: 这里的模板 ID`7839` 只是示例,真实的模板 ID 需要在短信控制台中申请
# 签名
sms_sign = "路上星光" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
send.py里封装了发送短信的功能
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
from . import settings
from luffyapi.utils.logger import log
import random
# 随机生成4位验证码
def get_code():
code = ''
for i in range(4):
code += str(random.randint(0,9))
return code
def send_message(phone,code):
ssender = SmsSingleSender(settings.appid, settings.appkey)
params = [code, '1'] # 当模板没有参数时,`params = []`
try:
result = ssender.send_with_param(86, phone,template_id, params, sign=sms_sign, extend="", ext="")
if result.get('result')==0:
return True
else:
return False
except Exception as e:
# 发送出现异常记下日志
log.error('%s短信发送失败,错误为:%s' % (phone,str(e)))
补充:
# 在包内的init.py里写以下这句好,以后在别的py文件内就可以直接导入这两个函数了,
# 比如from luffyapi.libs.tx_msg import get_code,send_message
from .send import get_code,send_message