Юникод и электронная почта
Многие почтовые клиенты теперь предлагают некоторую поддержку 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 г.
- ^ Перейти обратно: а б Цзянькан, Яо; Вэй, Мао (февраль 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 г.