我正在寻找一种方法,将发送到DNS为亚马逊53号路由服务的域的电子邮件重定向。例如,我想重定向电子邮件me@example.com到myname@gmail.com.和second@example.com到whatever@live.com.这可能与亚马逊的简单电子邮件服务(SES)有关吗?有没有其他方法可以使用AWS服务(除了在EC2上设置电子邮件服务器)?
有现成的Lambda函数:https://github.com/arithmetric/aws-lambda-ses-forwarder
我最近(2019年7月)遇到了这个问题,通过谷歌搜索我来到了这里。答案对我来说并不那么明显,所以以下是我如何在Route 53上配置我的域,以使用我在gmail:的电子邮件帐户接收和发送电子邮件
接收电子邮件:使用improveMX将所有指向*@yourdomain.com的电子邮件转发到您的个人邮件中。我通过观察这个答案发现了这一点。您只能在Route 53上更改MX记录,并在improveMX上设置一个免费帐户。improveMX会将所有指向您域的电子邮件转发到您的个人电子邮件中。您还可以选择特定的邮件地址进行转发,如hello@mydomain.com.这比你想象的要容易得多。我真的花了5分钟。
发送电子邮件:亚马逊SES服务基本上是一个用于发送邮件的SMTP服务器。因此,如果你的域名在53号公路上,那么使用亚马逊SES真的很容易。这是使用SMTP发送邮件的亚马逊SES文档。连接SES和gmail的基本步骤:
- 按照AWS文档中的说明创建IAM用户,该用户将为您提供用户名和密码
- 在你的gmail帐户中添加另一个电子邮件地址作为发送
- 取消选中"视为别名"。(勾选后,gmail将尝试接收SES的电子邮件,但这不起作用。)
- 使用SES的SMTP服务器地址作为SMTP服务器,并使用以前获得的IAM凭据作为用户名和密码
- 你完了!现在您可以使用发送电子邮件myname@mydomain.com来自gmail
这里的附加说明:为了使用SES发送邮件,你需要将你的SES帐户从沙箱中取出。
我知道这个问题只适用于接收电子邮件,但我想可能有人像我一样既想接收又想发送,所以我希望这个答案能帮助到别人。
此电子邮件重定向是AWS平台"缺少的功能",但有一个"免费"的解决方法可以为您提供重定向。使用mailgun创建一个帐户(每月免费发送10000封以下的电子邮件),当你设置域时,你可以将其重定向到mailgun服务器(他们的文档中对此有非常明确的解释)。然后,您可以使用他们所称的"路由"的组合来设置基于以下内容的任何重定向组合:
- 发送到的电子邮件名称john@foo.com或jane@foo.com
- 电子邮件主题
- 电子邮件标头的各种属性
我已经完全准备好放弃在我的Route 53域下拥有电子邮件帐户,但这对我来说非常有效。
AWS已经记录了如何使用Python 中编写的lambda来实现这一点
https://aws.amazon.com/blogs/messaging-and-targeting/forward-incoming-email-to-an-external-destination/
- 将域添加到aws SES&验证
- 添加到DNS MX记录,以便SES可以接收欧洲第一地区的电子邮件。DNS记录将为:
10 inbound-smtp.eu-west-1.amazonaws.com
- 在SES服务中,转到电子邮件接收并创建规则集,在规则集内创建规则。在规则集中,您可以选择SNS主题,创建SNS主题&选择它
- 再次转到电子邮件接收并启用规则集,确保它是";"活动";,默认情况下,规则集中的规则应处于活动状态
- 去SNS找到你的话题。现在的问题是,您想把SES的新电子邮件通知发送到哪里。在SNS中创建订阅
提示:必须确认SNS中的订阅,否则它们将处于非活动状态。Destination获取要单击以进行确认的URL。
提示:在创建MX记录时,请确保在同一区域执行所有这些操作,并为入站url使用正确的区域。
提示:如果使用slack,您可以在频道设置中获得免费电子邮件&订阅SNS频道。您可以将消息对象转发到SNS支持的任何目的地。电子邮件、lambda、sqs、https等。