Po zainstalowaniu MailMessage
class w .NET 4, znalazłem problem, którego nie udało mi się rozwiązać do tej pory. Zapoznaj się z następującym kodem:Błędny ekran odbiornika wiadomości e-mail z niemieckimi przegłosami i przecinkiem o nazwie
using (var message = new MailMessage())
{
message.From = new MailAddress(@"[email protected]", "Uwe Keim");
message.Bcc.Add(new MailAddress(@"[email protected]", "Uwe Keim"));
// This fails (see screenshot).
/*1*/ message.To.Add(new MailAddress(@"[email protected]", "Müller, Fred"));
// This succeeds.
/*2*/ message.To.Add(new MailAddress(@"[email protected]", "Fred Müller"));
// This also succeeds.
/*3*/ message.To.Add(new MailAddress(@"[email protected]", "Muller, Fred"));
message.Subject = "Test";
message.Body = "Some text body.";
new SmtpClient().Send(message);
}
To jest prosty fragment, więc wyślij wiadomość SMTP. Wzajemnie próbują linie /*1*/
, /*2*/
i /*3*/
zachowanie różni:
Kiedy odbiornik („Do”) Nazwa zawiera niemiecki umlaut (czyli „a”, „o” lub „U”) i przecinek (tj”,«), odbiornik widzi uszkodzony tekst w wiadomości e-mail otrzymuje:
Jak widać na powyższym zrzucie ekranu (wzięte z programu Outlook 2010), istnieje tajemnicze» =? utf-8? Q? M = C3 = BCller "w linii" Do: ".
Usunięcie tego przecinka lub usunięcie niemieckiej umlaut. Próbowałem zarówno Exchange 2003 i hmailserver, aby uzyskać ten sam wynik.
Moje pytanie brzmi:
Czy ktoś świadomi tego problemu i ma rozwiązanie to?
Aktualizacja 1:
Jak sugeruje użytkownikowi Adam Maras, Zwolniłem się Microsoft Network Monitor podczas wysyłania wiadomości e-mail.
Dla mnie wydaje się, że klasa MailMessage
(lub klasa SmtpClient
?) Już robi to źle:
Czy możesz rzucić i sprawdzić faktyczną wiadomość e-mail, jako wysyłaną i odebraną, dla obu formatów wyświetlanych, aby wyszukać różnice? –
@AdamMaras Dla odbiorcy już to zrobiłem i jest źle. W przypadku części wysyłającej: Jak mogę to zrobić? Śledzenie na serwerze pocztowym, co otrzymuje z mojej aplikacji? –
To, lub używając czegoś takiego jak Skrzypek, aby zobaczyć, co aplikacja pisze do połączenia. –