发送电子邮件时我们遇到了一个奇怪的问题。似乎新的生产线并不总是有效。我们的代码是
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
答案 0 :(得分:3)
在Outlook中,点击Extra line breaks in this message were removed
,然后点击Restore line breaks
。
答案 1 :(得分:2)
这可能听起来很荒谬,但请尝试在客户名称行中添加句点。据我所知,这似乎迫使前景接受换行,而不是“聪明地”将句子包装在一起。
答案 2 :(得分:0)
你是否尝试在行尾明确地发生"\r\n"
?