python3配置阿里云短信服务
1、申请阿里云短信服务,具体步骤看我的python2-Django配置短信服务
2、安装依赖
aliyun-python-sdk-core-v3
aliyun-python-sdk-dysmsapi==1.0.0
3、配置基本信息
# 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dysmsapi"
DOMAIN = "dysmsapi.aliyuncs.com"
SIGN_NAME = '你的签名' # 可以设置多个,按需求选取即可 # ACCESS_KEY_ID 和 ACCESS_KEY_SECRET 为阿里云短信申请的
ACCESS_KEY_ID = ""
ACCESS_KEY_SECRET = ""
4、调用上述设置
acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION)
region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN)
5、调用官方SDK发送方法
def ali_send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None):
sms_request = SendSmsRequest.SendSmsRequest()
# 申请的短信模板编码,必填
sms_request.set_TemplateCode(template_code) # 短信模板变量参数
if template_param is not None:
sms_request.set_TemplateParam(template_param) # 设置业务请求流水号,必填。
sms_request.set_OutId(business_id) # 短信签名
sms_request.set_SignName(sign_name) # 短信发送的号码列表,必填。
sms_request.set_PhoneNumbers(phone_numbers) # 调用短信发送接口,返回json
sms_response = acs_client.do_action_with_exception(sms_request)
sms_rsp = json.loads(sms_response)
if sms_rsp.get('Code') != 'OK':
log.exception('========短信发送失败 原因')
log.exception(sms_rsp.get('Message')+','+str(phone_numbers))
return False
return True
7、按自己需求开发弄得方法
def send_sms(mobile_no, content, template_code):
"""
发送短信
:param mobile_no: 手机号码
:param content: 发送内容(json格式)
:param template_code: 模板代码
:return:
"""
try:
__business_id = uuid.uuid1()
params = content
send_res = ali_send_sms(__business_id, mobile_no, SIGN_NAME, template_code, params)
return send_res except Exception as ex:
log.exception(ex)
return False def send_verify_code(mobile_no, template_code, random_number=None):
"""
发送校验码
:param mobile_no: 手机号码
:param random_number: 验证码
:param template_code: 模板代码
:return:
"""
if random_number is None:
random_number = random.randrange(1, 10000, 5)
content = '{"code": "' + str(random_number) + '"}'
return send_sms(mobile_no, content, template_code)
8、调用发送短信
if __name__ == '__main__':
# 发送验证码
send_verify_code("要发送的电话号码", "你申请的验证码模板CODE")
# 发送通知短信
content = dict()
content['name'] = '帅帅的吾延' # name 为你申请短信模板的参数
content['content'] = '吾延是真的帅' # content为你申请短信模板的参数
send_sms("要发送的电话号码", content, "你申请的验证码模板CODE")
自此python3阿里短信服务就完成了, 接下来就是自己去调用了
ps:已经近半年没有写博客了,经过两年的奋斗,也已经月薪十多k,从那个头发浓密的少年快变成了个秃头的油腻大叔。 本人写的博客喜欢直入主题,不会进行什么互动,也比较反感那些收费或发收款二维码的行为, 来了既是缘分, 所以大家观看后觉得有用的直接评论个好字即可。
python3配置阿里云短信服务的更多相关文章
- python3调用阿里云短信服务
#!/usr/bin/env python#-*- coding:utf-8 -*-#Author:lzd import uuidimport datetimeimport hmacimport ba ...
- Zabbix 3.4.3 使用阿里云短信服务进行报警
目录 一.阿里云短信服务 1.1.首先开通阿里云短信服务 1.2 创建签名 1.3 创建短信模板 1.4 创建发送脚本 二.Zabbix Web 配置 2.1 增加 Media types 2.2 给 ...
- php 阿里云短信服务及阿里大鱼实现短信验证码的发送
一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...
- 阿里云短信服务调用例子-Python
阿里云短信服务调用例子 阿里云官方文档https://helpcdn.aliyun.com/document_detail/101893.html 首先需要安装阿里云PythonSDK(下面是pyth ...
- 移动端获取短信验证码java实现——阿里云短信服务
需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...
- legend3---PHP使用阿里云短信服务
legend3---PHP使用阿里云短信服务 一.总结 一句话总结: 使用步骤照官方文档,代码拷贝即可 1.php使用阿里云短信服务的步骤? 入驻阿里云->开通短信服务->获取Access ...
- java实现阿里云短信服务发送验证码
由于做项目的时候遇到了接第三方短信服务,所以记录一下. 一.新建一个maven项目并导入相关依赖 <!--手机发送短信验证码--> <dependency> <group ...
- 阿里云短信服务 PHP
1.开通短信服务后,进入控制器->短信服务 2.点击国内消息,配置签名,模板(这里不作详细介绍) 3.点击进入左侧帮助文档里面,找到PHP sdk,Composer命令直接安装 4.获取acce ...
- 阿里云短信服务bug
接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...
随机推荐
- 读取Core下的appsettings.json的值的时候中文乱码
这个百度一下一大堆,我就用的这个:然后重新生成一次就好了. 2.有的是更改VS的什么高级保存之类的,我记得之气设置过, 然后就是:这篇文章
- Java 中的等待唤醒机制透彻讲解
线程的状态 首先了解一下什么是线程的状态,线程状态就是当线程被创建(new),并且启动(start)后,它不是一启动就进入了执行状态(run),也不是一直都处于执行状态. 这里说一下Java 的Thr ...
- MySql 常用时间函数
1.date() 提取日期或日期时间表达式的日期部分 select date(create_time) from blog_article; 2.date_format() select date_f ...
- Manipulating Data from Oracle Object Storage to ADW with Oracle Data Integrator (ODI)
0. Introduction and Prerequisites This article presents an overview on how to use Oracle Data Integr ...
- 深入理解Java 中SPI 制
深入理解Java 中SPI 制 概述 SPI(Service Provider Interface),是JDK内置的一种服务提供发现机制,可以用来启用框架扩展和替换组件,主要是被框架的开发人员使用,比 ...
- SVN: 在Ecplise管理SVN资源库
Window->Show View->SVN
- CUDA学习(二)之使用clock()函数
clock()函数是C/C++中的计时函数,相关的数据类型是clock_t,使用clock函数可以计算运行某一段程序所需的时间,如下所示程序计算从10000000逐渐减一直到0所需的时间. #incl ...
- SystemVerilog搭建APB_I2C IP 层次化验证平台
一.前言 近期疫情严重,身为社畜的我只能在家中继续钻研技术了.之前写过一篇关于搭建FIFO验证平台的博文,利用SV的OOP特性对FIFO进行初步验证,但有很多不足之处,比如结构不够规范.验证组件类不独 ...
- selenium8中元素定位方式
Selenium对网页的控制是基于各种前端元素的,在使用过程中,对于元素的定位是基础,只有准去抓取到对应元素才能进行后续的自动化控制,我在这里将对各种元素定位方式进行总结归纳一下. 这里将统一使用百度 ...
- FD_WRITE是如何触发的?
The FD_WRITE network event is handled slightly differently. An FD_WRITE network event is recorded wh ...