manish_rcc Ответов: 2

Кодирование зависимости в asp.net почта


Привет,

у меня есть служба электронной почты, которая отправляет электронную почту всем пользователям
некоторые из пользователей попадают ниже в тему вместо правильной темы

=?utf-8?B?VGhlIEZyb250IFBhZ2U6IFN0cmF0ZWd5OyBVdGlsaXRpZXM7IEJQQ0wgKEJVWSk7IEhQQ0wgKEJVWSk7IEdTSyBDb25zdW1lciAoQUREKTsgT2lsIEluZGlhIChCVVkpOyBIYXZlbGxzIEluZGlhIChCVVkpOyBCZXJnZXIgUGFpbnRzIChCVVkpOyBQYWdlIEluZHVzdHJpZXMgKFJFRFVDRSk7IFRhdGEgQ2hlbWljYWxzI


использовали нижеприведенную строку кода в письме.

mailObj.SubjectEncoding = System.Text.Encoding.UTF8;
mailObj.BodyEncoding = Encoding.GetEncoding("utf-8");
mailObj.SubjectEncoding = Encoding.GetEncoding("utf-8");


Пожалуйста, сделайте все необходимое.

Sergey Alexandrovich Kryukov

Так в чем же проблема? Это правильный предмет, согласно одному из связанных с почтой стандартов/RFC. Это кодировка UTF-8, представленная в виде строки base64. Возможно, "некоторые из пользователей" используют какое-то почтовое приложение каменного века. Отправьте себе сообщение с некоторыми символами Юникода и проверьте его представление в почтовом приложении.
—СА

2 Ответов

Рейтинг:
2

Sergey Alexandrovich Kryukov

Пожалуйста, смотрите мой комментарий к этому вопросу.

Вот рекомендации для вас:
https://en.wikipedia.org/wiki/Unicode_and_email#Unicode_support_in_message_header[^],
https://tools.ietf.org/html/rfc6532[^].

Смотреть также:
http://stackoverflow.com/questions/454833/system-net-mail-and-utf-8bxxxxx-headers[^],
http://stackoverflow.com/questions/16255487/encoding-to-utf-8-in-email[^],
https://social.msdn.microsoft.com/Forums/en-US/67414337-19a6-4128-b1a0-212404cc2cb1/bug-in-systemnetmail-net-4?forum=netfxnetcom[^],
https://social.msdn.microsoft.com/Forums/en-US/b6c764f7-4697-4394-b45f-128a24306d55/40-smtpclientsend-attachments-mit-umlauten-im-dateinamen?форум=dotnetframeworkde[^].

Я сомневаюсь, что вам нужно что-то с этим делать, но лучше проверьте это: отправьте себе почтовое сообщение, используя какой-нибудь заголовок с символами Юникода, посмотрите, как оно отображается различными почтовыми приложениями…

—СА


Рейтинг:
0

Member 14948305

Добавление двух пробелов к теме работало на меня. Не спрашивай почему.

var mail = new MailMessage(from, to);
mail.Subject = subject + new string(new char[] { '\u2000', '\u2000' });
почте.SubjectEncoding = Кодировка.Кодировке utf8;