Estou enviando um e-mail usando o framework dotnet. Aqui está o modelo que estou usando para criar a mensagem:
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%
Quando as mensagens são recebidas no Outlook, o Outlook me diz "quebras de linha extras nesta mensagem foram removidas". E a mensagem é exibida assim:
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 como o Outlook remove incorretamente as quebras de linha necessárias após o nome, EECoverageAmount, etc ...
É importante que os destinatários do e-mail obtenham um e-mail formatado corretamente e devo presumir que alguns deles usam o outlook 2003. Também não posso supor que eles saibam o suficiente para desligar o recurso autoclean e fazer com que a mensagem seja formatada corretamente.
Eu vi essas mensagens em outros clientes de e-mail e elas são exibidas corretamente
mais algumas informações:
- Estou usando UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- O msg.Body está sendo lido de um arquivo de texto codificado em UTF-8 e cada linha é encerrada com um crlf.
Pergunta: Como mudo o formato da mensagem para evitar este problema?
\r\n
. Funcionou para mim