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配置阿里云短信服务的更多相关文章

  1. python3调用阿里云短信服务

    #!/usr/bin/env python#-*- coding:utf-8 -*-#Author:lzd import uuidimport datetimeimport hmacimport ba ...

  2. Zabbix 3.4.3 使用阿里云短信服务进行报警

    目录 一.阿里云短信服务 1.1.首先开通阿里云短信服务 1.2 创建签名 1.3 创建短信模板 1.4 创建发送脚本 二.Zabbix Web 配置 2.1 增加 Media types 2.2 给 ...

  3. php 阿里云短信服务及阿里大鱼实现短信验证码的发送

    一:使用阿里云的短信服务 ① 申请短信签名 ②申请短信模板 ③创建Access Key,获取AccessKeyId 与 AccessKeySecret.(为了安全起见,这里建议使用子用户的Access ...

  4. 阿里云短信服务调用例子-Python

    阿里云短信服务调用例子 阿里云官方文档https://helpcdn.aliyun.com/document_detail/101893.html 首先需要安装阿里云PythonSDK(下面是pyth ...

  5. 移动端获取短信验证码java实现——阿里云短信服务

    需求:移动端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短信 ...

  6. legend3---PHP使用阿里云短信服务

    legend3---PHP使用阿里云短信服务 一.总结 一句话总结: 使用步骤照官方文档,代码拷贝即可 1.php使用阿里云短信服务的步骤? 入驻阿里云->开通短信服务->获取Access ...

  7. java实现阿里云短信服务发送验证码

    由于做项目的时候遇到了接第三方短信服务,所以记录一下. 一.新建一个maven项目并导入相关依赖 <!--手机发送短信验证码--> <dependency> <group ...

  8. 阿里云短信服务 PHP

    1.开通短信服务后,进入控制器->短信服务 2.点击国内消息,配置签名,模板(这里不作详细介绍) 3.点击进入左侧帮助文档里面,找到PHP sdk,Composer命令直接安装 4.获取acce ...

  9. 阿里云短信服务bug

    接入阿里云短信服务,在springboot中写测试方法,执行到 IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou ...

随机推荐

  1. vue+jest+vue-test-utils 单元测试

           jest是Facebook的一套开源的JavaScript测试框架,它集成了快照测试.断言.mock以及覆盖率报告等功能,很全面而且基本不需要太多的配置便可使用Vue-Test-Util ...

  2. final与 static的区别;static代码块以及嵌套类介绍

    本篇文章主要分为两个模块进行介绍:1.final,staic,static final之间的异同:2. static 模块:3.嵌套类的概念 1.final,staic,static final之间的 ...

  3. 关于neo4j初入门(4)

    关于admin管理员 数据库备份和恢复 Neo4j数据库备份 步骤1 -点击“Neo4j Community”,如下图所示 Windows“开始”按钮>> "All Progra ...

  4. 若依框架. 仿ThymeLeaf前端SelectDictLable方法

    在framework项目下新增所需服务

  5. lisp学习有感--对象化,结构化编程思想

    Lisp程序员总是在写DSL,为自己设计的应用开发专用语言,减少程序中的组件,模块,在构造大型复杂应用时,这变的特别有效. 为什么要模块化,我们通常为复杂应用设计程序时,为了分工协作,会用面向对象化思 ...

  6. java中implements和extends的区别

    1,extends是继承某个类的,可以使用某个类的方法,也可以重写父类的方法. 2,implements是用于实现类接口,可以实现一个或多个类的接口,接口的方法一般为空的,所以必须重写这一个或多个的方 ...

  7. 异步查询转同步加redis业务实现的BUG分享

    在最近的性能测试中,某一个查询接口指标不通过,开发做了N次优化,最终的优化方案如下:异步查询然后转同步,再加上redis缓存.此为背景. 在测试过程中发现一个BUG:同样的请求在第一次查询结果是OK的 ...

  8. shh登入不能自动执行.bashrc

    在linux 上新安装的anconda来管理软件,把环境变量放在home目录的.bashrc.结果每次开终端,不能直接使用conda.需要手动加环境变量. 用户登入后计算机执行了哪些文件 用户登录时b ...

  9. typescript 第一弹

    typescript官网: http://typescriptlang.org typescript 在线运行环境: http://www.typescriptlang.org/play/index. ...

  10. Java多态之Father f=new Son();

    成员变量静态方法看左边,非静态方法编译看左边,运行看右边. 左边Father f其实是定义了一个Father类的对象,而右边new Son()可以只理解为是一个重写了Father类方法的对象. 因此, ...