Estoy enviando un correo electrónico usando el marco dotnet. Aquí está la plantilla que estoy usando para crear el mensaje:
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%
Cuando se reciben los mensajes en Outlook, Outlook me dice "Se eliminaron los saltos de línea adicionales en este mensaje". Y el mensaje se muestra así:
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
Observe cómo Outlook elimina incorrectamente los saltos de línea necesarios después del nombre, EECoverageAmount, etc.
Es importante que los destinatarios del correo electrónico obtengan un correo electrónico con el formato correcto, y debo asumir que algunos de ellos usan Outlook 2003. Tampoco puedo asumir que sabrán lo suficiente como para apagar la función de autolimpieza para que el mensaje se formatee correctamente.
He visto estos mensajes en otros clientes de correo y se muestran correctamente.
Más información:
- Estoy usando UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- El mensaje MSG se lee desde un archivo de texto codificado en UTF-8 y cada línea termina con un crlf.
Pregunta: ¿Cómo cambio el formato del mensaje para evitar este problema?
\r\n
. Funcionó para mí.