我希望我的SES(AWS)可以接收电子邮件,所以我按照以下教程, http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-getting-started-receipt-rule.html
当我在最后一步 - 创建规则时,它会出现以下错误, 无法写入存储桶:"电子邮件接收"
我谷歌并发现(http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html)上的这些信息可以解决问题。
但是,在添加我的策略语句时,它会出现错误 - 此策略包含以下错误:已禁止字段Principal有关IAM策略语法的详细信息,请参阅AWS IAM策略。
我的政策声明是,
{ "版本":" 2012-10-17", "陈述":[ { " Sid":" GiveSESPermissionToWriteEmail", "效果":"允许", "校长":{ "服务":[ " ses.amazonaws.com" ] }, "行动":[ " S3:PutObject" ] "资源":" arn:aws:s3 ::: mybulketname / *", "条件":{ " StringEquals":{ " aws:Referer":" my12accountId" } } } ] }
如果我起飞
"校长":{ "服务":[ " ses.amazonaws.com" ] }
验证政策将通过。
由于
答案 0 :(得分:6)
查找存储桶->许可-> bucketPolicy
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSESPuts",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::BUCKEN_NAME/*",
"Condition": {
"StringEquals": {
"aws:Referer": "YOUR ID"
}
}
}
]
}
在这里https://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-permissions.html
了解更多要在AWS管理控制台上找到您的AWS账户ID号,请在右上角的导航栏上选择“支持”,然后选择“支持中心”。您当前登录的帐户ID出现在“支持”菜单下方的右上角。
在这里https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html
了解更多答案 1 :(得分:1)
此问题已得到解决 在要授予SES权限的存储桶上创建策略,而不是在IAM
中答案 2 :(得分:0)
我遵循了此建议,但仍然遇到问题。经过大量调试后,我意识到SES无法编写,因为我将默认的服务器端加密(存储桶中)设置为“ AWS-KMS”
我进行了5分钟的google搜索,找不到任何地方记录的这种不兼容性。
您可以通过将目标存储桶上的默认加密设置更新为“ AES-256”或“无”来解决此问题。
答案 3 :(得分:0)
请注意,即使在正确指定权限后,我仍然遇到此错误。如果您使用跨区域(例如,SES 位于弗吉尼亚北部,S3 Bucket 位于非洲),则您需要使用区域指定存储桶名称,否则只需将存储桶放在同一区域。
答案 4 :(得分:-2)
我有同样的问题,如果我只删除"条件" 政策通过和" RuleSet"好的:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "GiveSESPermissionToWriteEmail",
"Effect": "Allow",
"Principal": {
"Service": "ses.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::mybulketname/*"
}
]
}