Я отправляю электронное письмо, используя структуру 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 неправильно удаляет необходимые разрывы строк после имени, EECoverageAmount и т. Д.
Для получателей электронной почты важно получить правильно отформатированную электронную почту, и я должен предположить, что некоторые из них используют Outlook 2003. Я также не могу предположить, что они будут знать достаточно, чтобы отключить функцию автоочистки, чтобы сообщение было правильно отформатировано.
Я просматривал эти сообщения в других почтовых клиентах, и они отображаются правильно
дополнительная информация:
- Я использую UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- Сообщение msg.Body считывается из текстового файла в кодировке UTF-8, и каждая строка завершается crlf.
Вопрос: Как изменить формат сообщения, чтобы избежать этой проблемы?
\r\n
. У меня это сработало.