基本上我们得到的是在AWS Elastic Beanstalk平台上运行的应用程序。鉴于此,应用程序本身位于多个服务器上并确保从系统发送邮件,我们需要为Amazon服务器添加足够的SPF记录,以确保他们被批准为域发送电子邮件。
我想我的问题是两部分。首先,默认情况下,所有AWS Elastic Beanstalk设置都使用Amazon Simple Email Service (Amazon SES),那么在这种情况下我们可以在SPF记录中使用include:amazonses.com
吗?如果不是这样,我们如何确保网站从亚马逊服务器发送的邮件被批准 - 我们可以只使用include:domain.com
种记录,还是我们需要为亚马逊网址添加某种包含包含弹性设置?
答案 0 :(得分:4)
AWS Elastic Beanstalk上运行的应用程序不自动使用Amazon SES,而只是简单地使用可用于基础常规Amazon EC2实例的SMTP工具,以及亚马逊上的SMTP EC确实受到限制,并且与其他提供商的声誉较低,例如参见Email Changes
Amazon SES是一个应用程序级仅限出站的电子邮件发送服务,您需要通过以下两种方式之一集成自己:
后者意味着您可以将操作系统配置为直接使用Amazon SES作为EC2实例中的出站SMTP目标,但是,Customizing and Configuring AWS Elastic Beanstalk Environments可以,甚至可以低至Using Custom AMIs,通常它更容易从应用程序中定位SES SMTP端点。
但是,如果确实不希望深入了解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"