Какая кодировка используется в этой строке?

#string #email

#строка #Адрес электронной почты

Вопрос:

Мое приложение загружает электронные письма с сервера POP3. Но он получает «странные» строки темы. Я вижу, что там есть шаблон кодирования. Но что именно это за кодировка? Что мне искать в Google, если я хочу охватить синтаксический анализ подобных строк?

 =?utf-8?Q?HMS=20will=20no=20longer=20provide=20Netbiter=20SIM=2Dcards?=
  

Заголовок электронной почты:

Subject: =?utf-8?Q?HMS=20will=20no=20longer=20provide=20Netbiter=20SIM=2Dcards?=

Итак, я знаю, что она закодирована отправителем. Также это всего лишь одна из многих строк заголовка, которые все кажутся допустимыми. Очевидно, что HMS больше не будет предоставлять SIM-карты Netbiter после того, как вы замените «= 20» пробелами и всем прочим. Электронное письмо — это просто уведомление от поставщика.


** Нашел это сам: ** [RFC 2047][1]

Ответ №1:

Я точно не помню, но я сталкивался с подобной проблемой раньше. Если тема превышает некоторую длину символа (которая, я думаю, составляет 75 символов), то тема не будет проанализирована должным образом.

Раньше это было проблемой в CodeIgniter (я не использую его сейчас, поэтому не знаю текущего состояния этой проблемы)

Для решения этой проблемы вам, возможно, придется изменить конфигурацию электронной почты.

Могут быть другие причины этой проблемы, но я думаю, это потому, что у вас больше символов в вашей теме.

Комментарии:

1. На самом деле это больше похоже на необработанную загрузку. Есть электронные письма с обычными текстовыми темами и это. Это электронное письмо в формате html.

2. Я не понимаю вашего комментария. Таким образом, этот ответ может быть неправильным. Вы получаете электронное письмо через сервер. То, что вы видите или просматриваете в браузере, на самом деле является ответом, предоставленным вашему браузеру с сервера. Если сервер, или движок, или API, который анализирует электронную почту, настроен правильно, вы не увидите эту ошибку. Я думаю, вы должны понимать, что закодированные слова не должны содержать более некоторого количества символов (которое, я думаю, равно 75). Если вы используете приложение, такое как MS Outlook или другое, то это не ошибка приложения. Также прочитайте о RFC2047. Это может помочь.

3. Ну, по крайней мере, мы пришли к одной и той же странице / документу. Я тоже нашел это в RFC 2047.

4. Также обратите внимание, что если вы считаете, что получаемые вами письма являются спамом, то спамер, возможно, использовал RFC2047. Возможно, я не совсем ясно выразился в своем комментарии, потому что я не знаю, как правильно выразить свое письмо. Я мог бы указать на что-то бесполезное или что-то, что вы, возможно, не понимаете. Мой английский вверх и вниз (смеется). Извините за это.

5. Не волнуйтесь. Я сам не являюсь носителем английского языка.