Python 操作腾讯云短信(sms)详细教程
腾讯云短信
1. 注册腾讯云
2. 开通腾讯云短信
2.1 创建应用
- 创建一个应用,点进去就会看到 SDK AppID & App Key,后面会用得到。
2.2 创建签名
- 我们创建一个国内短信的签名
签名类型
我推荐使用公众号
,比较容易通过,个人公众号也比较容易申请。
2.3 创建模板
- 接下来我们创建几个短信模板,注册、登录等等
- 这里有一些常用的标准模板,直接使用即可
注意:
发送短信有频率的限制,不过这个只有企业用户可以修改,个人用户无法修改
3. Python 操作腾讯云短信
3.1 模块安装
pip install qcloudsms_py
3.2 详细代码【可直接作为接口】
# -*- coding: UTF-8 -*-
'''=================================================
@Project -> File :MyDjango -> sms
@IDE :PyCharm
@Author :ruochen
@Date :2020/6/21 15:57
@Desc :
=================================================='''
import ssl
# ssl._create_default_https_context = ssl._create_unverified_context
from qcloudsms_py import SmsMultiSender, SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
from django.conf import settings
def send_sms_single(phone_num, template_id, template_param_list):
"""
单条发送短信
:param phone_num: 手机号
:param template_id: [腾讯云](http://l.gushuji.site/tencent)短信模板ID
:param template_param_list: 短信模板所需参数列表,例如:【验证码:{1},描述:{2}】,则传递参数 [888,666]按顺序去格式化模板
:return:
"""
appid = settings.TENCENT_SMS_APP_ID # 自己应用ID
appkey = settings.TENCENT_SMS_APP_KEY # 自己应用Key
sms_sign = settings.TENCENT_SMS_SIGN # 自己[腾讯云](http://l.gushuji.site/tencent)创建签名时填写的签名内容(使用公众号的话这个值一般是公众号全称或简称)
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:[腾讯云](http://l.gushuji.site/tencent)短信模板ID
:param param_list:短信模板所需参数列表,例如:【验证码:{1},描述:{2}】,则传递参数 [888,666]按顺序去格式化模板
:return:
"""
appid = settings.TENCENT_SMS_APP_ID # 自己应用ID
appkey = settings.TENCENT_SMS_APP_KEY # 自己应用Key
sms_sign = settings.TENCENT_SMS_SIGN # 自己[腾讯云](http://l.gushuji.site/tencent)创建签名时填写的签名内容(使用公众号的话这个值一般是公众号全称或简称)
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
「其他文章」
- 阿里云提醒 网站被WebShell木马后门的处理过程
- Typora PicGo 腾讯云COS实现图片上传功能
- 腾讯云Ubuntu 18安装图形化界面
- 百度云 阿里云 腾讯云 这三家CDN哪家更好,求指教?
- 《Java并发编程实战》第十五章 原子变量与非阻塞同步机制 读书笔记
- 阿里云Ubuntu服务器图形界面配置(详细步骤,萌新看过来)
- 阿里云备案服务号?
- 国内三大云数据库测试对比
- 腾讯云与阿里云的异同分析,它们相比各有什么优劣和区别?看看用户怎么说
- 腾讯云、阿里云和百度云之间,哪家公司最有优势
- 腾讯云全面更新数据智能服务全景图!
- 腾讯云存储桶对象存储COS,Web直传代码,使用临时授权验证,vue elementui的upload组件直接调用上传至cos
- 腾讯云技术专家卢萌凯手把手教你Demo一个人脸识别程序!
- 将然之OA系统部署到腾讯云服务器上
- 云服务器(ECS)云主机 云虚拟主机 VPS等产品的区别?
- 揭秘丨7分钟看懂华为云鲲鹏Redis背后的自研技术
- 阿里云有对手了!CDN横评:腾讯云优势明显
- 华为云计算FusionCompute虚拟化平台的安装与设置
- 把jsp servlet mysql项目发布到腾讯云服务器,允许外网访问
- 使用阿里云code和git管理项目