Я отправляю электронное письмо с использованием инфраструктуры 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.
Вопрос: Как изменить формат сообщения, чтобы избежать этой проблемы?