标签:创建 http -- ext utils template util for class
需要借助第三方平台来发送短信,如阿里云、云通讯(对python3不友好)、腾讯云。在这里用的是腾讯云来作为示例
* 应用列表:管理应用的;
* 套餐包管理:管理套餐包的;
* SDK & API:就是一些相关的指南手册(开发指南);
更多短信发送参考SDK & API中的开发指南:文档中心 > 短信 > SDK文档 > Python SDK https://cloud.tencent.com/document/product/382/11672
pip install qcloudsms_py
# 短信应用 SDK AppID 以1400开头
appid = 1400009099
# 短信应用 SDK AppKey 根据自己的短信应用配置
appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad"
# 需要发送短信的手机号码(非必填项,可在你的开发代码中传入)
phone_numbers = ["21212313123", "12345678902", "12345678903"]
# 短信模板ID,真实的模板 ID 需要在短信控制台中申请
template_id = 7839 # 这里的模板 ID`7839`只是示例,
# 签名,使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请
sms_sign = "腾讯云" # 发写个空字符串也行
import random
from utils.logging import logger
from .settings import *
from qcloudsms_py import SmsSingleSender
ssender = SmsSingleSender(appid, appkey)
# 生成验证码
def get_code():
code = ''
for i in range(4):
code += str(random.randint(0, 9))
return code
def send_sms(mobile, code, exp):
"""
发送短信
:param mobile: 电话号码
:param code: 验证码
:param exp: 过期时间
:return:
"""
try:
response = ssender.send_with_param(86, mobile, template_id, (code, exp), sign=sms_sign, extend="", ext="")
# 短信发送成功的标识:没有异常且response大字典中的result为0
if response and response['result']==0:
return True
logger.error('sms error: %s'% response['errmsg'])
return
except Exception as e:
logger.error("sms error: %s" % e)
return False
if __name__ == '__main__':
code = get_code()
print(code)
result = send_sms('xxxxxxx',code,'1') # 电话号码,验证码,过期时间
print(result)
标签:创建 http -- ext utils template util for class
原文地址:https://www.cnblogs.com/bladecheng/p/11565611.html