【问题标题】:Receive email with AWS SES without MX record使用没有 MX 记录的 AWS SES 接收电子邮件
【发布时间】:2018-11-22 23:27:04
【问题描述】:

我想处理特定电子邮件中的传入电子邮件。在 aws 文档中它说

虽然您不需要发布 MX 记录以通过 Amazon SES 接收邮件,但如果您不发布记录,则只有在您明确将其路由到 Amazon SES 时,Amazon SES 才会接收您的域的邮件。

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-mx-record.html

如何将电子邮件明确路由到 SES?

【问题讨论】:

    标签: aws-sdk


    【解决方案1】:

    经过数小时的研究和在不使用 MX 记录的情况下让 SES 接收电子邮件的尝试失败(通过 gSuite / Google Apps 设置了额外的路由),这是我关于如何使用的最佳建议去解决这个问题。

    短版

    在插入 TXT 验证记录后,创建一个子域并将其 MX 记录指向 SES。
    创建必要的规则集以接收和保存来自any@sub.domain.com 的电子邮件后,您现在可以让 SES 接收来自您的任何电子邮件地址的电子邮件(即使未通过 SES 验证)只需将其电子邮件转发到启用 SES 的子域电子邮件地址。


    加长版

    不幸的是,它仍然需要 MX 记录,但请检查一下...

    您可以在主域上创建自定义子域并将其命名为任何名称。就我而言,我称之为ses.mydomain.com 接下来,我通过 Domains 链接将新创建的子域添加到 SES。

    将其作为域添加到 SES 后,会立即出现一个弹出窗口,显示所需的 TXT verification recordMX 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.

    【讨论】:

    【解决方案2】:

    使用 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 Apps,但使用“主机”和“路由”(在 Google Apps/Gmail 选项中),我设法仅将一个收件人中继到 SES。因此,我的域收到的每封电子邮件都照常发送给 Gmail 收件人,除了我转发给 SES 的一封 special_recipient@mydomain.com(它依次发送给 SNS,然后发送给 SQS)。

    【讨论】:

    • 我正在尝试将 Outlook 帐户中的电子邮件转发到 SES,我可以通过创建转发规则来实现吗?如果是这样,我应该提供什么地址?是某事@inbound-smtp.us-east-1.amazonaws.com。如果不能,你能帮我吗? stackoverflow.com/questions/44181230/…
    • @Jerry 你不能用常规的转发规则来做到这一点。相反,您必须将其中继到另一个 SMTP。中继是一种“低级重定向”,只有拥有一个域才能做到这一点。因此,我可以转发我在 G Suite(以前的 Google Apps)中使用的公司电子邮件地址,但不能转发我的个人 email@gmail.com。我相信同样的限制也适用于 Outlook.com。
    【解决方案3】:

    来自: https://aws.amazon.com/blogs/aws/new-receive-and-process-incoming-email-with-amazon-ses/

    现在您需要将收到的电子邮件路由到 SES 进行处理。您在这里有两个选择。您可以将域的 MX(邮件交换)记录设置为指向您要处理传入电子邮件的区域中的 SES SMTP 端点。或者,您可以配置现有的邮件处理系统以将邮件转发到端点。

    【讨论】:

    • 嗨,评论中的链接似乎方向正确,但我仍然不明白是否应该将电子邮件转发到特定的电子邮件?
    • 您可能需要添加域并验证它,以及电子邮件地址并通过 AWS 控制台验证它。然后您可以将电子邮件直接发送到端点 SMTP 服务器到这些电子邮件地址,它将接受向他们交付的请求。
    • 在您可以使用 Amazon SES 发送电子邮件之前,您必须验证发送电子邮件的地址或域以证明您拥有它。如果您的账户仍在 Amazon SES 沙箱中,您还需要验证您向其发送电子邮件的任何电子邮件地址,Amazon SES 邮箱模拟器提供的电子邮件地址除外。您可以使用 Amazon SES 控制台或使用 Amazon SES API 来验证电子邮件地址或域。 docs.aws.amazon.com/ses/latest/DeveloperGuide/…
    • 您可以使用各种支持 SMTP 的编程语言和软件通过 Amazon SES 发送电子邮件。要了解有关 Amazon SES SMTP 接口的更多信息,请单击此处。这里是 -> docs.aws.amazon.com/ses/latest/DeveloperGuide/…
    猜你喜欢
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 2015-05-16
    • 2014-11-26
    • 2018-09-18
    • 1970-01-01
    • 2018-10-06
    • 2020-07-26
    相关资源
    最近更新 更多