Python调用腾讯云短信服务发送手机短信

作者:R.zb 时间:2021-10-07 16:55:38 

1、准备工作

pip install qcloudsms_py

1.注册腾讯云账号

2.在产品列表内找到短信,在短信内添加应用

Python调用腾讯云短信服务发送手机短信

3.获取对应的SDK AppID 和 App Key

Python调用腾讯云短信服务发送手机短信

4.配置短信内容

注:需先申请“短信签名”和“短信正文”,按照要求填写申请即可,腾讯云的审核效率还是很快的,一般在1-2个小时内就会有结果

Python调用腾讯云短信服务发送手机短信

注:腾讯云的短信服务现在好像也不免费了,之前每个月还会赠送100条免费短信额度。总结:准备工作准备内容:SDK AppID、App Key、应用签名、短信正文模板ID

2、代码实现

# -*- coding: utf-8 -*-
"""
@author: rzb
@software: PyCharm
@file: sms_qcloud.py
@time: 2019/8/21 11:54
"""
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import random
# 使用腾讯云发送手机6位随机验证码
class TestQCloudSMS(object):
   def __init__(self, phone_num):
       self.appid = ****  # 准备工作中的SDK AppID,类型:int
       self.appkey = ****   # 准备工作中的App Key,类型:str
       self.phone_num = phone_num
       self.sign = 'rzbbzr公众号'  # 准备工作中的应用签名,类型:str
   def make_code(self):
       """
       :return: code 6位随机数
       """
       code = ''
       for item in range(6):
           code += str(random.randint(0, 9))
       return code
   def send_msg(self):
       ssender = SmsSingleSender(self.appid, self.appkey)
       try:
           # parms参数类型为list
           rzb = ssender.send_with_param(86, self.phone_num, 短信正文模板ID, [self.make_code()],
                                         sign=self.sign, extend='', ext='')
           print(rzb)
       except HTTPError as http:
           print("HTTPError", http)
       except Exception as e:
           print(e)
if __name__ == '__main__':
   phone_num = ['188********', '185********', '176********']
   sendmsg = TestQCloudSMS(random.choices(phone_num)[0])   # 需传入发送短信的手机号,单发
   sendmsg.send_msg()

3、拓展

官方文档中心里面给出了多种API的详细使用,有兴趣的同学可以去看看

腾讯云文档中心:https://cloud.tencent.com/document/product/382/5976

Python调用腾讯云短信服务发送手机短信

4、闲聊

可用于但不限于以下用途

  • 脚本触发/告警

  • 事务提醒

  • 追番更新、电视剧更新等

  • ……

来源:https://blog.csdn.net/qq_21238607/article/details/102460995

标签:Python,腾讯云,短信发送
0
投稿

猜你喜欢

  • 对Python3 解析html的几种操作方式小结

    2021-04-07 20:13:12
  • python 实现体质指数BMI计算

    2023-01-25 12:44:56
  • Windows下安装python MySQLdb遇到的问题及解决方法

    2022-07-20 13:22:36
  • 科学知识:时间复杂度计算方法

    2023-09-18 21:42:28
  • Python读取系统文件夹内所有文件并统计数量的方法

    2021-11-14 07:39:28
  • Python编程mac下使用pycharm小技巧

    2022-10-21 19:23:52
  • JavaScript 获取客户端计算机硬件及系统信息

    2009-01-13 17:59:00
  • IIS6.0下ASP的新增功能

    2007-08-22 14:55:00
  • js实现关闭网页出现是否离开提示

    2024-05-09 10:36:13
  • python 安全地删除列表元素的方法

    2022-11-20 16:21:35
  • 一篇文章介绍redux、react-redux、redux-saga总结

    2023-08-22 16:56:32
  • Python语言描述最大连续子序列和

    2023-10-03 20:16:24
  • python数据处理之Pandas类型转换的实现

    2021-04-11 11:17:36
  • 一次mysql迁移的方案与踩坑实战记录

    2024-01-13 03:34:42
  • Oracle中的分析函数汇总

    2024-01-20 05:59:38
  • 基于python操作ES实例详解

    2021-01-06 05:08:28
  • SQL解决未能删除约束问题drop constraint

    2024-01-24 20:08:09
  • Python 使用with上下文实现计时功能

    2022-08-20 02:43:21
  • Python3里的super()和__class__使用介绍

    2022-06-27 09:29:35
  • Python装饰器实现几类验证功能做法实例

    2023-11-11 18:09:30
  • asp之家 网络编程 m.aspxhome.com