Sto inviando un'e-mail utilizzando il framework dotnet. Ecco il modello che sto usando per creare il messaggio:
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 i messaggi vengono ricevuti in Outlook, Outlook mi dice "Sono state rimosse le interruzioni di riga aggiuntive in questo messaggio". E il messaggio viene visualizzato in questo modo:
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
Nota come Outlook rimuove erroneamente le interruzioni di riga necessarie dopo il nome, EECoverageAmount, ecc ...
È importante che i destinatari delle e-mail ricevano un'e-mail formattata correttamente e devo presumere che alcuni di loro utilizzino Outlook 2003. Inoltre, non posso presumere che ne sapranno abbastanza per disattivare la funzione di autoclean per ottenere il formato corretto del messaggio.
Ho visualizzato questi messaggi in altri client di posta e vengono visualizzati correttamente
qualche informazione in più:
- Sto usando UTF-8 BodyEncoding (msg.BodyEncoding = System.Text.Encoding.UTF8)
- Il msg.Body viene letto da un file di testo codificato UTF-8 e ogni riga termina con un crlf.
Domanda: come si modifica il formato del messaggio per evitare questo problema?
\r\n
. Ha funzionato per me.