用于将联系我们表单邮件转发给Gmail的IIS SMTP已被Google列入黑名单

时间:2013-10-20 15:48:35

标签: dns smtp google-apps spf dkim

我在Microsoft Azure中运行了2个Windows 2008 R2。我的ASP.NET 4.0站点(让我们想象它在“example.com”上运行)有一个标准的联系我们表单。

当用户发送“与我联系”消息时,我使用System.Net.MailSmtpDeliveryMethod.Network将邮件传递到每个盒子上运行的IIS6 SMTP服务器,该服务器将邮件发送到Google Apps“queries @ examples .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批量发件人指南中的内容:

  1. 使用一致的IP地址发送群发邮件:我已经做过,似乎没有帮助

  2. 反向DNS:Godaddy,我的域名和DNS提供商似乎不支持他们:http://support.godaddy.com/groups/domains-management-and-services/forum/topic/how-do-i-setup-reverse-dns/任何人都知道是否有办法?

  3. 在您发送的每封邮件的“发件人:”标题中使用相同的地址:这完全不是我的用例。我会在每封电子邮件中添加不同的“标题”

  4. SPF记录:我认为这只有在我每次发送来自... @ example.com的情况下才有效。是对的吗?我的感觉是SPF在这里没有帮助我。会爱一个人来启发我。

  5. DKIM:这看起来非常复杂,但是如果有人认为在这种情况下可行的话,我会追求它。具体来说,发件人地址与“签名域”不匹配是否正常?任何人都有任何好的“如何”链接?这是否足以让Google取消黑名单?

  6. Sendgrid:Azure首选的邮件发送应用。这意味着注册,代码更改,测试和未知数,例如“Sendgrid是否允许任何发件人地址?这是非常重要的,我想避免这种情况,但如果人们认为这是最安全的选择,我会再去那里。

1 个答案:

答案 0 :(得分:1)

作为对您的问题的一般回答,从一个IP(例如example.net,example.org和ex.0 10.0.0.1)代表许多不同域发送电子邮件通常被视为垃圾邮件行为(因此不推荐)。

您的积分1-5仅适用于您从一个域发送的情况。 rDNSSPFDKIM只会改善一个IP到一个域的交付(通常 1:1)。

通常,避免在这种情况下被标记为垃圾邮件的最佳方法是将From电子邮件设置为您实际控制的一致电子邮件(例如enquery-sender@example.com),然后将Reply-To设置为输入的地址(例如enquirer@someprovider.com)。这样,您始终从一个域发送,同时仍然获得回复邮件发件人的好处(例如LinkedIn以这种方式执行)。这样做可以让您有益地设置rDNSSPFDKIM


也就是说,如果您决定不想使用推荐的Reply-To方法,则可以使用SendGrid从任意域发送。它不应该需要任何重大的代码更改(只需切换当前的SMTP credentials to SendGrid's)。

免责声明:我是SendGrid员工。