К обсуждениям

Тема письма в Thunderbird Android превратилась в кракозябры: проверяем MIME-заголовок

Редакция VOne Технологии

Как отделить испорченное отображение Subject в Thunderbird Android от тела письма и серверных данных: матрица клиентов, MIME encoded-word и безопасный фрагмент для отчёта.

Сравнивайте одно сообщение, не создавая пересылку

Откройте одно и то же уже полученное письмо в Thunderbird Android, webmail и, если доступно, настольном клиенте. Запишите только результат отображения темы: читается, искажена одинаково или искажена иначе. Не пересылайте сообщение самому себе и не меняйте тему — пересылка создаёт новые заголовки и может скрыть исходное условие. Отдельно отметьте, читается ли тело письма, но не копируйте его в отчёт. Если искажена тема во всех клиентах, сначала следует проверить исходное формирование сообщения. Если только в Android, локализована разница декодирования или отображения, но конкретная причина всё ещё требует исходного заголовка и версии приложения.

Почему Subject и тело нужно рассматривать отдельно

RFC 5322 определяет интернет-сообщение как набор полей заголовка и тело, поэтому корректное тело не подтверждает корректность Subject. RFC 2047 задаёт encoded-word для не-ASCII текста в заголовках, включая Subject, и правила его декодирования почтовым клиентом. Полезно проверить, содержит ли исходное поле такой маркер и одинаково ли он интерпретируется, но не нужно вручную исправлять письмо на сервере. Повреждённый вид может возникать из-за исходной кодировки, разбора последовательности encoded-word или отображения результата. Без сравнения клиентов нельзя честно выбрать один вариант, а одна публичная ветка не доказывает общий дефект стандарта или Thunderbird.

Безопасный фрагмент MIME для воспроизведения

Если почтовый интерфейс позволяет посмотреть исходник, скопируйте только строку Subject и её продолжения. Перед передачей замените читаемые слова нейтральными маркерами, сохранив обозначение кодировки, тип кодирования, разделители encoded-word и переносы строк. Не включайте From, To, Date, Message-ID, Received, серверные имена, адреса и тело. Убедитесь, что после редактирования фрагмент всё ещё демонстрирует структуру, а не личный текст. Запишите версию Thunderbird Android и результат в двух контрольных клиентах. Если доступ к исходнику требует выгрузить весь файл письма в публичное место, остановитесь: разработчикам сначала можно передать минимальную обезличенную форму через предназначенный канал.

Дерево решений для отчёта

Ветвь первая: тема искажена везде — приложите обезличенную форму Subject и укажите отправляющую систему без адресов. Ветвь вторая: искажена только в Android — добавьте версию приложения, ОС и два контрольных результата. Ветвь третья: проблема зависит от одного конкретного сочетания символов — создайте отдельное тестовое письмо с искусственным нейтральным текстом только в собственной тестовой среде, не используя исходную переписку. Не объявляйте письмо повреждённым и не удаляйте его с сервера. Остановитесь, если исследование требует раскрыть заголовки маршрутизации или личные данные. Хороший issue показывает минимальную структуру и различие клиентов, не публикуя содержимое сообщения.

Материал подготовлен редакцией VOne с применением ИИ для дерева решений; структура письма и encoded-word вручную сверены по RFC 5322 и RFC 2047, issue использован только как сигнал.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.