Wysyłam wiadomość e-mail za pomocą platformy dotnet. Oto szablon, którego używam do tworzenia wiadomości:
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%
Gdy wiadomość zostanie odebrana w programie Outlook, program Outlook wyświetli komunikat „Usunięto dodatkowe podziały wierszy z tej wiadomości”. A komunikat wyświetla się w ten sposób:
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
Zwróć uwagę, że program Outlook nieprawidłowo usuwa potrzebne podziały wierszy po nazwie, kwocie pokrycia EWG itp.
Ważne jest, aby odbiorcy wiadomości e-mail otrzymali prawidłowo sformatowaną wiadomość e-mail i muszę założyć, że niektórzy z nich używają programu Outlook 2003. Nie mogę również zakładać, że będą wiedzieć wystarczająco dużo, aby wyłączyć funkcję automatycznego czyszczenia, aby wiadomość została poprawnie sformatowana.
Widziałem te wiadomości w innych klientach poczty i wyświetlają się poprawnie
trochę więcej informacji:
- Używam UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- Treść msg.Body jest odczytywana z pliku tekstowego zakodowanego w UTF-8, a każda linia jest zakończona crlf.
Pytanie: Jak zmienić format wiadomości, aby uniknąć tego problemu?
\r\n
. U mnie to zadziałało.