Юникод и электронная почта
Многие почтовые клиенты теперь предлагают некоторую поддержку Unicode . Некоторые клиенты автоматически выбирают между устаревшей кодировкой и Unicode в зависимости от содержимого письма. [1] или когда пользователь запрашивает это. [2]
Технические требования для отправки сообщений, содержащих символы, отличные от ASCII, по электронной почте, включают:
- кодирование определенных полей заголовка (тема, имена отправителя и получателя, организация отправителя и имя ответа) и, необязательно, тела в кодировке передачи контента
- кодирование символов, отличных от ASCII, в одном из преобразований Unicode
- согласование использования кодировки UTF-8 в адресах электронной почты и кодах ответов ( SMTPUTF8 )
- отправка информации о кодировке передачи контента и используемом преобразовании Unicode, чтобы сообщение могло корректно отображаться получателем (см. Mojibake ).
Если адрес электронной почты отправителя или получателя содержит символы, отличные от ASCII, отправка сообщения также требует их кодирования в формат, понятный почтовым серверам.
Поддержка Unicode в протоколах [ править ]
- RFC 6531 предоставляет механизм, позволяющий использовать адреса электронной почты, отличные от ASCII, в кодировке UTF-8 в SMTP. [3] или LMTP протокол
Поддержка Unicode в заголовке сообщения [ править ]
Чтобы использовать Unicode в определенных полях заголовка электронной почты, например, в строках темы, именах отправителей и получателей, текст Unicode должен быть закодирован с использованием MIME «Encoded-Word» с кодировкой Unicode в качестве кодировки. Чтобы использовать Unicode в доменной части адресов электронной почты, IDNA традиционно необходимо использовать кодировку . Альтернативно, SMTPUTF8 [3] позволяет использовать кодировку UTF-8 в адресах электронной почты (как в локальной части, так и в доменном имени), а также в разделе заголовка письма. Были созданы различные стандарты для модернизации обработки данных, отличных от ASCII, до первоначального протокола электронной почты, поддерживающего только ASCII:
- RFC 2047 обеспечивает поддержку кодирования значений, отличных от ASCII, таких как настоящие имена и строки темы, в заголовках электронных писем. [4]
- RFC 5890 обеспечивает поддержку кодирования доменных имен, отличных от ASCII, в системе доменных имен. [5]
- RFC 6532 позволяет использовать UTF-8 в разделе заголовка письма. [6]
Поддержка Unicode в телах сообщений [ править ]
Как и в случае со всеми кодировками, кроме US-ASCII , при использовании текста Unicode в электронной почте необходимо использовать MIME , чтобы указать, что для текста используется формат преобразования Unicode.
UTF-7 , устаревшая кодировка, имела преимущество перед кодировками Unicode в устаревших сетях, не являющихся 8-битными, поскольку она не требует кодировки передачи, чтобы соответствовать семибитным ограничениям устаревших почтовых серверов Интернета. С другой стороны, UTF-16 должен быть закодирован для передачи в соответствии с форматом данных SMTP. Хотя это и не является строго обязательным, UTF-8 обычно также кодируется при передаче, чтобы избежать проблем на семибитных почтовых серверах. Кодировка передачи MIME UTF-8 делает его либо нечитаемым как простой текст (в случае base64 ), либо, для некоторых языков и типов текста, сильно неэффективным по размеру (в случае quote-printable ).
Некоторые форматы документов, такие как HTML , PostScript и Rich Text Format, имеют собственные 7-битные схемы кодирования символов, отличных от ASCII, и поэтому их можно отправлять без использования каких-либо специальных кодировок электронной почты. Например, электронная почта HTML может использовать объекты HTML для использования символов из любого места в Юникоде, даже если исходный текст HTML для электронной почты находится в устаревшей кодировке (например, 7-битный ASCII). Подробнее об этом см. в Unicode и HTML .
См. также [ править ]
Ссылки [ править ]
- ^ «страсть к путешествиям/апель» . Гитхаб . Проверено 5 сентября 2018 г.
- ^ «Настройка Outlook на использование UTF-8» . Проверено 5 сентября 2018 г.
- ^ Jump up to: Перейти обратно: а б Цзянькан, Яо; Вэй, Мао (февраль 2012 г.). «Расширение SMTP для интернационализированной электронной почты» . www.tools.ietf.org . Проверено 5 сентября 2018 г.
- ^ Мур, Кейт (ноябрь 1996 г.). «MIME (многоцелевые расширения интернет-почты), часть третья: расширения заголовков сообщений для текста, отличного от ASCII» . www.tools.ietf.org . Проверено 5 сентября 2018 г.
- ^ Кленсин, Джон С. (август 2010 г.). «Интернационализированные доменные имена для приложений (IDNA): определения и структура документации» . www.tools.ietf.org . Проверено 5 сентября 2018 г.
- ^ Абель, Ян; Шон, Стил (февраль 2012 г.). «Интернационализированные заголовки электронной почты» . www.tools.ietf.org . Проверено 5 сентября 2018 г.