Проблема кодировки почтовой программы .NET - PullRequest
0 голосов
/ 09 апреля 2011

Я использую GMail (Google Apps) в качестве SMTP-сервера на своем веб-сайте для отправки электронных писем.Почта отправлялась нормально, до сегодняшнего дня, когда я заметил, что кодировка кажется неправильной.

В Yahoo все сообщение отображается в виде китайских символов (почта полностью на английском).В Hotmail тема письма была на китайских иероглифах.

Ниже приведен мой код электронной почты:

Dim SMTPMail = New SmtpClient("smtp.gmail.com", 587)
SMTPMail.EnableSsl = True
SMTPMail.UseDefaultCredentials = False

Dim MailAuthentication = New NetworkCredential("mailer@website.com", "blahblah")
SMTPMail.Credentials = MailAuthentication

Dim EmailMessage As New MailMessage(New MailAddress(FromAddress), New MailAddress(ToAddress))

EmailMessage.BodyEncoding = Encoding.Unicode
EmailMessage.Subject = "Blah blah"
EmailMessage.Body = "Blah blah"
EmailMessage.Priority = Priority
EmailMessage.IsBodyHtml = True

EmailMessage.From = New MailAddress(FromAddress)
SMTPMail.Send(EmailMessage)

Кодировка в заголовке, показанная Yahoo:

Content-Type: text/html; charset=utf-16
Content-Transfer-Encoding: base64

Есть идеи, почему это происходит?

1 Ответ

1 голос
/ 09 апреля 2011

Если все ваше сообщение написано на английском языке (US-ASCII), удалите эту строку:

EmailMessage.BodyEncoding = Encoding.Unicode
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...