- A+
所属分类:python脚本
用途:
报警,告知,每日定时发送消息等,用途太多
实现方式,两种都可以
适用py2 py3
一种直接阿里云的core模块,不用sms的模块,代码如下
需要安装的的模块
1 |
pip install aliyun-python-sdk-core |
脚本如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
#!/usr/bin/env python #coding=utf-8 from aliyunsdkcore.client import AcsClient from aliyunsdkcore.request import CommonRequest import json accessKeyId="accessKeyId" accessSecret="accessSecret" phone='电话' SignName="短信模板" TemplateCode="短信签名" #data是内容,里面变量是阿里云短信模板的变量,几个就写几个 data={ "hostname":"我是内容", "message":"" } client = AcsClient(accessKeyId, accessSecret, 'default') request = CommonRequest() request.set_accept_format('json') request.set_domain('dysmsapi.aliyuncs.com') request.set_method('POST') request.set_version('2017-05-25') request.set_action_name('SendSms') request.add_query_param('PhoneNumbers', phone) request.add_query_param('SignName', SignName) request.add_query_param('TemplateCode', TemplateCode) request.add_query_param('TemplateParam', json.dumps(data)) response = client.do_action_with_exception(request) print(response) |
第二种是通过阿里云的短信api模块+core模块实现
需要安装的模块 aliyun-python-sdk-core以及dysms
aliyun-python-sdk-core直接可以pip安装
dysms是通过https://help.aliyun.com/找到下载地址,然后找到sdk下载地址
目前下载地址是dysms_python.zip
然后 python setup.py install执行安装
脚本代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#!/usr/bin/env python #coding=utf-8 from aliyunsdkcore.client import AcsClient from aliyunsdkdysmsapi.request.v20170525.SendSmsRequest import SendSmsRequest from aliyunsdkcore.profile import region_provider import json REGION = "cn-hangzhou" PRODUCT_NAME = "Dysmsapi" DOMAIN = "dysmsapi.aliyuncs.com" accessKeyId="accessKeyId" accessSecret="accessSecret" SignName="短信模板" TemplateCode="短信签名" phone='发送的电话号码' data={ "fail_reason":"我是内容", "telephone": phone } client = AcsClient(accessKeyId, accessSecret,REGION) region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN) request = SendSmsRequest() request.set_PhoneNumbers(phone) request.set_SignName(SignName) request.set_TemplateCode(TemplateCode) request.set_TemplateParam(json.dumps(data)) response = client.do_action_with_exception(request) print(response) |
需要修改的参数说明:
accessKeyId:阿里云控制台登录具有短信管理权限的账号的编程accessKeyId
accessSecret:阿里云对应accessKeyId的accessSecret
phone :需要发送给对方的电话
SignName: 短信模板,需要审核通过的
TemplateCode:短信签名,需要审核通过的
data:一个json,对应的键名是短信模板里面定义的变量,定义几个变量,这里就写几个对应的值
成功截图
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫