Я хотел бы добавить символы Unicode в текстовое сообщение электронной почты, отправляемое через SMTP. Наша реализация основана на System.Net.Mail .NET, который позволяет легко указать Unicode кодирующего этого путь:Юникод в SMTP: по какой-то причине?
message.BodyEncoding = System.Text.Encoding.UTF8;
Даже английский, переход на Unicode позволит мне включить пункты маркированных (Unicode код точка U +2022 = •) в тексте электронной почты. Альтернативный элемент электронной почты HTML позволяет использовать элементы <ul>
для маркированных списков, но для электронной почты с обычным текстом я хотел бы, чтобы решение было менее уродливым, чем использование астериков или тире для пуль.
Есть ли недостаток в использовании кодировки Unicode в SMTP? Должен ли я беспокоиться о том, что некоторые получатели не смогут получать или читать электронную почту из-за этой кодировки?
Вы не должны беспокоиться о SMTP - это транспорт и будет обрабатывать любой контент. Получатели - если вы не отправляете некоторым наркоманам Unix, которые используют читатели электронной почты в командной строке в системе, не обновляемой для использования Unicode - вы в порядке –
По умолчанию SMTP не поддерживает перенос 8-битных данных, таких как UTF-8. Либо SMTP-сервер должен поддерживать расширения 8BIT для протокола SMTP, и клиент должен запросить их использование, либо электронное письмо должно быть закодировано в транспортной кодировке с 7-мя битками, например, «base64» или «quoted-printable». –