【问题标题】:Gmail is filtering my web app's email as spam [closed]Gmail 正在将我的网络应用程序的电子邮件过滤为垃圾邮件 [关闭]
【发布时间】:2011-06-17 22:43:00
【问题描述】:

我们有一个商业网络应用程序,它定期发送电子邮件作为提醒、链接到客户数据等。我们公司使用 Google Apps 作为我们的电子邮件提供商(使用我们自己的域名),并且网络应用程序通过 Google 使用 SMTP 发送电子邮件.

问题在于 Google Apps / Gmail 不断将邮件标记为垃圾邮件,即使是我们域名中的收件箱也是如此。似乎没有其他电子邮件提供商将其标记为垃圾邮件(当然我们还没有对它们进行全部测试......)。

我们尝试了身体测试的各种形式:即包括更多的上下文信息,按姓名称呼接受者,但到目前为止没有明显变化。这让我觉得这可能与我们的电子邮件发送过程有关,而不是电子邮件的内容导致电子邮件被标记为垃圾邮件。

我们尝试过但没有解决问题的方法:

  • “发件人”地址有效且没有欺骗
  • SPF 记录正确,在邮件标头中显示为“通过”
  • 由于我们要连接到 Google 的 SMTP 服务器来发送电子邮件,因此列入黑名单的 IP 地址不是问题(但是,我们的网站有一个未列入黑名单的静态 IP 地址)。
  • 电子邮件不是很垃圾:我检查了几个在线垃圾邮件过滤器测试,电子邮件正文总是显示为极不可能被过滤。
  • HTML 正文与纯文本正文似乎没有区别。
  • 我们发送少量电子邮件:可能每天 0 到 10 封电子邮件,所以我不认为这会引起怀疑。
  • 只要我们有权访问收件箱(即它属于我们公司的员工),我们就会将这些电子邮件标记为“非垃圾邮件”,因为 Gmail 可能会使用公共统计数据来确定垃圾邮件。几次之后,这会导致发送到特定收件箱的电子邮件通过,但似乎对其他帐户没有帮助。

我们还能尝试什么?

如果有所作为,我们将使用运行 .NET 3.5 的 ASP.NET 站点发送电子邮件。典型的电子邮件是这样发送的:

var message = new MailMessage(new MailAddress(from), new MailAddress(to)) {
    Subject = subject,
    Body = body
    IsBodyHtml = true
};

// SMTP details stored in web.config 
new SmtpClient { EnableSsl = true }.SendAsync(message, null);

编辑: 我见过类似的问题:How to stop Gmail from marking mails sent by my web app as spam?,但情况有点不同,因为我们可以通过相同的 Google Apps 域发送和接收来重现它。此外,我相信我已经涵盖了针对该问题提出的所有解决方案。

【问题讨论】:

  • @Tom Gullen:我看过那篇文章,并且相信我已经解决了其中的所有问题。但无论如何,我什至不确定我是否会将我们的电子邮件归类为“批量”——现在我们每天发送的电子邮件不超过 10 封,同一正文绝不会两次,绝不会发送给超过一个人。根据该网站的语言,我们的电子邮件是“交易性的”,而不是“促销性的”。
  • 发件人电子邮件是@gmail 邮件?
  • @Bruno Costa:“发件人”是 @ourcompany.com -- 我们使用 Google Apps 来发送电子邮件,因此他们是我们的电子邮件提供商。
  • 如果它来自 ourcompany.com,我怀疑问题是您直接发送到 gmail 的 SMTP 服务器。为您的公司提供托管/连接的人是否提供您可以使用的 SMTP 服务器?如果没有并且您有一个静态 IP,您可以在 IIS 中启动 SMTP 并使用它吗? Gmail 可能会将直接发送视为类似僵尸网络的活动。

标签: .net asp.net email spam


【解决方案1】:

你可以尝试的其他东西:

  • 请勿从以发送垃圾邮件而闻名的 IP 地址发送电子邮件。这通常意味着没有共享主机。
  • 确保您的邮件主机是有效的 A 记录,而不是 CNAME。
  • 确保您的 MX 记录设置为邮件主机的完整主机名(设置为 A 记录)。
  • 确保可以反向查找邮件主机的 IP 地址。这对于设置 SPF/发件人 ID 记录非常重要。
  • 设置SPF/SenderID information as a TXT record
  • 配置完所有内容后,您应该verify it。在联系 Gmail 支持之前,请确保没有警告或错误。
  • 使用Spam Assassin 测试您的电子邮件。从您的应用向自己发送一封电子邮件,并将原始消息(包括标题)复制到一个文本文件中,然后针对 Spam Assassin 的命令行测试运行它。
  • 如果您发送纯文本电子邮件,请确保将 Content-Type 标头中的字符集设置为 ISO-8859-1。 Gmail 似乎对此非常讲究。

【讨论】:

  • 我已经阅读了stackoverflow.com/questions/370620/… 的讨论主题,我看到你最初发布了这个答案。鉴于我描述的情况,我看不出这些点有什么关系——即,电子邮件实际上是从谷歌发送的,只是由我们端的 SMTP 客户端发起的;我们已正确设置 SPF;我已经使用 Spam Assassin 进行了测试。我错过了什么吗?
  • 可能是某种中继问题。您是否尝试过从一个 gmail 帐户直接向另一个帐户发送相同的电子邮件?
【解决方案2】:

我认为您将需要使用域密钥,请在此处阅读有关它的更多信息: http://en.wikipedia.org/wiki/DomainKeys

谷歌邮箱需要这个参数,如果你不想这样做,你可能需要使用googlemail作为smtp服务器。

我上个月遇到了这个问题。

另一个考虑因素是网址,请参阅这个问题: Gmail mark as spam email with html and anchor links

希望它有效。

【讨论】:

  • 感谢 DomainKeys 的想法。我们已经开始了这个过程,但就像所有 DNS 的东西一样,它需要一段时间才能传播。无论哪种方式,我都会报告。回复:锚链接:我们没有使用任何链接,所以这可能不会伤害我们。
  • 这为我们解决了问题!谢谢你的帮助。对于遇到此问题的其他人,以下是有关使用 Google Apps 的 DKIM 的一些信息:googleenterprise.blogspot.com/2011/01/… Bizarrely,这只是最近才可用。迟到总比没有好!
【解决方案3】:

您联系过 Google 吗?在您完成所有事情之后,这将是一个选择。更多,因为他们是您的提供者。

请尝试询问他们,请不要忘记让我们了解最新情况。

【讨论】:

  • 大多数大公司不会回应有关如何绕过垃圾邮件拦截的请求。
  • 如果 DomainKeys 的事情没有帮助,我们会看看谷歌怎么说。显然他们不会向我们提供他们的垃圾邮件过滤秘密,但是从有效 gmail 地址发送到有效 gmail 地址、在同一域和 Google Apps 帐户中的邮件会被阻止似乎很奇怪。
猜你喜欢
  • 2010-09-27
  • 1970-01-01
  • 2017-11-03
  • 2010-11-19
  • 2016-04-22
  • 1970-01-01
  • 2013-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多