Диагностический пакет для письма с невидимым inline PNG в Thunderbird Android: структура MIME, связь cid и безопасное сравнение клиентов.
Разделите три разных симптома
Сначала отметьте, что именно не работает: изображение не отображается внутри письма, MIME-часть отсутствует в списке вложений или часть есть, но её нельзя сохранить. Эти наблюдения могут сочетаться, однако не являются одним и тем же. Не пересылайте письмо себе для проверки: пересылка способна заново собрать MIME-структуру и изменить исходное доказательство. Сохраните оригинал локально в защищённом месте и работайте с копией, удалив адреса, тему и текст. Если письмо связано с финансами, медициной или учётными данными, не прикладывайте оригинал к публичной ветке; достаточно искусственно созданного тестового сообщения с тем же типом частей.
Карта MIME: тип, кодирование, идентификатор
RFC 2045 задаёт Content-Type и Content-Transfer-Encoding для частей сообщения. В проверочной таблице запишите, присутствует ли отдельная часть image/png, каким способом она закодирована и есть ли у неё Content-ID. RFC 2392 определяет схему cid: ссылка внутри HTML должна указывать на идентификатор соответствующей MIME-части. Поэтому проверка состоит не в угадывании расширения файла, а в сопоставлении трёх полей. Не публикуйте содержимое base64 и полные заголовки: они могут содержать адреса, границы сообщения и служебные идентификаторы. Для отчёта достаточно названий полей и результата «совпадает/не совпадает/отсутствует».
Контрольное сравнение без изменения письма
Откройте одно и то же исходное сообщение в Thunderbird Android и в доверенном настольном клиенте или веб-интерфейсе того же ящика. Не скачивайте картинку по внешней ссылке и не разрешайте удалённый контент: inline cid-часть должна проверяться отдельно от сетевых изображений. Запишите четыре результата — рендер, наличие вложения, сохранение и тип части — для обоих клиентов. Если структура отсутствует везде, вопрос относится к формированию письма. Если MIME-связь корректна и другой клиент показывает изображение, расхождение локализовано в обработке клиента, но ещё не объясняет внутреннюю причину. Остановитесь, если сравнение требует передать письмо третьей стороне.
Что передать в безопасном отчёте
Укажите версии приложения и ОС, результат для заранее подготовленного нейтрального письма, Content-Type части, наличие Content-ID и факт совпадения cid без самого идентификатора. Добавьте, показывается ли изображение в другом клиенте и доступно ли сохранение. Полезен минимальный тест, созданный специально для диагностики: небольшой одноцветный PNG, HTML с одной cid-ссылкой и без подписей, адресов или трекеров. Не включайте реальное изображение, полную MIME-копию, Message-ID и серверные маршруты. Публичный issue служит только ссылкой на похожую формулировку; технический вывод должен опираться на стандарты и воспроизводимый нейтральный образец.
Материал подготовлен редакцией VOne с применением ИИ для организации проверки; технические определения вручную сверены с RFC 2045 и RFC 2392, а issue использован только как обезличенный сигнал.
Источники и проверка
- RFC 2045 — MIME Part One проверено 2026-08-07
- RFC 2392 — Content-ID and Message-ID URLs проверено 2026-08-07
Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.