将 Amazon SES 用于 2 个域

Using Amazon SES for 2 domains

我目前有一个 AWS 账户,其中有 2 个 ec2 实例,用于我已设置的 2 个不同的域(网站)。之前,我验证了其中一个域,为其创建了一个 IAM 用户,并提交了一个成功的请求以从沙盒中删除该帐户。现在我也希望将 SES 用于其他域。我知道如何为这两个域设置不同的 MAIL FROM 域,但是就代码而言,我通过创建新的 IAM 用户(然后在代码中使用)生成的访问和密钥似乎没有考虑到不同的域域。是否可以像这样将 AWS SES 用于两个单独的域(其中从每个应用程序发送的电子邮件具有不同的 MAIL FROM 域),如果是这样,代码如何知道电子邮件发送到哪个域?有没有办法以某种方式 link IAM 用户访问域?

how does the code know which domain the emails are being sent?

您正在编写的代码必须知道它正在使用的 FROM 电子邮件地址。这就是您的代码如何知道它正在使用哪个域发送电子邮件。

Is there a way to somehow link the IAM user to the domain?

官方 AWS SES 文档的 Controlling access 部分对此进行了详细记录。具体在“限制发件人地址”部分下:

The following policy permits a user to call the Amazon SES email-sending APIs, but only if the "From" address is marketing@example.com.

{
  "Version":"2012-10-17",
  "Statement":[
    {
      "Effect":"Allow",
      "Action":[
        "ses:SendEmail",
        "ses:SendRawEmail"
      ],
      "Resource":"*",
      "Condition":{
        "StringEquals":{
          "ses:FromAddress":"marketing@example.com"
        }
      }
    }
  ]
}

您可以使用 IAM 策略中的条件来限制角色仅发送具有特定 FROM 电子邮件地址的电子邮件。