第一步,首先去注册一个微信小程序,在腾讯云短信服务中创建签名的时候会用到哦。

点击此链接进入微信公众平台

注册好微信小程序,之后。

第二步,如果您还没有腾讯云账号,您需要 注册腾讯云 账号,并完成 实名认证。

  • 如果您已有实名认证的腾讯云账号,请直接进行下一步操作。

申请开通短信服务

1.登录 短信控制台,勾选我已阅读并同意 腾讯云短信 服务协议,单击开始接入即可开通。

2.开通后,进入短信控制台,可跟随 概览页>新手配置指引配置申请短信签名、模板并发送短信。

3.此时就会需要前面我们注册的小程序来认证来创建签名

  1. 结合实际情况和 签名审核标准 设置以下参数:

    • 签名用途:选择自用(签名为本账号实名认证的公司、网站、产品名等)
    • 签名类型:选择小程序。
    • 签名内容:输入小程序(就是你的小程序的名称)

  2. 单击确定
    等待签名审核,当状态变为已通过时,短信签名才可用。
  3. 创建正文模板(也就是你需要发送短信的模板如图) 
  4. 发送短信 可以进入到短信 Python SDK-SDK 文档-文档中心-腾讯云相关文档

  5. 需要安装 Python SDK 前,先获取安全凭证。在第一次使用云 API 之前,用户首先需要在 腾讯云控制台 上申请安全凭证,安全凭证包括 SecretID 和 SecretKey, SecretID 是用于标识 API 调用者的身份,SecretKey 是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。通过 Pip 安装(推荐)
  6. 您可以通过 pip 安装方式将腾讯云 API Python SDK 安装到您的项目中,如果您的项目环境尚未安装 pip,请详细参见 pip官网 安装。

    通过pip方式安装或更新请在命令行中执行以下命令:

    pip install --upgrade tencentcloud-sdk-python

    中国大陆地区的用户可以使用国内镜像源提高下载速度,例如pip install -i https://mirrors.tencent.com/pypi/simple/ --upgrade tencentcloud-sdk-python

    请注意,如果同时有 python2 和 python3 环境, python3 环境需要使用 pip3 命令安装。

    如果只想使用某个具体产品的包,例如云服务器 CVM,可以单独安装,但是注意不能和总包同时工作。pip install --upgrade tencentcloud-sdk-python-common tencentcloud-sdk-python-cvm

7.安装pip install --upgrade tencentcloud-sdk-python 之后呢我们就可以来进行短信验证了

8.测试短信验证代码

# -*- coding: utf-8 -*-

from tencentcloud.common import credential

# 导入对应产品模块的client models。

from tencentcloud.sms.v20210111 import sms_client, models

# try:

# 必要步骤:

# 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。

# 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。

# 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,

# 以免泄露密钥对危及你的财产安全。

# SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi

cred = credential.Credential("AKIDITSGrI9qR2V8atwoTwDH5f5IGyQlwtjN", "b0C94sa8Vg0KfyAC6sVwDOWZSF4whEWe")

# cred = credential.Credential(

#     os.environ.get(""),

#     os.environ.get("")

# )

# 实例化一个http选项,可选的,没有特殊需求可以跳过。

# httpProfile = HttpProfile()

# 如果需要指定proxy访问接口,可以按照如下方式初始化hp(无需要直接忽略)

# httpProfile = HttpProfile(proxy="http://用户名:密码@代理IP:代理端口")

# httpProfile.reqMethod = "POST"  # post请求(默认为post请求)

# httpProfile.reqTimeout = 30    # 请求超时时间,单位为秒(默认60秒)

# httpProfile.endpoint = "sms.tencentcloudapi.com"  # 指定接入地域域名(默认就近接入)

# 非必要步骤:

# 实例化一个客户端配置对象,可以指定超时时间等配置

# clientProfile = ClientProfile()

# clientProfile.signMethod = "TC3-HMAC-SHA256"  # 指定签名算法

# clientProfile.language = "en-US"

# clientProfile.httpProfile = httpProfile

# 实例化要请求产品(以sms为例)的client对象

# 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8

client = sms_client.SmsClient(cred, "ap-guangzhou")

# 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数

# 你可以直接查询SDK源码确定SendSmsRequest有哪些属性可以设置

# 属性可能是基本类型,也可能引用了另一个数据结构

# 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明

req = models.SendSmsRequest()

# 基本类型的设置:

# SDK采用的是指针风格指定参数,即使对于基本类型你也需要用指针来对参数赋值。

# SDK提供对基本类型的指针引用封装函数

# 帮助链接:

# 短信控制台: https://console.cloud.tencent.com/smsv2

# 腾讯云短信小助手: https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81

# 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666

# 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看

req.SmsSdkAppId = "1400690454"

# 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名

# 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看

req.SignName = "村里的白公众号"

# 模板 ID: 必须填写已审核通过的模板 ID

# 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看

req.TemplateId = "1792203"

# 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空

req.TemplateParamSet = ["1234",'1234']

# 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]

# 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号

req.PhoneNumberSet = ["+8617361573847"]

# 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回

req.SessionContext = ""

# 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手]

# req.ExtendCode = ""

# 国内短信无需填写该项;国际/港澳台短信已申请独立 SenderId 需要填写该字段,默认使用公共 SenderId,无需填写该字段。注:月度使用量达到指定量级可申请独立 SenderId 使用,详情请联系 [腾讯云短信小助手](https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81)。

# req.SenderId = ""

resp = client.SendSms(req)

# 输出json格式的字符串回包

print(resp)

# 当出现以下错误码时,快速解决方案参考

# - [FailedOperation.SignatureIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.signatureincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)

# - [FailedOperation.TemplateIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.templateincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)

# - [UnauthorizedOperation.SmsSdkAppIdVerifyFail](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunauthorizedoperation.smssdkappidverifyfail-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)

# - [UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunsupportedoperation.containdomesticandinternationalphonenumber-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)

# - 更多错误,可咨询[腾讯云助手](https://tccc.qcloud.com/web/im/index.html#/chat?webAppId=8fa15978f85cb41f7e2ea36920cb3ae1&title=Sms)

# except TencentCloudSDKException as err:

#     print(err)

代码如下:

只不过里面有些信息需要改成你的

# -*- coding: utf-8 -*-
from tencentcloud.common import credential# 导入对应产品模块的client models。
from tencentcloud.sms.v20210111 import sms_client, models# try:# 必要步骤:# 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。# 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。# 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,# 以免泄露密钥对危及你的财产安全。# SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi
cred = credential.Credential("SecretId", "SecretKey")# cred = credential.Credential(#     os.environ.get(""),#     os.environ.get("")# )# 实例化一个http选项,可选的,没有特殊需求可以跳过。# httpProfile = HttpProfile()# 如果需要指定proxy访问接口,可以按照如下方式初始化hp(无需要直接忽略)# httpProfile = HttpProfile(proxy="http://用户名:密码@代理IP:代理端口")# httpProfile.reqMethod = "POST"  # post请求(默认为post请求)# httpProfile.reqTimeout = 30    # 请求超时时间,单位为秒(默认60秒)# httpProfile.endpoint = "sms.tencentcloudapi.com"  # 指定接入地域域名(默认就近接入)# 非必要步骤:# 实例化一个客户端配置对象,可以指定超时时间等配置# clientProfile = ClientProfile()# clientProfile.signMethod = "TC3-HMAC-SHA256"  # 指定签名算法# clientProfile.language = "en-US"# clientProfile.httpProfile = httpProfile# 实例化要请求产品(以sms为例)的client对象# 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,支持的地域列表参考 https://cloud.tencent.com/document/api/382/52071#.E5.9C.B0.E5.9F.9F.E5.88.97.E8.A1.A8
client = sms_client.SmsClient(cred, "ap-guangzhou")# 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数# 你可以直接查询SDK源码确定SendSmsRequest有哪些属性可以设置# 属性可能是基本类型,也可能引用了另一个数据结构# 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明req = models.SendSmsRequest()# 基本类型的设置:# SDK采用的是指针风格指定参数,即使对于基本类型你也需要用指针来对参数赋值。# SDK提供对基本类型的指针引用封装函数# 帮助链接:# 短信控制台: https://console.cloud.tencent.com/smsv2# 腾讯云短信小助手: https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81# 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666# 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
req.SmsSdkAppId = "需要改成你的应用ID"# 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名# 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看
req.SignName = "需要改成你的签名"# 模板 ID: 必须填写已审核通过的模板 ID# 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
req.TemplateId = "模板ID"# 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空
req.TemplateParamSet = ["1234"]# 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]# 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
req.PhoneNumberSet = ["+8617311112222"]# 用户的 session 内容(无需要可忽略): 可以携带用户侧 ID 等上下文信息,server 会原样返回
req.SessionContext = ""# 短信码号扩展号(无需要可忽略): 默认未开通,如需开通请联系 [腾讯云短信小助手]# req.ExtendCode = ""# 国内短信无需填写该项;国际/港澳台短信已申请独立 SenderId 需要填写该字段,默认使用公共 SenderId,无需填写该字段。注:月度使用量达到指定量级可申请独立 SenderId 使用,详情请联系 [腾讯云短信小助手](https://cloud.tencent.com/document/product/382/3773#.E6.8A.80.E6.9C.AF.E4.BA.A4.E6.B5.81)。# req.SenderId = ""resp = client.SendSms(req)# 输出json格式的字符串回包
print(resp)# 当出现以下错误码时,快速解决方案参考# - [FailedOperation.SignatureIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.signatureincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)# - [FailedOperation.TemplateIncorrectOrUnapproved](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Afailedoperation.templateincorrectorunapproved-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)# - [UnauthorizedOperation.SmsSdkAppIdVerifyFail](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunauthorizedoperation.smssdkappidverifyfail-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)# - [UnsupportedOperation.ContainDomesticAndInternationalPhoneNumber](https://cloud.tencent.com/document/product/382/9558#.E7.9F.AD.E4.BF.A1.E5.8F.91.E9.80.81.E6.8F.90.E7.A4.BA.EF.BC.9Aunsupportedoperation.containdomesticandinternationalphonenumber-.E5.A6.82.E4.BD.95.E5.A4.84.E7.90.86.EF.BC.9F)# - 更多错误,可咨询[腾讯云助手](https://tccc.qcloud.com/web/im/index.html#/chat?webAppId=8fa15978f85cb41f7e2ea36920cb3ae1&title=Sms)# except TencentCloudSDKException as err:
#     print(err)

以上亲测发送短信成功! 欢迎各位朋友一起讨论学习~~~~~

python发送免费短信验证码(腾讯云 短信)相关推荐

  1. Python使用腾讯云-短信服务发送手机短信

    原创不易,欢迎关注我的微信公众号:司马弈 获取更多精选内容. 腾讯云短信服务介绍 目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 ...

  2. 接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)

    2021/8/17/23:01{2021/8/17/23:01}2021/8/17/23:01 文章目录 前言 一.如何成功申请到腾讯云短信服务 1.签名申请 2.正文模板申请 二.发送短信API开发 ...

  3. java实现短信验证码发送(架子是springboot 服务平台选择腾讯云短信服务)

    业务需求:公司扩展新业务,新增短信验证码提醒服务,负责功能模块完善 暂时只研究了腾讯短信服务的发送(看api谁都能copy出来),短信状态回执(也挺简单,只是自己想复杂了),短信回复回执(暂时没弄明白 ...

  4. 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)

    文章目录 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现) 1.打开腾讯云短信服务 2.创建短信签名 3.创建短信正文模板 4.等待全部审核完毕即可 5.发送短信 ...

  5. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)

    普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...

  6. 腾讯云短信发送验证码(超详细)

    在大部分的短信平台,能免费送的短信条数也就是几条,太少了,测试都不够,基本上都是要充钱够买的.我也注册了好几个平台,发现腾讯云免费赠送200条试用短信,就很不错.在我们学生党项目测试来说的话,就已经绰 ...

  7. 如何通过腾讯云短信实现发送验证码并校验验证码以实现登录功能

    如何通过腾讯云短信实现发送验证码并校验验证码以实现登录功能 验证码相关的10种技术 图像处理技术:生成.识别.验证验证码的图像. 机器学习技术:让计算机自动学习并识别验证码. 文字识别技术:将图像中的 ...

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

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

  9. Springboot+Redis接入腾讯云短信服务实现验证码发送

    目录 一.开通腾讯云短信服务 二.代码实现 三.测试 申请阿里云短信服务需要以上线APP或已备案网站,腾讯云短信服务可以使用微信公众号申请,注册个人微信公众号比较方便,改用腾讯云短信服务,参考官方SD ...

最新文章

  1. CentOS7图形界面与命令行界面切换
  2. C# 发邮件类可发送附件
  3. jsp中两个字符串格式的日期可以相减吗_举个栗子!Tableau 技巧(126):学几个常用的日期函数...
  4. 前端学习(1050):todolist正在进行个数和已完成个数
  5. 详解6G系统数据治理方案的设计要点和原则
  6. Java实现的一个简单的模板渲染
  7. 资源管理与调度系统-YARN资源隔离及以YARN为核心的生态系统
  8. 存在out参数的webservices_Sentaurus Device材料参数的那些事
  9. word转换为pdf后图片失真的解决办法
  10. 网地址和广播地址的计算
  11. 如何与导师有效沟通你的论文选题?
  12. 论文笔记: FSA-Net
  13. 修改 QQ 任务栏托盘区小图标和等级图标
  14. flask form表单
  15. float a=1.0f 这里的1.0f中的 f 代表什么?有什么意思?
  16. ios 系统状态栏样式修改_iOS_状态栏字体颜色修改(完美解决)
  17. Code Geass CD入手
  18. Python函数 — 类型提示和存根文件
  19. 动态平衡网格交易_微笑每周答——定投基金,哪种方法最好?低估值、动态再平衡、网格交易法、价值平均策略,总有一款适合你...
  20. 【毕设项目问题】IDEA打开springboot项目,启动项上有红色叉叉

热门文章

  1. 数据结构 #考研#408
  2. 如何通过低代码开发平台实现CRM客户关系管理系统
  3. linux虚拟网口不同vlan,Openwrt创建虚拟网口(macvlan)
  4. BlackBerry 9850 应用:大众点评,美食家必备哦
  5. 网易云音乐开发--通过网易云音乐api,游客登录页面验证效果实现
  6. Springboot+ssm(Spring+SpringMVC+MyBatis)旧物置换网站
  7. 2015-07-20-struts-struts2简介
  8. C#连接MySQL数据库
  9. CC3200学习笔记02-芯片简介
  10. 配置小程序开发者工具及其使用(下)