我有一个需要通过smtp发送html电子邮件的C#应用程序.电子邮件发送得很好,但outlook(低)上的默认安全设置将其归类为垃圾邮件.
这不是一个showstopper问题,但这很烦人,特别是因为垃圾文件夹关闭了html.我不想让我公司的每个人都做一些特别的事情来以可读的方式接收这些电子邮件,有谁知道我可以做什么让Outlook认为这是垃圾邮件?
制作电子邮件的代码(基本内容.)Config是一个包含与此东西配置相关的字符串的对象,toList是一个电子邮件地址列表,正文/主题由其他函数调用填充.
编辑:要添加,此刻我只是发送给自己.在实时版本中,我们将关注最坏情况下发送的不到一百人.
另一个编辑:对于我前几天生成的较长的电子邮件(最差的约200-300行),而不是我现在生成的较短的电子邮件,结果发生得更频繁.我想这是一个合理的过滤标准.
SmtpClient smtp = new SmtpClient(config.SmtpServer);
NetworkCredential net = new NetworkCredential();
net.UserName = config.SmtpLogin;
net.Password = config.SmtpPass;
smtp.Credentials = net;
MailMessage msg = new MailMessage();
msg.IsBodyHtml = true;
msg.Priority = MailPriority.Normal;
msg.To.Add(String.Join(",", toList.ToArray()));
msg.From = new MailAddress(fromAddr, "Build Server");
msg.Body = "Blah html is here";
msg.Subject = "Build successful: #numberhere and stuff";
try
{
smtp.Send(msg);
}
catch (SmtpException)
{
//stuff
}
Run Code Online (Sandbox Code Playgroud)