参考文档https://help.aliyun.com/document_detail/215764.html
安装依赖包
pip install alibabacloud_tea_openapi
pip install alibabacloud_dysmsapi20170525==2.0.9
第一种方式
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
def send_sms(mobile, code):
# 短信验证
client = AcsClient('ACCESS_KEY_ID','ACCESS_KEY_SECRET')
request = CommonRequest()
request.set_accept_format('json')
request.set_domain('dysmsapi.aliyuncs.com')
request.set_method('POST')
request.set_protocol_type('https') # https | http
request.set_version('2017-05-25')
request.set_action_name('SendSms')
request.add_query_param('RegionId', "cn-hangzhou")
request.add_query_param('PhoneNumbers', mobile)
request.add_query_param('SignName', "阿里云短信测试") # 注意必须是审核通过的
request.add_query_param('TemplateCode',"SMS_154950909") # 注意必须是审核通过的
request.add_query_param('TemplateParam', "{\"code\":\"%s\"}" % code) # 你的验证码
response = client.do_action_with_exception(request)
print(code)
第二种方式
from aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest
from aliyunsdkcore.client import AcsClient
import uuid
from aliyunsdkcore.profile import region_provider
ACCESS_KEY_ID = ACCESS_KEY_ID
ACCESS_KEY_SECRET = ACCESS_KEY_SECRET
# 注意:不要更改
REGION = "cn-hangzhou"
PRODUCT_NAME = "Dysmsapi"
DOMAIN = "dysmsapi.aliyuncs.com"
acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION)
region_provider.add_endpoint(PRODUCT_NAME, REGION, DOMAIN)
sign_name = "阿里云短信测试"
template_code = "SMS_154950909"
def send_sms(business_id,phone_numbers,template_param):
smsRequest = SendSmsRequest.SendSmsRequest()
# 申请的短信模板编码,必填
smsRequest.set_TemplateCode(template_code)
# 短信模板变量参数
smsRequest.set_TemplateParam(template_param)
# 设置业务请求流水号,必填。
smsRequest.set_OutId(business_id)
# 短信签名
smsRequest.set_SignName(sign_name)
smsRequest.set_PhoneNumbers(phone_numbers)
# 调用短信发送接口,返回json
smsResponse = acs_client.do_action_with_exception(smsRequest)
# TODO 业务处理
return smsResponse
if __name__ == '__main__':
__business_id = uuid.uuid1()
#print(__business_id)
params = "{\"code\":\"2213\",}"
print(send_sms( __business_id,"13800000000",params))
结果
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。