Обычный SVG с сайта часто не подходит для BIMI. Почтовые провайдеры ожидают ограниченный профиль SVG Tiny PS, безопасную структуру, квадратный viewBox и доступ по HTTPS с корректным Content-Type. Кроме файла, обязательны рабочий DMARC и правильная DNS-запись BIMI.
Сначала проверьте DMARC и DNS, затем валидируйте сам SVG как текст. Удалите scripts, внешние ссылки, растровые вложения, анимацию и неподдерживаемые элементы. Не подменяйте файл по старому URL без учета кеша провайдера.
Что проверить в первую очередь
Начните с воспроизводимого сценария: зафиксируйте время сбоя, идентификатор объекта, версию приложения или конфигурации и последнее известное рабочее состояние. Не меняйте несколько параметров одновременно. Один контролируемый шаг должен подтверждать или исключать одну гипотезу, иначе временное исчезновение симптома легко принять за исправление. Перед работой с данными и настройками подготовьте резервную копию и понятный способ отката.
- Проверьте, что DMARC действует с политикой quarantine или reject и проходит для писем.
- Скачайте SVG по BIMI URL без редиректов и авторизации.
- Проверьте Content-Type image/svg+xml, TLS и доступность извне.
- Убедитесь, что viewBox квадратный, а логотип помещается с безопасными полями.
Почему возникает проблема
Внешний симптом часто появляется не в том компоненте, где возникла первичная ошибка. Интерфейс может показывать неверное состояние из-за backend, очереди, кеша, прав доступа или внешнего API. Полезно проследить данные от источника до результата и найти первую точку расхождения. Это надежнее, чем исправлять последнее сообщение об ошибке или бесконечно перезапускать сервис.
- Дизайнерский SVG содержит embedded image, script, CSS или внешние шрифты.
- Отсутствуют обязательные baseProfile/profile-атрибуты нужного профиля.
- Файл отдается как text/plain или через запрещенную цепочку редиректов.
- DNS BIMI содержит неверный selector или URL.
- DMARC формально существует, но политика p=none или alignment не проходит.
Пошаговая диагностика
Диагностику проводите на тестовой записи или отдельном окружении. В журналах скрывайте токены, пароли, персональные данные и содержимое документов. Для каждого шага сохраняйте измеримый результат: код ответа, версию записи, идентификатор события, состояние процесса, контрольную сумму или время выполнения. Сравнение одной и той же операции до и после изменения помогает отделить причину от совпадения.
- Проверьте файл специализированным BIMI/SVG validator и прочитайте каждую ошибку.
- Откройте XML и найдите script, href, image, foreignObject, animation и внешние ресурсы.
- Проверьте HTTP headers и сертификат URL из независимой сети.
- Сделайте DNS lookup default._bimi и сравните selector с используемым.
- Проверьте реальные DMARC reports, SPF/DKIM alignment и From-домен.
Как сделать безопасный и читаемый BIMI-логотип
Почтовый клиент показывает знак в маленьком квадрате и не должен загружать активный контент. Поэтому файл должен быть самодостаточным, простым и визуально устойчивым при сильном уменьшении.
- Используйте векторные paths и простые fills вместо внешних ресурсов.
- Задайте квадратный viewBox и оставьте поля вокруг знака.
- Преобразуйте текст в кривые, если он необходим.
- Уберите мелкие детали, тонкие линии и зависимость от белого фона.
- Сохраните файл по стабильному HTTPS URL с долгосрочным доступом.
Как исправить проблему
Разбейте исправление на небольшие обратимые изменения. Сначала устраните подтвержденную причину, затем повторите исходный сценарий и проверьте соседние функции. Массовое обновление данных запускайте на ограниченной выборке с отчетом и только после сверки расширяйте на весь объем. Не отключайте авторизацию, валидацию, шифрование или проверку сертификатов ради быстрого исчезновения ошибки.
- Экспортируйте отдельную упрощенную версию логотипа и очистите XML.
- Приведите корневой svg к требованиям Tiny PS и квадратному viewBox.
- Настройте правильный MIME и уберите авторизацию, cookies и лишние редиректы.
- Обновите BIMI TXT с валидным l= URL и при необходимости a= для сертификата.
- После изменения дождитесь DNS/кеша и проверяйте у нескольких провайдеров.
Безопасный порядок внедрения
- Сохраните затрагиваемые данные, конфигурацию и текущие журналы, заранее проверив реальный способ восстановления.
- Повторите проблему на тестовом объекте без реальных списаний, рассылок и необратимых изменений клиентских данных.
- Зафиксируйте изменение в системе контроля версий или журнале работ вместе с причиной и планом отката.
- Проведите тест на нормальном сценарии, ошибочном вводе, повторном запросе, параллельной операции и временной недоступности зависимости.
- После выпуска наблюдайте логи, метрики и полный пользовательский путь, а не только один успешный запрос.
Как проверить результат
Разовый успешный тест недостаточен. Повторите операцию, проверьте крайние значения, одновременные действия и восстановление после перезапуска или временного сбоя. Для важного сценария сохраните автоматический тест либо короткий регрессионный чек-лист. Итог должен подтверждаться не только интерфейсом, но и состоянием базы, очереди, внешнего сервиса и журналом действий.
- SVG проходит валидатор без активного контента и внешних зависимостей.
- URL возвращает HTTP 200, корректный MIME и доверенный сертификат.
- DMARC проходит alignment на реальных письмах.
- Логотип остается узнаваемым в светлой и темной теме при малом размере.
Типичные ошибки при исправлении
- Просто переименовать PNG в .svg.
- Использовать большой маркетинговый макет вместо компактного знака.
- Ожидать мгновенного отображения у всех почтовых провайдеров.
- Проверять только DNS-запись без реальной DMARC-аутентификации писем.
Как предотвратить повторение
Профилактика строится вокруг явных контрактов, повторяемых релизов и наблюдаемости. Система должна не только работать сейчас, но и позволять быстро увидеть нарушение правила при следующем обновлении, росте нагрузки или сбое внешнего сервиса. Проверки полезно автоматизировать там, где ошибка уже привела к потерям времени, данных или заявок.
- Храните исходный и проверенный BIMI SVG отдельно от веб-логотипа.
- Контролируйте доступность URL и срок TLS-сертификата.
- Проверяйте DMARC reports после изменений почтовой инфраструктуры.
- Не меняйте selector и URL без плана обновления и мониторинга.
Что подготовить для технического разбора
- Описание ожидаемого и фактического поведения с точной последовательностью действий.
- Время проблемы, идентификатор тестового объекта и версии затронутых компонентов.
- Фрагменты журналов до и после ошибки без секретов и персональных данных.
- Перечень последних изменений и уже выполненных проверок.
- Безопасный доступ к тестовой среде либо способ воспроизвести сбой без влияния на клиентов.
Частые вопросы
Гарантирует ли валидный BIMI показ логотипа?
Нет. Провайдер применяет собственную политику репутации и может требовать сертификат. Валидность устраняет технические причины, но не гарантирует показ.
Можно ли использовать фирменный текст?
Можно, если он преобразован в paths и остается читаемым, но компактный знак обычно лучше выглядит в маленьком аватаре.
Когда нужна помощь специалиста
Если BIMI SVG не принимается или логотип не появляется, я могу проверить DMARC, DNS, HTTP-выдачу и сам файл, подготовить совместимую версию и найти оставшиеся ошибки публикации.