У нас есть приложение .Net WinForms, которое может отправлять электронные письма клиентам наших клиентов на английском языке. Это отлично работало в течение многих лет, но недавно наш клиент сообщил, что электронные письма, сгенерированные системой, отображаются для некоторых клиентов на «китайском языке».
Это часто происходит с клиентами, которые используют iPhone для чтения электронной почты, но я видел скриншот клиента, использующего Thunderbird в Windows, где проблема существовала.
Я думал, что это должно быть связано с кодировкой, поэтому я изменил свойство BodyEncoding объекта .Net MailMessage на UTF8, но проблема не устранена.
Dim Mailmsg As New System.Net.Mail.MailMessage
Mailmsg.Subject = Subject
Mailmsg.Body = Body
Mailmsg.To.Add(EmailAddress)
Mailmsg.From = New System.Net.Mail.MailAddress(App.Email, App.FirstName & " " & App.LastName)
Dim _APT_SMPTMAIL As System.Net.Mail.SmtpClient
_APT_SMPTMAIL = New System.Net.Mail.SmtpClient(SMTP)
Mailmsg.BodyEncoding = System.Text.Encoding.UTF8
_APT_SMPTMAIL.UseDefaultCredentials = True
_APT_SMPTMAIL.Send(Mailmsg)
Я не знаю, что делать дальше, или не знаю, связана ли проблема с конфигурацией почтового сервера клиента или с нашим кодом. Мы также не можем воспроизвести проблему внутри, даже при доступе к электронной почте через IPhone, что заставляет меня задуматься, действительно ли это почтовый сервер.