2014-09-22 5 views
7

Generuję i wysyłam wiadomości e-mail przy użyciu C#.Program MailMessage dodaje dwie kropki dla jednej kropki, gdy poczta e-mail jest otwierana w programie Outlook lub innych klientach.

Wiadomość e-mail jest sformatowana w formacie html i wszystko wygląda dobrze tuż przed wywołaniem metody Send, tzn. Jest tylko jedna kropka tuż przed aspxem w adresie URL href, ale kiedy otwieram wysłaną wiadomość e-mail w programie Outlook lub jakimkolwiek innym e-mailu client, pokazuje podwójną kropkę dla href jak w poniższym kodzie.

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

Moje pytanie: Dlaczego miałoby to być dzieje i czy jest jakiś sposób aby rozwiązać ten problem jak jakiegoś specjalnego kodowania dla MailMessage.BodyEncoding? Używam domyślnego kodowania (ASCII) dla MailMessage.BodyEncoding.

+1

Spróbuj przy użyciu kodowania UTF-8 [to sprawdzić] (http://stackoverflow.com/questions/6602318/system-net-mail-creating-invalid-emails-and-eml-files-inserting -extra-dots-in-h) – NMK

+0

Dzięki. To wydaje się bardzo podobne do mojego problemu. Pozwól mi spróbować, a wkrótce wrócę. – Sunil

+0

Tak, to działało. Czy możesz to opublikować, aby oznaczyć to jako odpowiedź? Również, myślę, zmiana go na UTF8 będzie dobrze w klientach poczty internetowej, takich jak Gmail, Yahoo i perspektywy internetowej. – Sunil

Odpowiedz

16

Spróbuj użyć kodowania UTF8. To powinno działać

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