Ich sende eine E-Mail mit dem Dotnet-Framework. Hier ist die Vorlage, mit der ich die Nachricht erstelle:
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%
Wenn die Nachrichten in Outlook empfangen werden, sagt Outlook "Zusätzliche Zeilenumbrüche in dieser Nachricht wurden entfernt". Und die Meldung wird folgendermaßen angezeigt:
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
Beachten Sie, wie Outlook erforderliche Zeilenumbrüche nach dem Namen, EECoverageAmount usw. falsch entfernt.
Es ist wichtig, dass die E-Mail-Empfänger eine korrekt formatierte E-Mail erhalten, und ich muss davon ausgehen, dass einige von ihnen Outlook 2003 verwenden. Ich kann auch nicht davon ausgehen, dass sie genug wissen, um die Autoclean-Funktion auszuschalten, damit die Nachricht ordnungsgemäß formatiert wird.
Ich habe diese Nachrichten in anderen E-Mail-Clients angezeigt und sie werden korrekt angezeigt
Weitere Informationen:
- Ich verwende UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- Der msg.Body wird aus einer UTF-8-codierten Textdatei gelesen, und jede Zeile wird mit einem crlf abgeschlossen.
Frage: Wie ändere ich das Format der Nachricht, um dieses Problem zu vermeiden?
\r\n
. Es hat bei mir funktioniert.