本文只介绍Python的SDK
搜索邮箱推送,进入控制台
![图片[1]-阿里云邮箱推送API使用-九桑](https://www.jiusang.com/wp-content/uploads/2025/08/image-3-1024x550.png)
安装操作引导进行操作
![图片[2]-阿里云邮箱推送API使用-九桑](https://www.jiusang.com/wp-content/uploads/2025/08/image-4-1024x504.png)
找到到SKD文档,翻到最后面创建AccessKey
![图片[3]-阿里云邮箱推送API使用-九桑](https://www.jiusang.com/wp-content/uploads/2025/08/image-5-1024x504.png)
安装SDK库
pip install aliyun-python-sdk-core
SDK代码案例
# -*- coding:utf-8 -*-
# 导入阿里云SDK核心模块
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
from aliyunsdkcore.auth.credentials import AccessKeyCredential
# 阿里云账号的AccessKey ID和Secret
# 注意:实际使用中应该从环境变量或配置文件中读取,不要直接硬编码在代码中
v_ak = 'xxxxxx' # 替换为您的AccessKey ID
v_sk = 'xxxxxx' # 替换为您的AccessKey Secret
# 创建认证凭证对象
credentials = AccessKeyCredential(v_ak, v_sk)
# 创建AcsClient实例
# region_id: 服务所在区域,这里是杭州区域(cn-hangzhou)
client = AcsClient(region_id='cn-hangzhou', credential=credentials)
# 创建通用请求对象
request = CommonRequest()
# 设置请求格式为JSON
request.set_accept_format('json')
# 设置API的域名(邮件推送服务的域名)
request.set_domain('dm.aliyuncs.com')
# 设置请求方法为POST
request.set_method('POST')
# 设置协议类型为HTTPS(更安全)
request.set_protocol_type('https') # 也可以使用'http',但建议使用https
# 设置API版本
request.set_version('2015-11-23')
# 设置API操作名称(这里是单发邮件接口)
request.set_action_name('SingleSendMail')
# 添加邮件参数到请求体(Body)
# 发件人邮箱地址(必须是在阿里云邮件推送中配置过的发信地址)
request.add_body_params('AccountName', 'sender@example.com')
# 发件人别名(可选,显示给收件人的发件人名称)
request.add_body_params('FromAlias', "xxx")
# 地址类型:1为触发邮件,0为批量邮件
request.add_body_params('AddressType', "1")
# 是否使用发信地址回复邮件
request.add_body_params('ReplyToAddress', "true")
# 收件人邮箱地址(多个地址用逗号分隔)
request.add_body_params('ToAddress', "recipient@example.com")
# 邮件主题
request.add_body_params('Subject', "主题")
# 邮件HTML内容
request.add_body_params('HtmlBody', '''<h1>内容</h1>''')
# 执行请求并处理可能的异常
try:
# 发送请求并获取响应
response = client.do_action_with_exception(request)
# 打印请求的完整URL(调试用)
print(request.get_url('cn-hangzhou', v_ak, v_sk))
# 打印响应结果(将字节流转换为utf-8字符串)
print(str(response, encoding='utf-8'))
except Exception as e:
# 异常处理
print(f"发送邮件失败: {str(e)}")
# 安全提示:
# 1. 不要将AccessKey硬编码在代码中,应该使用环境变量或配置文件
# 2. 生产环境中应该添加更完善的错误处理和日志记录
# 3. 可以考虑添加重试机制应对网络波动
# 4. 重要操作建议添加操作审计日志
# 常见参数说明:
# AccountName - 管理控制台中配置的发信地址
# AddressType - 0为批量发信,1为触发发信
# ReplyToAddress - true表示使用AccountName回复,false则不使用
# ToAddress - 收件人地址,多个用逗号分隔
# Subject - 邮件主题,长度限制为128个字符
# HtmlBody - HTML格式的邮件正文
# TextBody - 纯文本格式的邮件正文(与HtmlBody二选一)
修改代码中的第9、10行为创建的AccessKey
修改42行和54行发件人和收件人邮箱
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容