我正在运行托管电子邮件服务器的 Azure VM(经典版)。由于缺少反向 DNS/PRT 记录,某些域不允许我发送电子邮件。
我尝试遵循以下指南:https://azure.microsoft.com/en-us/blog/announcing-reverse-dns-for-azure-cloud-services/
我有一个映射到 IP 的自定义域(例如 mail.mydomain.com)并且我尝试使用以下命令添加反向 DNS:
Set-AzureService –ServiceName“mycloudservice”–Description“邮件服务器的反向 DNS”–ReverseDns Fqdn“mail.mydomain.com”。
但我收到以下错误:
Set-AzureService:BadRequest:反向 DNS FQDN telemetry.yara.com。必须解析为以下之一:a)。此托管服务的 DNS 名称(xxxx.cloudapp.net),b)。此订阅中其他托管服务的 DNS 名称(a4684608-54c0-4c96-b42f-daf646401c58),c)。属于此订阅的保留 IP,或 d)。此订阅中的部署或 VM 的 IP。
请注意,此虚拟机还具有实例 IP(长话短说:我们需要 ping 该 IP),并且域映射到实例 IP,而不是虚拟公共 IP。这可能是我无法添加 PTR 的原因吗?
关于如何在仍让域指向实例 IP 的同时添加 PTR,有什么想法吗?
- 实例 IP 地址 实例 IP 地址是可用于访问 Azure 中的虚拟机的公共 IP 地址。与 VIP 不同,域名中的每个虚拟机都可以拥有自己的实例 IP 地址。使用公共 IP 地址时可能会产生额外费用。
答案1
不支持在 Azure 中的虚拟机上托管邮件服务器,这违反了 TOS。Azure IP 范围实际上已添加到公共阻止列表中,这也许可以解释您遇到的问题。
“由于公有云服务 IP 的弹性特性和滥用的可能性,不支持直接从托管在 Azure 计算服务中的电子邮件服务器向外部域(例如 outlook.com、gmail.com 等)发送电子邮件。因此,Azure 计算 IP 地址块被添加到公共阻止列表(例如 Spamhaus PBL)。此政策没有例外。”
从 Azure 发送电子邮件的解决方案是使用受支持的 SMTP 中继(如 Sendgrid 或 Exchange online)。
答案2
自 2014 年以来,它并不违反 TOS。垃圾邮件违反 TOS(TOS 的第二行)。他们在 TOS 中说不能发送垃圾邮件的唯一原因是如果你可以从虚拟机发送电子邮件。#显然
您可以从阻止列表中删除您的 IP,包括 Azure 的 IP(我们已成功完成此操作)
您现在可以通过 CLI 为 Azure 上的邮件服务器设置 PTR 记录,这实际上可以解决您的问题。
虽然不支持外发 smtp(并且不违反 TOS,因为 MS 支持人员帮助我设置了),但 Microsoft 甚至这样做了。它只是不受支持,但如果您知道如何操作,它是允许的。
否则我们应该关闭互联网,因为它可能被用来发送垃圾邮件(同样的逻辑)
无论如何,SendGrid 是一个很好的解决方案,因为如果您没有内部经验来自己做这件事,它可以提高您的传递率。