腾讯云(短信验证、短信通知) 【需要备案】
-
参考
腾讯云 腾讯云短信: https://cloud.tencent.com/product/sms 参考文档: https://cloud.tencent.com/document/product/382/11672
-
腾讯云 短信 SMS 申请
https://cloud.tencent.com/product/sms
-
创建应用
准备好相关参数 腾讯云短信每个月赠送100条短信,申请一个应用,获取appid,然后创建短信签名,之后创建正文模版 应用 》 应用配置 》 appid 应用 》 国内短信 》 短信内容配置 》 短信签名 应用 》 国内短信 》 短信内容配置 》 短信正文(模板)
-
安装
pip install qcloudsms_py
-
腾讯云短信 Python SDK
https://github.com/qcloudsms/qcloudsms_py
-
发送短信
# 定义资源 class SMSResource(Resource): def get(self): from qcloudsms_py import SmsSingleSender from qcloudsms_py.httpclient import HTTPError # SDK AppID是短信应用的唯一标识,调用短信API接口时需要提供该参数 appid = 1400112809 # App Key是用来校验短信发送请求合法性的密码,与SDK AppID对应,需要业务方高度保密 appkey = '8d8b808cb9073023631d241951f49fb4' # 正文(模板id) template_id = 166915 sms_sign = 'TPP短信验证' ssender = SmsSingleSender(appid, appkey) sms_type = 0 # 短信模板: 短信验证码: {1},请于{2}分钟内填写。如非本人操作,请忽略本短信 randomstr = random.randrange(1000,10000) # 验证码 # 模板: 验证码 超时时间 params = [randomstr, 3] # 模板设置的两个参数 # 需要发送的手机号码 phone = 13800138000 try: result = ssender.send_with_param(86, phone, template_id, params, sign=sms_sign, extend="", ext="") # 签名参数未提供或者为空时,会使用默认签名发送短信 # 验证码(后续验证从缓存中获取验证码) cache.set('smsid', randomstr,timeout=180) return {'msg': '短信发送成功'} except HTTPError as e: print(e) except Exception as e: print(e) # 添加资源 api.add_resource(SMSResource, '/api/v1/sms/') # 测试 127.0.0.1:5000/api/v1/sms/
备注: 本站配置,每月只有100条免费短信,如果超过即本示例发送短信失败!!!