python发短信 阿里云_Python使用阿里云短信服务发送验证码,python

本文介绍了如何使用Python结合阿里云SDK发送短信验证码。首先安装aliyun-python-sdk-core-v3,然后创建DEMO,配置ACCESS_KEY_ID、ACCESS_KEY_SECRET、签名和模板代码。接着生成6位随机数作为验证码,并通过SendSmsRequest接口发送短信。文章提供了一个完整的代码示例,实现了从生成验证码到发送短信的过程。
摘要由CSDN通过智能技术生成

一、依赖安装和下载demo

pip install aliyun-python-sdk-core-v3

ca85f576a71b15b1f325e54a11911ce6.png

二、建立demo

下载完毕后,完整目录:

135136c5aa9af3f4848cbbbd0ee55714.png

只需要拿到下面的几个文件即可:

9e29f837f15ad0b7b25dad499146f4c9.png

在const文件里进行配置发短信需要的信息, keyId, key_secret, 签名,以及模板代码:

# ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换

ACCESS_KEY_ID = ""

ACCESS_KEY_SECRET = ""

ALIYUN_SMS_SIGN_NAME = ""

SMS_CODE = ""

生成6位随机数当做验证码:

import random

num = random.randrange(100000, 999999)

params = "{'code':123456}"

params = params.replace("123456", str(num))

设置好参数后,传到 send_sms()方法里:

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

import sys

from importlib import reload

from edu_saas_app.send_sms.aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest

from aliyunsdkcore.client import AcsClient

import uuid

from aliyunsdkcore.profile import region_provider

from edu_saas_app.send_sms import const

import random

"""

短信业务调用接口示例,版本号:v20170525

Created on 2017-06-12

"""

try:

reload(sys)

except NameError:

pass

except Exception as err:

raise err

# 注意:不要更改

REGION = "cn-hangzhou"

PRODUCT_NAME = "Dysmsapi"

DOMAIN = "dysmsapi.aliyuncs.com"

acs_client = AcsClient(const.ACCESS_KEY_ID, const.ACCESS_KEY_SECRET, REGION)

region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN)

def send_sms(business_id, phone_numbers, sign_name, template_code, template_param=None):

smsRequest = SendSmsRequest.SendSmsRequest()

# 申请的短信模板编码,必填

smsRequest.set_TemplateCode(template_code)

# 短信模板变量参数

if template_param is not None:

smsRequest.set_TemplateParam(template_param)

# 设置业务请求流水号,必填。

smsRequest.set_OutId(business_id)

# 短信签名

smsRequest.set_SignName(sign_name)

# 数据提交方式

# smsRequest.set_method(MT.POST)

# 数据提交格式

# smsRequest.set_accept_format(FT.JSON)

# 短信发送的号码列表,必填。

smsRequest.set_PhoneNumbers(phone_numbers)

# 调用短信发送接口,返回json

smsResponse = acs_client.do_action_with_exception(smsRequest)

print(smsResponse)

return smsResponse

if __name__ == '__main__':

__business_id = uuid.uuid1()

# print(__business_id)

num = random.randrange(100000, 999999)

params = "{'code':123456}"

params = params.replace("123456", str(num))

# params = 123456

# params = u'{"name":"wqb","code":"12345678","address":"bz","phone":"13000000000"}'

print(send_sms(__business_id, "电话号码", "签名名称", "短信的模板代码", params))

实现效果如下:

179e93f66b631364780621652eaa90c7.png

发送的验证码,即为生成的随机码。

github地址:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值