AWS Elastic Beanstalk SPF 记录和 Amazon SES

Posted

技术标签:

【中文标题】AWS Elastic Beanstalk SPF 记录和 Amazon SES【英文标题】:AWS Elastic Beanstalk SPF Record & Amazon SES 【发布时间】:2014-06-16 16:03:09 【问题描述】:

基本上,我们得到的是在AWS Elastic Beanstalk 平台上运行的应用程序。鉴于此,应用程序本身位于多台服务器上,并且为了确保从系统传递邮件,我们需要为 Amazon 服务器添加足够的 SPF 记录,以确保它们被批准为域发送电子邮件。

我想我的问题是两部分。首先,所有 AWS Elastic Beanstalk 设置是否默认使用Amazon Simple Email Service (Amazon SES),然后在这种情况下我们可以在 SPF 记录中使用include:amazonses.com?如果不是这种情况,我们如何确保网站从亚马逊服务器发送的邮件得到批准——我们可以只使用include:domain.com 类型的记录,还是我们需要为包含弹性设置?

【问题讨论】:

【参考方案1】:

在AWS Elastic Beanstalk 上运行的应用程序不会自动使用Amazon SES,而是简单地使用可用于底层常规Amazon EC2 实例的 SMTP 设施,并且 Amazon EC 上的 SMTP 确实受到限制并且具有在其他提供商中的声誉较低,请参见例如Email Changes.

Amazon SES 是一个应用程序级别的仅出站电子邮件发送服务,您需要通过以下两种方式之一进行集成:

使用Sending an Email Through Amazon SES Using an AWS SDK的API 为Sending an Email Through Amazon SES Using SMTP 使用与 SMTP 兼容的编程语言、应用程序或软件包

后者意味着您可以将您的操作系统配置为也直接使用 Amazon SES 作为 EC2 实例中的出站 SMTP 目标,但是,虽然Customizing and Configuring AWS Elastic Beanstalk Environments 是可能的,甚至低至Using Custom AMIs,但通常更容易而是从您的应用程序中定位 SES SMTP 端点。

如果你想走那条路,Authenticating Email with SPF in Amazon SES 有相应的权利。详情,Authenticating Email with DKIM in Amazon SES 也可用。

但是,如果您真的不想深入研究 SES,而只想使用通过 EC2 提供的东西,Sending Email from EC2 Instances 提供了一个详细的您应该采取的操作列表以便托管/从 EC2 向您发送电子邮件,包括 4。设置 SPF(发件人策略框架)DNS 记录

[...] 创建以下 SPF 记录(这是一个 DNS TXT 条目)以 声明只为您的域提供 MX 记录的主机(即主机 为您的域接收邮件)被允许发送电子邮件 代表它:-

@ IN TXT "v=spf1 mx -all"

您还可以选择允许其他特定主机,例如 Googlemail 也可以代表您的域发送电子邮件:

@ IN TXT "v=spf1 mx a:mail.google.com -all"

【讨论】:

以上是关于AWS Elastic Beanstalk SPF 记录和 Amazon SES的主要内容,如果未能解决你的问题,请参考以下文章

[AWS] Elastic Beanstalk

AWS Elastic Beanstalk CLI 安装错误

text AWS Elastic Beanstalk

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Elastic Beanstalk 无法担任角色

AWS Elastic Beanstalk