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

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

最佳答案

AWS Elastic Beanstalk上运行的应用程序不会自动使用Amazon SES,而只是使用可用于基础常规Amazon EC2实例的SMTP工具,并且Amazon EC上的SMTP确实受到限制,在其他提供商中的信誉也较低,例如Email Changes

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


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


后者意味着您可以将OS配置为也直接将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"

09-30 15:23
查看更多