我正在开发一个时事通讯子系统。 用户在HTML编辑器中输入新闻稿内容,并向其客户列表发送电子邮件。 这是一个ASP.NET应用程序。邮件服务器是MS Exchange。
问题在于,带有相当复杂的HTML的真实字母无法覆盖收件人。由于测试邮件发送工作正常。此外,如果我们只收到一个收件人,那么几封信就会到达,然后他们才会来。如果我们尝试另一个地址,它将工作几次,然后再次停止。垃圾文件夹为空。服务器日志为空。没有错误。电子邮件消失得无影无踪。
这是我的代码(简化并稍作修改)。
电子邮件发送代码:
Mailer mailer = new Mailer();
foreach(ClientAddress address in addresses) {
mailer.SendEmail(address.Mail, address.Consultant.Email, newsletter.Topic, newsletter.Content);
}
邮件程序:
public class Mailer {
public virtual void SendEmail(string toAddress, string replyTo, string subject, string text) {
MailMessage message = new MailMessage();
message.From = new MailAddress(Globals.Settings.Mail.SmtpClientAddress);
message.ReplyToList.Add(new MailAddress(replyTo));
message.From = new MailAddress(toAddress);
message.Subject = subject;
message.IsBodyHtml = true;
message.Body = text;
SmtpClient client = new SmtpClient(Globals.Settings.Mail.SmtpServer, Globals.Settings.Mail.SmtpPort);
client.Credentials = new NetworkCredential(Globals.Settings.Mail.SmtpClientName, Globals.Settings.Mail.SmtpClientPassword);
client.Send(message);
}
}
邮寄配置:
<mail
server="exchange.server.com"
port="25"
clientAddress="user@exchange.server.com"
clientName="user@exchange.server.com"
clientPassword="***" />
我听说邮件服务器可以阻止带有html正文的电子邮件。 怎么克服这个? http://mailchimp.com/等服务如何解决这个问题?
提前感谢您的帮助。