我正在使用 dotnet 框架发送电子邮件。这是我用来创建消息的模板:
Date of Hire: %HireDate%
Annual Salary: %AnnualIncome%
Reason for Request: %ReasonForRequest%
Name of Voluntary Employee: %FirstName% %LastName%
Total Coverage Applied For: %EECoverageAmount%
Guaranteed Coverage Portion: %GICoveragePortion%
Amount Subject to Medical Evident: %GIOverage%
在 Outlook 中收到邮件时,Outlook 告诉我“删除了此邮件中的额外换行符”。消息显示如下:
Date of Hire: 9/28/2001
Annual Salary: $100,000
Reason for Request: New Hire
Name of Voluntary Employee: Ronald Weasley Total Coverage Applied For: $500,000 Guaranteed Coverage Portion: $300,000.00 Amount Subject to Medical Evident: $200,000
请注意 Outlook 如何错误地删除名称、EEOverageAmount 等后所需的换行符...
对于电子邮件收件人来说,获得格式正确的电子邮件很重要,我必须假设他们中的一些人使用 Outlook 2003。我也不能假设他们知道足以关闭自动清理功能以使邮件正确格式化。
我已经在其他邮件客户端中查看过这些消息并且它们显示正确
更多信息:
- 我正在使用 UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- msg.Body 是从一个 UTF-8 编码的文本文件中读取的,每一行都以 crlf 结尾。
问题:如何更改消息的格式以避免此问题?