【发布时间】:2018-06-05 20:16:06
【问题描述】:
我正在尝试使用 django boto3 aws ses 发送电子邮件。我注意到 verify_email_identity 使用不同的 IAM 凭证,这个集合实际上在哪里?我没有在我的 django 应用程序中设置它。
client = boto3.client('ses', region_name='us-east-1')
client.verify_email_identity(EmailAddress="bounce@example.com") -> IAM user B
conn = mail.get_connection('django_amazon_ses.EmailBackend') -> IAM user A
email = EmailMessage(
'Subject', 'Content', 'bounce@example.com', ['to@example.com'],
headers={'From': 'from@example.com'},
)
self.assertGreater(conn.send_messages([email]), 0) -> IAM user A
IAM 用户 A 拥有所有权限(如下所示),但 IAM 用户 B 没有。对我来说很奇怪为什么它使用 IAM 用户 B,这怎么可能?我检查了我的所有代码,IAM 用户 B 没有这样的设置
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ses:SendEmail",
"ses:SendRawEmail",
"ses:VerifyEmailIdentity"
],
"Resource": "*"
}
]
}
在 settings.py 中,这是 IAM 用户 A 凭证,我没有在应用程序的任何地方设置 IAM 用户 B,也许在 mac pc 的其他地方,但我不确定。
AWS_ACCESS_KEY_ID = config('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = config('AWS_SECRET_ACCESS_KEY')
问题是 client = boto3.client 和 verify_email_identity 设置 aws 凭据
【问题讨论】:
标签: django amazon-web-services boto3 amazon-ses