由于官方推荐使用2.0 所以咱们与时俱进
代码部分
from alibabacloud_dysmsapi20170525.client import Client as Dysmsapi20170525Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_dysmsapi20170525 import models as dysmsapi_20170525_modelsdef test_send(access_key_id, access_key_secret, phone_numbers, sign_name, template_code, template_param):# 创建客户端client = Dysmsapi20170525Client(open_api_models.Config(access_key_id=access_key_id,access_key_secret=access_key_secret))# 设置短信参数send_sms_request = dysmsapi_20170525_models.SendSmsRequest(phone_numbers=phone_numbers,sign_name=sign_name,template_code=template_code,template_param=template_param)try:# 调用发送短信接口response = client.send_sms(send_sms_request)# 打印发送结果print(response.body)except Exception as e:# 打印错误信息print(e)def send_sms():access_key_id = '您的access_key_id'access_key_secret = '您的access_key_secret'phone_numbers = "18140208525"sign_name = "大乐至", # 替换成您的短信签名template_code = "SMS_196270084", # 替换成您的短信模板CODEtemplate_param = "{'code':'123456'}" # 替换成您的模板参数,例如验证码等test_send(access_key_id, access_key_secret, phone_numbers, sign_name, template_code, template_param)
运行结果:
{'BizId': '553201009212859856^0', 'Code': 'OK', 'Message': 'OK', 'RequestId': 'C0994597-EC37-5833-9830-B6448BE22F72'}
代码解释
这段代码是使用阿里云的短信服务(Dysmsapi)来发送短信的一个示例。下面逐行解释代码的功能:
1-3: 导入阿里云短信API相关的客户端和模型。Client
是用于发起请求的客户端类,models
包含了发送请求和接收响应时所需的数据结构。
5-17: 定义了一个名为 test_send
的函数,该函数用于发送短信。它接收几个参数:access_key_id
和 access_key_secret
是用户的阿里云访问密钥,用于身份验证;phone_numbers
是接收短信的手机号码;sign_name
是短信签名,即短信的发件人名称;template_code
是短信模板ID,每种短信类型(如验证码、促销等)会有不同的模板;template_param
是传递给短信模板的参数,例如验证码的数字。
8-11: 使用用户的 access_key_id
和 access_key_secret
创建一个 Dysmsapi20170525Client
实例,这个客户端将用于发送短信。
13-17: 创建一个 SendSmsRequest
实例,这是发送短信请求的数据结构,包括手机号码、短信签名、模板代码和模板参数。
19-26: 使用 try
和 except
来处理发送短信的操作。在 try
块中,使用客户端的 send_sms
方法发送短信,并打印响应体,这通常包含了发送结果的详细信息。如果发送过程中发生异常(例如,网络问题或配置错误),则在 except
块中捕获异常并打印出来。
28-37: 定义了一个 send_sms
函数,这是一个包装函数,用于设置发送短信所需的参数,并调用 test_send
函数。这里的参数(如 access_key_id
、access_key_secret
、phone_numbers
等)需要替换为实际的值。
39: 调用 send_sms
函数,实际发送短信。当脚本运行时,它将执行这个函数,发送一条短信到指定的手机号码。
总之,这段代码展示了如何使用阿里云短信服务API发送一条短信,从设置认证信息、配置短信内容到发送请求和处理响应。