2014-09-22 10 views
7

Sto generando e inviando email utilizzando C#.MailMessage aggiunge due punti per un punto quando viene aperta la posta elettronica in Outlook o in altri client

Il messaggio di posta elettronica è in formato HTML, e tutto ciò che appare bene solo prima che il metodo Send si chiama cioè c'è solo un singolo punto appena prima aspx nella URL href, ma quando ho aperto l'e-mail inviata in Outlook o qualsiasi altra e-mail client, mostra un doppio punto per un href come nel codice qui sotto.

<a href='http://localhost/xyz/invitation..aspx?invitecode=92EFB482-1792-4BC6-9507-70D2E3F06FE0'>Click Here </a> 

La mia domanda: perché questo sarebbe accadendo, e c'è un modo per risolvere questo problema come una codifica speciale per MailMessage.BodyEncoding? Sto usando la codifica predefinita (ASCII) per MailMessage.BodyEncoding.

+1

Provare a utilizzare la codifica UTF-8 [check this out] (http://stackoverflow.com/questions/6602318/system-net-mail-creating-invalid-emails-and-eml-files-inserting -extra-dots-in-h) – NMK

+0

Grazie. Sembra molto simile al mio problema. Lasciami provare e tornerò presto. – Sunil

+0

Sì, ha funzionato. Puoi pubblicare questo così posso contrassegnarlo come risposta? Inoltre, credo che cambiarlo in UTF8 andrà bene nei client di posta come gmail, yahoo e web outlook. – Sunil

risposta

16

Provare a utilizzare la codifica UTF8. Questo dovrebbe funzionare

mail.BodyEncoding = System.Text.Encoding.UTF8;