【问题标题】:.NET System.Net.Mail messages are always being flagged junk, on internal server.NET System.Net.Mail 消息总是在内部服务器上被标记为垃圾邮件
【发布时间】:2010-05-25 19:01:21
【问题描述】:

我正在使用 System.Net.Mail 发送几封电子邮件。这些电子邮件由我们的内部邮件服务器发送到本地地址。然而,所有的邮件都直接进入 Outlook 中的垃圾邮件。消息是从有效的电子邮件地址发送的。什么会导致我们的服务器将其标记为垃圾?

MailMessage msg = new MailMessage();
msg.IsBodyHtml = true;
msg.Subject = subject;
msg.Body = body;
msg.From = new MailAddress(from);
msg.To.Add(to);
SmtpClient client = new SmtpClient(server, 25);
client.Send(msg);

【问题讨论】:

  • 您要匿名连接到 smtp?我也不相信你的公开中继。

标签: c# .net email system.net.mail


【解决方案1】:

当传出 SMTP 直接发送而不是中继您的官方(在 DNS 中设置)邮件服务器时,我已经看到这种情况发生了很多。导致这种情况的正常规则是您的 SMTP 发送 IP 与您的域 SMTP 地址的 IP 不匹配。

例子:

您域的外发邮件服务器 smtp.domain.com = 10.1.1.1

System.Net.Mail 使用运行代码的服务器的 IP 地址 = 10.1.1.100

由于它们不匹配,因此会被标记为垃圾邮件。如果您可以中继您的邮件服务器,这可能会解决您的问题。如果不能,您可以使用组策略在 Outlook 中设置一条规则,说明来自您域的所有电子邮件都是安全的。仅当计算机在您的网络上时才有用,外部用户仍会看到它被标记为垃圾邮件。

【讨论】:

  • 是跨域发送。
【解决方案2】:

这取决于您的电子邮件服务器/客户端上的设置。各种各样的事情会让他们给出更高的“垃圾邮件分数”。例如,它是 HTML 的事实通常会提高垃圾邮件分数,而且我认为如果发件人地址与发送它的域不匹配等等。

【讨论】:

  • 我知道不匹配的域/发件人问题是大多数过滤器中的自动标记。我会从这个开始。
  • 哦,可能是这样。该站点当前位于我们的开发域中,但所有拥有电子邮件的用户都处于生产状态。我看看能不能测试一下。
猜你喜欢
  • 2014-07-28
  • 2013-10-14
  • 1970-01-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2014-06-28
  • 2015-10-15
相关资源
最近更新 更多