2

我正在使用 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);
4

2 回答 2

5

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

例子:

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

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

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

于 2010-05-25T19:17:53.780 回答
1

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

于 2010-05-25T19:10:07.540 回答