【python】如何通过python来发送短信

这篇具有很好参考价值的文章主要介绍了【python】如何通过python来发送短信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,前后端开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,linux,shell脚本等实操经验,网站搭建等分享。

所属的专栏:python基础语法,高阶实战应用教学

景天的主页:景天科技苑

Python发送短信

Hello,大家好!工作中我们经常会用到发短信的需求,那么如何在python代码中实现发短息你的需求呢,本文我们就一起深入探讨下。

1.1 腾讯云发送短信准备

发送短信,需要借助于第三方短信短信平台,收费,免费试用
-腾讯云短信:https://cloud.tencent.com/act/pro/csms
-阿里短信:https://cn.aliyun.com/product/sms?from_alibabacloud=
-容联云短信:https://www.yuntongxun.com/sms/note-inform

我们以腾讯云短信为例–》微信扫码登录
-https://console.cloud.tencent.com/smsv2

1.2 按步骤操作

01 创建短信签名

    -备案过后的网站,或小程序,或app
    -我们使用公众号---》我们自己操作即可---》注册申请公众号
    -别人关注你们--》你们就可以发送文章      
    https://mp.weixin.qq.com/cgi-bin/loginpage 
   -填入资料:审核             

【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

选择用公众号签名
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

注意,签名内容,是自己的公众号名称+公众号
资料填完,提交申请,大约两小时审核完毕
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

审核完毕
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

02 创建短信正文模板–发送短信模版

    -以后发送短信,就用这个模版发送            

03 查看审核结果

04 发送短信(python 发送)

1.3 官方代码测试

搜短信文档,查看官方使用说明
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

1 按照官方文档开发

-API:接口
    -使用requests模块,模拟发送http请求,携带要携带的参数就可以完成操作
    -麻烦:好多参数,放在请求地址中,请求体中,请求头中,有些乱--》需要有一定编程能力
-SDK:官方基于python封装了一些包
    -导入包,实例化得到对象,执行某个方法,就能完成操作
    -好处:简单便捷
    -不好处:有的公司可能没提供python的sdk
        -java
        -php
        -go
        -python

2 官方sdk

https://cloud.tencent.com/document/product/382/43196

【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

我们选择pip安装,点进去查看
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

3 安装

pip install  tencentcloud-sdk-python

【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

我们使用官方python SDK发送短息你的代码,直接拷过来用
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

我们需要修改的地方
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

根据上面网址,访问进去设置秘钥
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

点击新建秘钥,会生成 secretid和secretkey
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

勾选知晓,点确定就可以了
【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

将对应的secretid和secretkey放进代码中

4 完整代码以及解析

# -*- coding: utf-8 -*-
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
# 导入对应产品模块的client models。
from tencentcloud.sms.v20210111 import sms_client, models

# 导入可选配置类
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
try:
    # 必要步骤:
    # 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
    # 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
    # 您也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
    # 以免泄露密钥对危及您的财产安全。
    # SecretId、SecretKey 查询: https://console.cloud.tencent.com/cam/capi
    #需要修改的地方
    cred = credential.Credential("AKIDJbllZEoWQLJDc7seacegfinu9QetGa2q", "twJkM91xvkW9ulfebXSxgQKGC4xtuz7Y")
    # 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", clientProfile)

    # 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
    # 您可以直接查询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) 查看
    #需要修改的地方,应用ID
    req.SmsSdkAppId = "140*****67"
    # 短信签名内容: 使用 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) 的正文模板管理查看
    #需要修改的地方,模板id号。模板需要申请,审核成功后拿到模板ID号
    req.TemplateId = "2134771"
    # 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,,若无模板参数,则设置为空
    #需要修改的地方,短信模板参数,短信模板里面设置了几个变量,就填写几个参数
    #我们模板中第一个参数是验证码,第二个是过期时间
    req.TemplateParamSet = ["598626",'5']
    # 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]
    # 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号
    req.PhoneNumberSet = ["+861*********5",'+861*********8']

    #下面信息一般不用改了
    # 用户的 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.to_json_string(indent=2))

    # 当出现以下错误码时,快速解决方案参考
    # - [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)

5 查看收到的短信

【python】如何通过python来发送短信,python入门必备,基础语法到进阶实战教学,python,开发语言,发短信,python发短信

1.4 总结

本文详细阐述了如何通过python代码来发送短信的详细流程,相信大家阅读完都能实现发短息脑功能,如有疑问也可以留言,博主会第一时间解答,感兴趣的朋友可以一键三连,python使用小技巧持续更新中!!!文章来源地址https://www.toymoban.com/news/detail-859559.html

到了这里,关于【python】如何通过python来发送短信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SIM800C通过串口AT指令拨打电话与发送短信

    一、更新时间 二、相关器件 三、硬件连接 四、现象与事件 五、具体操作:  5.1 准备工作(查询器件是否正常)  5.2 拨打电话  5.3 发送短信   5.3.1 短信消息模式为文本模式   5.3.2 短信消息模式为PDU模式          2022.1.18         ch340、sim800c          注意VIN与GN

    2023年04月08日
    浏览(39)
  • 短信发送系统后台搭建,源码基础版短信系统

    短信版本基础版本记录 因是基础版本,客户端功能和后台功能尽量简洁,方便实用。 一:后台和客户端的呈现方式 1.1后台采用软件版本,后台不通过URL地址打开。通过安装在使用的电脑上进行连接短信服务器进行操作。 1.2:客户端采用通过URL的方式打开方便使用 WEB短信客

    2024年02月07日
    浏览(36)
  • 如何设计一个短信发送功能

    本文主要分享了如何设计一个发送短信功能。 一、总结简述 1.梳理多个平台短信API的发送参数,集成封装提供统一的API,支持多个短信平台(阿里云、腾讯云、百度云、京东云、七牛云)灵活切换 2.提供存储方案,表结构设计 3.提供真实生产项目代码案例,实现异步机制、定

    2024年02月11日
    浏览(40)
  • 【Python 零基础入门】基础语法

    当我们学习一门新语言, 首先要熟悉它的语法规则. 这就如同学习一门外语, 我们需要知道句子的结构, 词汇的使用和语法的规则. 与 Java 中的 “{}” 不同, Python 使用缩进. 缩进在 Python 中非常重要, 定义了代码的结构和层次. 通常用 4 个空格作为标准的缩进 (TAP 键). 在我们编写代

    2024年02月04日
    浏览(41)
  • 【Python入门】Python基础语法

    前言 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函数、函数进阶、数据容器、文件操作、异常模块与包、数据可视化等,

    2024年02月03日
    浏览(80)
  • Python零基础入门(一)——Python简介与基础语法

    个人简介:机电专业在读研究生,CSDN内容合伙人,博主个人首页 Python入门专栏:《Python入门》欢迎阅读,一起进步!🌟🌟🌟 码字不易,如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!😊😊😊 Python是一门适合初学者入门的编程语言,本文将介

    2024年02月10日
    浏览(40)
  • python发送阿里云短信教程

    1、开通云短信 注册阿里云,开通短信服务。 2、快速学习 进入控制台后,点击左边的快速学习,申请签名,申请模板 签名与模板的生成需要审核,需等待,注意签名与模板作用范围要一致。 2.1、添加签名 添加签名,如果是验证码就选验证码,如果是自己定义模板,则选择

    2024年01月15日
    浏览(39)
  • Python入门教程 | Python 基础语法

    第一个字符必须是字母表中字母或下划线 _ 。 标识符的其他的部分由字母、数字和下划线组成。 标识符对大小写敏感。 在 Python 3中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 在Python中

    2024年02月11日
    浏览(56)
  • 【Python入门】Python循环语句(while循环的基础语法)

    前言 📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于Python零基础入门系列,本专栏主要内容为Python基础语法、判断、循环语句、函数、函数进阶、数据容器、文件操作、异常模块与包、数据可视化等,

    2024年02月05日
    浏览(61)
  • 【Python系列】Python基础语法轻松入门—从变量到循环

    目录 写在前面  语法介绍 变量 数据类型 整数 浮点数 字符串 列表 元组 字典 运算符 算术运算符 比较运算符 逻辑运算符 条件语句 循环语句 图书推荐 图书介绍 参与方式 中奖名单  Python 是一种高级、解释型的编程语言,具有简单易学、可读性强、开发效率高等特点。本文

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包