Azure上的Sendgrid "发件人身份验证"

5
我有一个Azure SendGrid帐户,它非常好用。我可以使用常规API轻松发送电子邮件。我需要设置发件人身份验证(有两个原因:首先,它将有助于接收者在垃圾邮件中找到它,更重要的是它将允许我设置入站解析)。
我已经查阅了Sendgrid文档(https://sendgrid.com/docs/User_Guide/Settings/Sender_authentication/How_to_set_up_domain_authentication.html),其中包含明确的说明,涉及DNS记录(稍后会详细介绍),但不幸的是这并没有起作用。我还经过了他们的故障排除。我认为问题可能出在我的域名实际上是子域名,但我无法弄清楚如何修复DNS记录以使其工作。
我为我的站点设置了一个“DNS区域”,假设该站点为“fake.azurewebsites.net”。
Sendgrid指示我添加以下CNAME记录(数字已混淆): em1879.fake.azurewebsites.net > u7381760.wl261.sendgrid.net (以及其他两个记录)。
我创建了这些记录,并等待超过48小时进行DNS刷新,但Sendgrid仍无法验证。我收到错误消息:期望"em1879.fake.azurewebsites.net"的CNAME与"u7381760.wl261.sendgrid.net"匹配。我还尝试了他们的故障排除,但无法使用DIG命令获得“答案”。我没有使用已知会干扰的白名单或其他功能。在所有文档中,记录通常采用以下形式:em1879.usersDomain.com而不是em1879.userSub.Domain.com,因此可能是问题的一部分,但我可能漏掉了某些内容。

这似乎是一个错误的DNS记录设置问题。您能否挖掘您的域名em1879.fake.azurewebsites.net并获得sendgrid记录的答案?也许分享您的实际域名可以帮助找到问题所在。 - mdeora
当我挖掘CNAME DNS记录时,我得到了一个空的“答案”。实际域名已列出。请查看Dig CNAME em8849.geic.azurewebsites.net [链接](https://toolbox.googleapps.com/apps/dig/)。ID 24695,操作码查询,响应代码NXDOMAIN,标志QR RD RA ;问题 em8849.geic.azurewebsites.net. IN CNAME ;答案 ;权威 azurewebsites.net. 59 IN SOA prd1.azuredns-cloud.net. msnhst.microsoft.com.azurewebsites.net. 2034177339 900 300 604800 60 ;附加 - Aquila the Eagle
是的,确切地说这就是我想表达的意思,dig 命令应该响应正确的值。请与 DNS 服务提供商核实,如果您已经设置了正确的 CNAME 记录,为什么它没有解析出来。 - mdeora
2个回答

5
我想复制从Microsoft技术支持那里得到的答案。根据@mdeora的评论,我联系了Azure并得到了以下回复。似乎子域是问题所在,但只是针对这些azurewebsites.net子域,如果您可以设置委派,则其他子域可能运行良好。
我怀疑有一个委派问题。
据我了解,您已创建了一个DNS区域名称“geic.azurewebsites.net”。这已经分配了Azure DNS的名称服务器(例如ns1-08.azure-dns.com等)。然后,您创建了类型为CNAME的DNS条目“em8849”。
问题在于,在父DNS区域和您的DNS区域之间没有DNS委派。在这种情况下,父DNS区域是“azurewebsites.net”。这由Microsoft拥有,他们不支持客户从此域设置委派。
您应该:
购买您自己的域名(例如myapp.com)。您可以使用Azure中的App Service Domains服务(目前处于预览状态)进行此操作。请参见https://azure.microsoft.com/blog/app-service-domain/ 在Azure DNS中创建相应的DNS区域 为您的DNS区域设置DNS委派。请参见https://learn.microsoft.com/azure/dns/dns-delegate-domain-azure-dns 创建您的DNS记录。对于Web应用程序,请使用CNAME到“xxx.azurewebsites.net”或直接使用站点IP地址的A记录。 对于Web应用程序,您还必须将您的域名注册为Web应用程序的自定义域名。请参见https://learn.microsoft.com/azure/app-service/web-sites-traffic-manager-custom-domain-name 如果您使用App Service Domains完成步骤1,则步骤2和3应该会自动完成。
祝好运!

Jonathan (www.opsgility.com)"
建议由Jonathan Tuliani(Moderator)在2018年6月15日上午9:00提供答案


3
对我来说,问题在于Azure自动包含了域名:Sendgrid要求添加一个CNAME记录 "s1.domainkey.yourcustomdomain.com"; 你不应该在名称中包含 ".yourcustomdomain.com" ,因为Azure会自动包含它。你可以通过编辑记录并查看其最终变成的内容:"s1.domainkey.yourcustomdomain.com.yourcustomdomain.com"来检查这一点。因此,该记录应该只是:"s1.domainkey";这对我有效,但我有一个从Azure获取的自定义域名;也许对于Azure网站子域,它也有效,我不确定。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接