Python 操作腾讯云短信(sms)详细教程

1447 篇文章 12 订阅
1447 篇文章 7 订阅

腾讯云短信

1. 注册腾讯云

已有腾讯云账号可直接跳到第二步

  • 官网
  • 注册, 微信扫码关注腾讯云助手即可快速注册
    在这里插入图片描述
  • 选择 注册新账号,注册完成后,实名认证一下。选择 个人认证,填写一下信息就ok了。
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

2. 开通腾讯云短信

  • 通过上一步我们已经注册好了腾讯云账号,接下来去开通 腾讯云短信 功能。
  • 开通网址:https://console.cloud.tencent.com/smsv2

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: [腾讯云](https://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  # 自己[腾讯云](https://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:[腾讯云](https://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  # 自己[腾讯云](https://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
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值