首页 > 解决方案 > 将 Amazon SES 用于 2 个域

问题描述

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

标签: amazon-web-servicesamazon-ses

解决方案


代码如何知道正在发送电子邮件的域?

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

有没有办法以某种方式将 IAM 用户链接到域?

这在官方 AWS SES 文档的控制访问部分中有详细记录。特别是在“限制发件人地址”部分下:

以下策略允许用户调用 Amazon SES 电子邮件发送 API,但前提是“发件人”地址是 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电子邮件地址的电子邮件。


推荐阅读