2014-11-20 4 views
2

Является ли электронное письмо с различной кодировкой символов для его заголовка и тела действительным? Пример использования. При обработке электронной почты следует проверить отдельно кодировку символа его заголовка или проверить, достаточно ли его тела? Может ли кто-нибудь помочь мне понять, как это понять? Спасибо заранее!Может ли заголовок электронной почты иметь различную кодировку символов, чем тело письма?

ответ

6

Заголовки должны использовать ASCII кодировку, если вы хотите, поля заголовка, чтобы иметь другую кодировку вам нужно использовать закодированный синтаксис слова: http://en.wikipedia.org/wiki/MIME#Encoded-Word

электронной почты тело может быть непосредственно закодирован в другой кодировке, только если почта серверы, которые его передают, имеют 8-мегабайтный мим (в настоящее время каждый почтовый сервер должен иметь его включен, но он не гарантируется), в противном случае вам нужно закодировать тело в кодировке передачи (кавычки или печатать в формате base64)

Кодовая кодировка может быть разной в каждом случае, то есть вы можете иметь каждое закодированное слово в разных кодировках и каждой почтовой части, закодированной в другой кодировке или даже в другой трассе nsfer.

Например, вы можете иметь:

Subject: =?UTF-8?Q?Zg=C5=82oszenie?= //header value in UTF-8 encoded with quoted printable 

и тело закодировано:

Content-Type: text/plain; charset="iso-8859-2" 
Content-Transfer-Encoding: base64 

WmG/87PmIEfqtmyxIEphvPE= 

различных кодировок, различные кодировки передачи в одной и той же электронной почты, никаких проблем.

Из опыта я могу сказать вам, что такие письма очень распространены. Что еще хуже, вы можете получить по электронной почте, что государства одну кодовую в заголовке Content-Type и другой набор символов в HTML тела мета-тег:

Content-Type: text/html; charset="iso-8859-2" 

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charser=utf-8"> 

Это до вас, чтобы угадать фактический набор символов, используемый. Вероятно, это одно в метатеге.

Ничего не принимайте. Ожидайте всего. Не берите пленников. Это Спарта.

+0

Это помогает! Спасибо! – Chetan