странные символы в электронной почте HTML - PullRequest
3 голосов
/ 03 июня 2010

Я читаю письмо от maildir, и в некоторых письмах есть странные наборы символов:

=3D
=09

Я думаю, что = 3D - это =, а = 09 - это пробел. Есть и другие, но я не уверен:

=E2
=80
=93

Кто-нибудь знает, что это такое и с какими проблемами кодирования я здесь сталкиваюсь?

Кстати, я пытался получить эти письма через POP3, и это то же самое. Причина, по которой я публикую это на SO, не в том, что я использую обычный почтовый клиент для чтения данных. Я читаю через PHP из файлов maildir. Возможно, обычный почтовый клиент обнаружит, что это за кодировка, и справится с ней.

Спасибо!

1 Ответ

6 голосов
/ 03 июня 2010

Похоже на цитируемое для печати кодирование.

Это форма кодирования для отправки 8-битных кодировок символов по среде, которая может не сохранить старший бит, т. Е. Они не являются 8-битными чистыми. В старые времена некоторые почтовые серверы не сохраняли все 8 бит байта.

  • Если вы видите их в источнике сообщений, но не в своем почтовом клиенте, то это нормально.

  • Если вы видите это в своем почтовом клиенте, значит, что-то напутано в любом программном обеспечении, которое использует отправитель - скорее всего, заголовок Content-Transfer-Encoding не был указан правильно (что говорит почтовому клиенту как его расшифровать).

Если вы пишете почтовый клиент и хотите иметь с этим дело, вам нужно прочитать заголовок Content-Transfer-Encoding. Конечно, если вы делаете это, вы также столкнетесь с составными сообщениями / вложениями, base64 и многими другими.

...