我正在尝试在Mandrill上设置一个发送域名,但是我得到一个SPF丢失的错误。
我的APP在AWS上运行,我正在使用EC2和Elastic Beanstalk,而我的域名在Namecheap上。
DNS设置如下:
CNAMElogging@'my-instance-id'.elasticbeanstalk.com。
- 如何使AWS RDS MySQL Read“副本”具有不同的架构?
- 云中的SQL服务器的自动扩展解决scheme
- 了解每个请求32个字节的networking性能影响
- Linux上的Zabbix服务器缺乏自由的交换空间
- 在AWS ELB上强制使用HTTPS
TXTlogging@ v = spf1包括:spf.mandrillapp.com?all
TXTlogging@ v = DKIM1; K = RSA; P = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrLHiExVd55zd / IQ / J / mRwSRMAocV / hMB3jXwaHH36d9NaVynQFYV8NaWi69c1veUtRzGt7yAioXqLj7Z4TeEUoOLgrKsn8YnckGs9i3B3tVFB + CH / 4mPhXWiNfNdynHWBcPcbJ8kjEQ2U8y78dHZj1YeRXXVvWob2OaKynO8 / lQIDAQAB;
URLredirectloggingwww https://myapp.com永久(301)
今天早上我能够validationSPF地址,并且在使用CNAME条目更新我的DNS(实际上我只是将我的应用程序移动到AWS)后,我开始有SPF丢失错误。
任何想法如何我可以解决这个问题? 谢谢!
Mandrill支持的答案是:
感谢您写入。看起来您的“myapp.com”域名是“myapp.eu-central-1.elasticbeanstalk.com”的CNAME。 这可能会使事情变得棘手,因为在DNS中,您不能有两个具有相同名称的logging(一个TXTtypes和一个CNAMEtypes)。 因此,您将无法为“myapp.com”设置SPF。 此外,通过CNAMEredirect的方式,理论上可以在redirect导致的最终目的地build立SPFlogging,但不幸的是,Mandrill的SPF和DKIMvalidation器过于具体,因此无法validationDNSloggingCNAME到另一个域的域。 鉴于这些限制,唯一真正的select是将您的“myapp.com”从CNAME更改为直接指向该CNAME链末端的IP地址的Alogging。 然后,您应该能够为此域设置SPF。
其实我不知道我有这样的IP可以指向..你didyou解决类似的问题? 谢谢
CNAME不能有其他logging。 对TXT(或其他任何类似MX,A等)logging的请求将在CNAME并接收my-instance-id.elasticbeanstalk.com. 的TXTlogging(如果有的话)。
build议使用Route53的ALIASloggingtypes而不是CNAME 。 ALIAS看起来像是一个普通的Alogging,但会自动将IP地址更改反映到Elastic Beanstalk实例。
我解决了这个问题,并且能够validation我在Mandrill中发送的域名。
我告诉namecheap使用AWS名称服务器,然后在AWS Route53上设置A Record以指向AWS EB实例,然后直接在AWS中添加Mandrill域validation所需的TXTlogging。
希望这可以帮助其他同样的问题。