使用没有 MX 记录的 AWS SES 接收电子邮件
Receive email with AWS SES without MX record
我想处理特定电子邮件的传入电子邮件。在 aws 文档中它说
虽然您不需要发布 MX 记录来通过 Amazon SES 接收邮件,但如果您不发布记录,Amazon SES 将仅在您明确将邮件路由到 Amazon SES 时接收您的域的邮件。
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-mx-record.html
如何将电子邮件明确路由到 SES?
来自:
https://aws.amazon.com/blogs/aws/new-receive-and-process-incoming-email-with-amazon-ses/
现在您需要将收到的电子邮件路由到 SES 进行处理。您在这里有两个选择。您可以将域的 MX(邮件交换)记录设置为指向您要处理传入电子邮件的区域中的 SES SMTP 端点。或者,您可以配置现有的邮件处理系统以将邮件转发到端点。
使用 AWS SES 的入站端点之一:
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html#region-select
例如对于 US-EAST-1,入站端点是 inbound-smtp.us-east-1.amazonaws.com
。对于仅接收,您不使用 SMTP 端点。使用或不使用 MX 记录的过程几乎相同:在某处(在您的 DNS 或邮件处理系统中)您必须指向 SES 入站端点。
例如,我的 MX 记录指向 Google 应用程序,但使用 'Hosts' 和 'Routing'(在 Google Apps/Gmail 选项中)我设法仅将一个收件人转发给 SES。因此,我的域收到的每封电子邮件都像往常一样发送给 Gmail 收件人,除了一封 special_recipient@mydomain.com,我将其转发给 SES(后者依次发送至 SNS,然后发送至 SQS)。
经过数小时的研究和尝试让 SES 在不使用 MX 记录的情况下接收电子邮件的尝试失败 (已通过 gSuite / Google 应用程序设置了额外的路由), 这是我关于如何解决这个问题的最佳建议。
精简版
创建一个子域并在插入 TXT 验证记录后将其 MX 记录指向 SES。
创建必要的规则集以接收和保存来自 any@sub.domain.com
的电子邮件后,您现在可以让 SES 接收从您拥有的任何电子邮件地址发送电子邮件(即使未通过 SES 验证) 只需将其电子邮件转发到启用 SES 的子域电子邮件地址即可。
长版
不幸的是,它仍然需要 MX 记录,但请检查一下...
您可以在您的主域上创建一个自定义子域并将其命名为任何名称。就我而言,我称之为 ses.mydomain.com
接下来,我通过 Domains link 将我新创建的子域添加到 SES。
将其作为域添加到 SES 后,会立即出现一个弹出窗口 window,显示所需的 TXT verification record
和 MX mail record
.
将这两条 DNS 记录分配到我的子域后不久,子域通过 规则集 !
设置了一些快速规则后验证并能够接收电子邮件
这是很酷的部分 - 您仍然可以让 SES 从您有权访问的 任何 电子邮件地址接收电子邮件。
你会怎么问?
只需在您要发送到 SES 的电子邮件地址上设置转发器,将其转发到启用 SES 的子域电子邮件地址。
含义 - 如果 SES 能够接收来自 someone@ses.example.com
的电子邮件,但您希望它实际接收来自 someone-else@example.com
的电子邮件,那么您需要做的就是转发 someone-else@example.com
至someone@ses.example.com
!
请记住,您仍然需要创建必要的规则来接收电子邮件。 See this AWS Blog Post for more information.
我想处理特定电子邮件的传入电子邮件。在 aws 文档中它说
虽然您不需要发布 MX 记录来通过 Amazon SES 接收邮件,但如果您不发布记录,Amazon SES 将仅在您明确将邮件路由到 Amazon SES 时接收您的域的邮件。
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-mx-record.html
如何将电子邮件明确路由到 SES?
来自: https://aws.amazon.com/blogs/aws/new-receive-and-process-incoming-email-with-amazon-ses/
现在您需要将收到的电子邮件路由到 SES 进行处理。您在这里有两个选择。您可以将域的 MX(邮件交换)记录设置为指向您要处理传入电子邮件的区域中的 SES SMTP 端点。或者,您可以配置现有的邮件处理系统以将邮件转发到端点。
使用 AWS SES 的入站端点之一:
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html#region-select
例如对于 US-EAST-1,入站端点是 inbound-smtp.us-east-1.amazonaws.com
。对于仅接收,您不使用 SMTP 端点。使用或不使用 MX 记录的过程几乎相同:在某处(在您的 DNS 或邮件处理系统中)您必须指向 SES 入站端点。
例如,我的 MX 记录指向 Google 应用程序,但使用 'Hosts' 和 'Routing'(在 Google Apps/Gmail 选项中)我设法仅将一个收件人转发给 SES。因此,我的域收到的每封电子邮件都像往常一样发送给 Gmail 收件人,除了一封 special_recipient@mydomain.com,我将其转发给 SES(后者依次发送至 SNS,然后发送至 SQS)。
经过数小时的研究和尝试让 SES 在不使用 MX 记录的情况下接收电子邮件的尝试失败 (已通过 gSuite / Google 应用程序设置了额外的路由), 这是我关于如何解决这个问题的最佳建议。
精简版
创建一个子域并在插入 TXT 验证记录后将其 MX 记录指向 SES。
创建必要的规则集以接收和保存来自 any@sub.domain.com
的电子邮件后,您现在可以让 SES 接收从您拥有的任何电子邮件地址发送电子邮件(即使未通过 SES 验证) 只需将其电子邮件转发到启用 SES 的子域电子邮件地址即可。
长版
不幸的是,它仍然需要 MX 记录,但请检查一下...
您可以在您的主域上创建一个自定义子域并将其命名为任何名称。就我而言,我称之为 ses.mydomain.com
接下来,我通过 Domains link 将我新创建的子域添加到 SES。
将其作为域添加到 SES 后,会立即出现一个弹出窗口 window,显示所需的 TXT verification record
和 MX mail record
.
将这两条 DNS 记录分配到我的子域后不久,子域通过 规则集 !
设置了一些快速规则后验证并能够接收电子邮件这是很酷的部分 - 您仍然可以让 SES 从您有权访问的 任何 电子邮件地址接收电子邮件。
你会怎么问?
只需在您要发送到 SES 的电子邮件地址上设置转发器,将其转发到启用 SES 的子域电子邮件地址。
含义 - 如果 SES 能够接收来自 someone@ses.example.com
的电子邮件,但您希望它实际接收来自 someone-else@example.com
的电子邮件,那么您需要做的就是转发 someone-else@example.com
至someone@ses.example.com
!
请记住,您仍然需要创建必要的规则来接收电子邮件。 See this AWS Blog Post for more information.