.NET System.Net.Mail消息始终在内部服务器上标记为垃圾

时间:2010-05-25 19:01:21

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

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

2 个答案:

答案 0 :(得分:5)

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

示例:

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

System.Net.Mail使用运行代码= 10.1.1.100

的服务器的IP地址

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

答案 1 :(得分:1)

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