阿里云邮箱推送API使用

本文只介绍Python的SDK

搜索邮箱推送,进入控制台

图片[1]-阿里云邮箱推送API使用-九桑

安装操作引导进行操作

图片[2]-阿里云邮箱推送API使用-九桑

找到到SKD文档,翻到最后面创建AccessKey

图片[3]-阿里云邮箱推送API使用-九桑

安装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
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容