电子邮件(来自asp.net System.Net.Mail)在Outlook中截断但不在Gmail中截断

时间:2015-10-26 17:21:43

标签: c# asp.net email outlook

我们正在运行较旧的ASP.NET 2.5应用程序,我们使用System.Net.Mail命名空间向客户发送纯文本电子邮件。有些有点长,因为我们将正在更改的产​​品列表发送给我们的客户。

我们从用户那里收到他们的电子邮件正在切断的报告。经过一番调查,我们意识到他们只是在Outlook中被切断了。在Gmail中他们很好。知道这可能是什么吗?

以下是生成我们电子邮件的代码的摘要样本......

MailMessage msg = new MailMessage();
SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["smtpHost"], Convert.ToInt16(ConfigurationManager.AppSettings["smtpPort"]));
client.Credentials = new    NetworkCredential(ConfigurationManager.AppSettings["smtpCredentialUser"], ConfigurationManager.AppSettings["smtpCredentialPassword"]);

msg.From = new MailAddress("xxx@xxxx.xxx", "Product Alert");
string Message_Subject = "Product Alerts";

string body = "\nThe following Products have been updated" + "\r\n\r\n";
    foreach (ProductItem pi in prods.updatedItems)
    {
        body += "Product Name: " + pi.Name.ToString() + "\n";
        body += "New Price   : " + pi.Price.ToString() + "\n";
    }

msg.Body = body;
msg.To.Add(new MailAddress("xxx@xxx.xxx","Mr. Test");

client.Send(msg);

1 个答案:

答案 0 :(得分:0)

问题可能与文本中的某些“特殊代码”字符有关,导致Outlook理解EOF或类似的东西。

尝试将BODYFORMAT指定为PLAINTEXT。

      msg.bodyformat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatPlain