Newline无法使用电子邮件 - .net Windows服务

时间:2011-03-03 16:48:18

标签: .net email smtp

发送电子邮件时我们遇到了一个奇怪的问题。似乎新的生产线并不总是有效。我们的代码是

string mailSubject = "EBN Import Success. Client: " + ClientName.Trim();

StringBuilder mailBody = new StringBuilder("Client Name: " + ClientName.Trim());
mailBody.Append(System.Environment.NewLine + "File Name: " + FileName);
mailBody.Append(System.Environment.NewLine + "FileID: " + FileId);
mailBody.Append(System.Environment.NewLine + "BatchID: " + BatchID);
mailBody.Append(System.Environment.NewLine + System.Environment.NewLine + "Records in File (or staging): " + noOfRecords.ToString());
mailBody.Append(System.Environment.NewLine + "Records imported into BNCStaging: " + noOfRecords.ToString());
mailBody.Append(System.Environment.NewLine + "Records imported into EBNTrackings: " + noOfRecords.ToString());

string mailTo = ConfigurationManager.AppSettings["ErrorEmailTo"].ToString();
string mailFrom = ConfigurationManager.AppSettings["EmailFrom"].ToString();
string mailHost = ConfigurationManager.AppSettings["EmailServer"].ToString();

SmtpClient mailClient = new SmtpClient(mailHost);
mailClient.Send(mailFrom, mailTo, mailSubject, mailBody);

我们得到的输出是

客户名称:[客户名称]文件名:[文件名]
FileID:nnnn
BatchID:mmmm

文件(或登台)中的记录:x
导入BNCStaging的记录:y
导入EBNTrackings的记录:z

即客户名称和文件名在同一行。

我们也尝试使用AppendLine()和'\ n'而没有运气。

任何建议......

顺便说一句,我们使用.net 4.0,邮件客户端是outlook

3 个答案:

答案 0 :(得分:3)

在Outlook中,点击Extra line breaks in this message were removed,然后点击Restore line breaks

答案 1 :(得分:2)

这可能听起来很荒谬,但请尝试在客户名称行中添加句点。据我所知,这似乎迫使前景接受换行,而不是“聪明地”将句子包装在一起。

答案 2 :(得分:0)

你是否尝试在行尾明确地发生"\r\n"