我有 2 个 Windows 2008 R2 机器在 Microsoft Azure 中运行。我的 ASP.NET 4.0 站点(假设它在“example.com”上运行)有一个标准的“联系我们”表单。
当用户发送联系我们消息时,我使用System.Net.Mail
和SmtpDeliveryMethod.Network
将邮件发送到每个盒子上运行的 IIS6 SMTP 服务器,该服务器使用用户输入的电子邮件地址将邮件发送到 Google Apps“enquiries@example.com”帐户联系我们表格作为“发件人”地址。
这工作了一年,直到我今天检查它,并在 \Badmail 文件夹中的 .BDP 文件中发现了这个错误:
550-5.7.1 我们的系统检测到来自您的 IP 地址的非请求邮件的异常率。为了保护我们的用户免受垃圾邮件的侵害,从您的 IP 地址发送的邮件已被阻止。请访问http://www.google.com/mail/help/bulk_mail.html以查看我们的批量电子邮件发件人指南。
很明显,谷歌在过去 6 个月里提高了他们的反垃圾邮件策略——最后一次是 2013 年 2 月(是的,幸运的是,我们没有收到太多邮件......但是)。
我已经阅读了上面链接的批量发件人指南,但它们并不真正适合我的用例。我的案例不是从我们的服务器向我们网站的用户发送电子邮件(我只是使用 Gmail API 并从我们的 enquiries@example.com 发送),而是收集用户的查询,以便我们可以通过单击回复轻松回复在那个收件箱里。
我在这里寻找最简单的解决方案。针对 Google 的批量发件人指南中的内容:
使用一致的 IP 地址发送批量邮件:我已经这样做了,似乎没有帮助
反向 DNS:Godaddy,我的域和 DNS 提供商似乎不支持它们:http: //support.godaddy.com/groups/domains-management-and-services/forum/topic/how-do-i-setup- reverse-dns/ 有人知道有没有办法?
在您发送的每封批量邮件的“发件人:”标题中使用相同的地址:这完全不是我的用例。我在每封电子邮件中都有不同的 From 标头
SPF 记录:我认为这仅在我每次都从 ...@example.com 发送时才有效。是对的吗?我的感觉是 SPF 在这里对我没有帮助。很想有人开导我。
DKIM:这看起来非常复杂,但如果有人认为它可以在这种情况下工作,我会继续努力。具体来说,发件人地址与“签名域”不匹配是否可以?任何人有任何好的“如何”链接?这足以让谷歌将我取消黑名单吗?
Sendgrid:Azure 的首选邮件发送应用程序。这意味着注册、代码更改、测试和诸如“Sendgrid 是否允许任何 From 地址?这很重要,我想避免这种情况,但是如果人们认为这是最明智的选择,我会再去那里.