当出现“Amazon SES 异常:IAM 用户未被授权在资源上执行 ses:SendRawEmail' 操作。”的错误时,说明您的IAM用户没有足够的权限来执行ses:SendRawEmail`操作。您可以通过以下步骤解决这个问题:
登录到AWS IAM控制台,并选择您的IAM用户。
在Permissions选项卡下,找到并单击“添加权限”按钮。
在权限添加页面的“筛选”框中键入“AmazonSESFullAccess”,然后选择该策略。
单击“下一步:标记”按钮。
在标记页面中,单击“下一步:审查”按钮。
在审查页面中,检查您的权限设置是否正确,并单击“添加权限”按钮。
现在,您的IAM用户应该具有足够的权限来执行ses:SendRawEmail操作。以下是一个示例的代码片段,展示如何使用AWS SDK for Python (Boto3)发送原始邮件:
import boto3
# 创建SES客户端
ses_client = boto3.client('ses')
# 定义发送邮件的参数
source_email = 'your_source_email@example.com'
destination_email = 'your_destination_email@example.com'
raw_email = 'From: {}\nTo: {}\nSubject: {}\n\n{}'.format(source_email, destination_email, 'Hello', 'This is the body of the email.')
# 发送邮件
ses_client.send_raw_email(
Source=source_email,
Destinations=[destination_email],
RawMessage={'Data': raw_email}
)
确保将your_source_email@example.com和your_destination_email@example.com替换为您自己的发件人和收件人邮箱地址。