C# 电子邮件(来自asp.net System.net.Mail)在Outlook中截短,但不在Gmail中截短

C# 电子邮件(来自asp.net System.net.Mail)在Outlook中截短,但不在Gmail中截短,c#,asp.net,email,outlook,C#,Asp.net,Email,Outlook,我们正在运行一个较旧的ASP.NET 2.5应用程序,并使用System.NET.Mail命名空间向客户发送明文电子邮件。有些有点长,因为我们向客户发送正在更改的产品列表 我们收到用户的报告,他们的电子邮件正在被切断。经过一番调查,我们意识到他们只是在展望未来。在Gmail中,它们很好。知道这是什么吗 下面是生成我们电子邮件的代码的一个精简示例 MailMessage msg = new MailMessage(); SmtpClient client = new SmtpClient(Conf

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

我们收到用户的报告,他们的电子邮件正在被切断。经过一番调查,我们意识到他们只是在展望未来。在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);

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

尝试将BODYFORMAT指定为纯文本

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

这可能是100%不相关的,但我要尝试的第一件事是将消息的编码更改为UTF8,因为我使用的.Mail版本没有.bodyformat属性。它确实有.IsBodyHtml和.BodyEncoding。我要和他们一起玩,看看什么有用。将按照上面的建议在那里尝试UTF8。因此,只设置.IsBodyHTML=false,因为您的消息是纯文本的。