原创不易,欢迎关注我的微信公众号:司马弈 获取更多精选内容。

腾讯云短信服务介绍

目前【腾讯云短信】为客户提供【国内短信】、【国内语音】和【海外短信】三大服务,腾讯云短信SDK支持以下操作:

国内短信

国内短信支持操作:

- 指定模板单发短信

- 指定模板群发短信

- 拉取短信回执和短信回复状态

海外短信

海外短信支持操作:

- 指定模板单发短信

- 指定模板群发短信

- 拉取短信回执和短信回复状态

注:海外短信和国内短信使用同一接口,只需替换相应的国家码与手机号码,每次请求群发接口手机号码需全部为国内或者海外手机号码。

语音通知

语音通知支持操作:

- 发送语音验证码

- 发送语音通知

- 上传语音文件

- 按语音文件fid发送语音通知

- 指定模板发送语音通知类

开发环境准备

在开始开发云短信应用之前,需要准备如下信息:

- 1.获取SDK AppID和AppKey

云短信应用SDK `AppID`和`AppKey`可在[短信控制台](https://console.cloud.tencent.com/sms)的应用信息里获取,如您尚未添加应用,请到[短信控制台](https://console.cloud.tencent.com/sms)中添加应用。

- 2. 申请签名

一个完整的短信由短信`签名`和短信正文内容两部分组成,短信`签名`须申请和审核,`签名`可在[短信控制台](https://console.cloud.tencent.com/sms)的相应服务模块`内容配置`中进行申请。

- 3. 申请模板

同样短信或语音正文内容`模板`须申请和审核,`模板`可在[短信控制台](https://console.cloud.tencent.com/sms)的相应服务模块`内容配置`中进行申请。

具体操作如下:

1) 注册腾讯云账号

https://cloud.tencent.com/

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

点击“免费领取短信”,会送一百次调用。

然后我们创建一个应用:

获取对应的SDK AppID 和 App Key

配置短信内容

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

总结:准备工作准备内容:SDK AppID、App Key、应用签名、短信正文模板ID。

2)安装 qcloudsms_py(腾讯云短信 Python SDK)

安装

pip

qcloudsms_py采用pip进行安装,要使用qcloudsms功能,只需要执行:

pip install qcloudsms_py

手动

github:https://github.com/qcloudsms/qcloudsms_py

1.手动下载或clone最新版本qcloudsms_py代码

2.在qcloudsms_py目录运行pythonsetup.pyinstall或直接把qcloudsms_py所在目录加入sys.path(python2/python3都支持)

开发实现

如果我们直接按官方的案例实现,会出现ssl:certificate_verify_failed这个问题,报错如下:

rubyCaughtvmodlfault:[SSL:CERTIFICATE_VERIFY_FAILED]certificateverifyfailed(_ssl.c:590)

产生这个问题的原因在于python本身,pyhon升级到2.7.9以后,引入了一个新特性,当使用urllib打开https的链接时,会检验一次ssl证书。而当目标网站使用的是自签名证书时,就会抛出urllib2.URLError的错误,所以我们这里导入了ssl的包来避免这个问题。

# @Time : 2020/5/24 22:13
# @Author : 编程技术圈
# @Site :
# @File : send_msg.py
# @Software: PyCharmfrom qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import random
import sslssl._create_default_https_context = ssl._create_unverified_context# 使用腾讯云发送手机6位随机验证码
class TestQCloudSMS(object):def __init__(self, phone_num):self.appid =''  # 准备工作中的SDK AppID,类型:intself.appkey = ''   # 准备工作中的App Key,类型:strself.phone_num = phone_numself.sign = ''  # 准备工作中的应用签名,类型:strdef make_code(self):""":return: code 6位随机数"""code = ''for item in range(6):code += str(random.randint(0, 9))return codedef send_msg(self):ssender = SmsSingleSender(self.appid, self.appkey)try:# parms参数类型为listrzb = ssender.send_with_param(86, self.phone_num, 613429, [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 = ['156********']sendmsg = TestQCloudSMS(random.choices(phone_num)[0])   # 需传入发送短信的手机号,单发sendmsg.send_msg()

当我们程序运行后,返回的"errmsg"为"ok"的时候,就发送成功了,这时我们看下手机有没有收到:

手机收到的正是我们定制的模板内容,搞定!

Python使用腾讯云-短信服务发送手机短信相关推荐

  1. 通过短信猫发送手机短信

    wavecom短信猫常用AT命令 一.一般命令 1. AT+CGMI 给出模块厂商的标识. 2. AT+CGMM 获得模块标识.这个命令用来得到支持的频带 (GSM 900,DCS 1800 或PCS ...

  2. java 手机短信_JAVA发送手机短信

    JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送 ...

  3. 美橙互联短信服务——发送注册短信并验证

    接口层 package com.demo.service;import com.demo.common.JsonResult;public interface SendService {/*** 发送 ...

  4. 短信java_Java发送手机短信(附代码和解析,亲测有效,简便易操作)

    这个方法用的是中国网建SMS短信通相关依赖进行操作的~~ 很简单,仅需要三步,第二部代码直接复制,不需要修改,第三部中的用户名和密钥修改成自己的即可 <1> 首先需要导入三个jar包 &l ...

  5. 通过PC发送手机短信

    手机短信发送²        中文转换成Unicode码函数 因为手机短消息的发送是以PDU串的形式发送出去的,中文字符以Unicode码来表示,所以在发送中文短消息之前必须首先将中文字符转换为Uni ...

  6. 网易云发送验证码短信,发送通知短信,java版

    网易云中的短信服务 发送验证码短信,创建  MobileMessageSend : import java.io.IOException; import java.util.ArrayList; im ...

  7. Java利用中国网建SMS短信通平台发送手机短信

    JAVA发送手机短信,流传有几种方法: (1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册; (2)使用短信mao的方式进行短信的 ...

  8. 使用Python开通腾讯云短信(sms)【亲测有效·超详细】

    使用Python开通腾讯云短信(sms) 1.开通腾讯云短信服务 2.创建应用 3.创建签名 4.Python 操作腾讯云短信接口 模块安装 详细代码[可直接作为接口] 1.开通腾讯云短信服务 腾讯云 ...

  9. 腾讯云短信服务发送验证码

    腾讯云短信服务发送验证码 1.前言 2.进入短信服务控制台 3.创建签名 4.创建模板 5.短信-应用管理-应用列表 6.创建密钥 7.SpringBoot实现短信验证码发送 7.1 引入依赖 7.2 ...

最新文章

  1. matlab自适应逆控制,基于matlab仿真模块的自适应有源噪声逆控制研究
  2. P3916 图的遍历
  3. windows窗体(winform)中嵌入显示Excel工作表。
  4. Opencv 学习笔记之——鼠标操作画出感兴趣区域
  5. CentOS服务器iptables配置
  6. SQL查询过滤Where子句用法
  7. css 鼠标悬浮样式_【技术】CSS设置链接鼠标(失效)不能点样式
  8. 一文读懂商业智能(BI):企业数据分析的中枢
  9. java pcm to wav_Java音频转换:PCM格式转WAV格式
  10. 学以致提高学生操作计算机能力,学用结合,学以致用
  11. The road to learning English-Grammar
  12. 上海海大计算机科学,上海海洋计算机科学拟录取名单平台
  13. 【python】解析中英文
  14. cmake:基于MDK(Keil)的Nationstech.N32G45x平台交叉编译工具链定义
  15. 如何给PDF文件去水印,10秒轻松搞定
  16. ibm服务器 产品型号对应表,IBM服务器配件型号及编号列表
  17. 2019年终总结---在前端的成长
  18. 【菜鸟教程】Dubbo基础入门下——Dubbo的入门案例
  19. 软考高项计算题公式:PV, EV, AC, CV, SV, CPI, SPI, ETC, EAC,BAC
  20. 并发编程-25 高并发处理手段之消息队列思路 + 应用拆分思路 + 应用限流思路

热门文章

  1. H5性能测试(优化建议)
  2. 逝者:Django贡献最多的核心开发者Malcolm Tredinnick
  3. linux大于3T硬盘多个分区,linux之Ubuntu挂载3T硬盘或大于2T磁盘
  4. Latex 中导入visio画的图片,去除多余留白
  5. 数商云工业制造行业B2B电商平台解决方案
  6. [图论]---[网络流]---最小点割数/最小点割集
  7. 易基因技术推介 | 微量cfDNA简化基因组甲基化测序(cfDNA-RBS)
  8. 据说是“缓存之王”? Caffeine高性能设计剖析
  9. 最贴近京东首页体验的嵌套滑动吸顶效果
  10. 毕业季快到了,在为毕业设计担心嘛?收下这份毕设知识大扫盲