【发布时间】: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 可能会将直接发送视为类似僵尸网络的活动。