BIMI на практике: SVG в профиле Tiny P/S, VMC-сертификат и DMARC до enforcement
BIMI ломается не на «красивой картинке», а на трёх барьерах: DMARC на enforcement, SVG строго в профиле Tiny P/S и VMC-сертификат с зарегистрированным товарным знаком. Разбираем реальную последовательность, где DNS-запись — финал, а не старт, и где на самом деле уходит год работы.
EvilMail Team17 июля 2026 г.11 мин чтения
Логотип бренда рядом с именем отправителя в Gmail и Apple Mail — это BIMI. И почти каждая инструкция начинается со слов «добавьте одну TXT-запись». Это описание последнего шага, поданное так, будто он единственный. На практике запись _bimi публикуется в самом конце, когда уже закрыты три реальных барьера. Провал происходит именно на них, а не на «красивой векторной картинке».
Барьер первый — DMARC на enforcement (p=quarantine или p=reject), и это не переключается за вечер без риска потерять легитимную почту. Барьер второй — SVG не «любой», а строго в профиле SVG Tiny 1.2 Portable/Secure; обычный экспорт из Illustrator валидатор отбросит. Барьер третий — для Gmail, Apple Mail и Yahoo нужен VMC- или CMC-сертификат, а VMC требует зарегистрированного товарного знака, регистрация которого занимает 1–2 года и стоит денег. Вот где живёт настоящий проект. DNS — это пятнадцать минут в конце.
BIMI и VMC: подготовка SVG, сертификат и DMARC — полный гайд 2026 — EvilMail Blog
Кто что требует на 2026 год
Раскладка провайдеров определяет главное: стоит ли вообще платить за VMC.
Gmail — VMC или CMC. Без сертификата логотип не покажет даже при идеальном DMARC и SVG.
Apple Mail (iOS 16+, macOS Ventura+) — VMC; для значка верификации важен именно VMC на зарегистрированном знаке.
Yahoo / AOL — VMC.
Fastmail — показывает логотип без сертификата: достаточно SVG плюс DMARC на enforcement.
Отсюда вывод, который экономит бюджеты: если вы малый или средний отправитель без зарегистрированного ТМ, гнаться за значком Apple смысла мало. С 2024 года есть CMC (Common Mark Certificate) — сертификат для незарегистрированных, а также государственных и геральдических знаков. Gmail его принимает и показывает логотип, просто без отметки верификации. Для большинства это правильный путь: покрытие аудитории почти то же, а год ожидания регистрации ТМ проект не блокирует.
DMARC: доводим до enforcement без потери писем
Узкое место номер один. При p=none BIMI игнорируют все провайдеры без исключения — политика мониторинга защитой не считается. Нужен минимум p=quarantine, лучше p=reject. И тут же ловушка: валидаторы (и часть почтовиков) хотят pct=100 либо полное отсутствие pct. Для BIMI pct фактически устарел, а pct<100 может дисквалифицировать запись. Играть в «ужесточение через процент» здесь не выйдет: это инструмент миграции DMARC вообще, но BIMI требует полного охвата.
Последовательность — не «взял и поставил reject»:
1.Ставим p=none с rua и собираем агрегированные отчёты 2–4 недели. Смотрим, какие источники шлют от вашего домена и проходят ли выравнивание (alignment) по SPF или DKIM.
2.Чиним всё легитимное: подписываем DKIM на всех рассыльщиках (ESP, транзакционка, CRM), выравниваем домен в From с доменом подписи. Цель — 95–100% легитимного трафика проходит DMARC.
3.Переходим на p=quarantine, наблюдаем ещё пару недель, затем p=reject.
Боевая запись, к которой стоит прийти:
dns
_dmarc.evilmail.pro. IN TXT "v=DMARC1; p=reject; rua=mailto:[email protected]; sp=reject; adkim=s; aspf=s"
Пока в отчётах есть заметный поток легитимной почты, падающей по DMARC, — enforcement не включайте. Иначе BIMI обойдётся ценой потерянных писем, а это плохая сделка.
Готовим SVG: профиль Tiny 1.2 P/S, а не «любой векторный логотип»
Самая недооценённая часть. BIMI требует не SVG вообще, а SVG Tiny 1.2 Portable/Secure — урезанный детерминированный профиль без всего, что может исполнять код или тянуть внешние ресурсы. Экспорт из Figma или Illustrator почти всегда его нарушает.
После svgo заголовок правится руками: возвращаете xmlns, дописываете version="1.2" baseProfile="tiny-ps", вставляете <title> первым дочерним элементом. Финальную проверку делайте валидатором на bimigroup.org — он ловит именно нарушения P/S, а не просто «валидный XML». Типичная ошибка: остался <style> с @import или прозрачный фон. XML-валидатор пройдёт, а Gmail отрисует пустой квадрат.
VMC против CMC: сертификат, товарный знак и реальные деньги
Честно про экономику. Аккредитованных удостоверяющих центров (Mark Verifying Authority) всего два — DigiCert и Entrust. Цена VMC — примерно 1000–1500 USD в год.
VMC выдают только на зарегистрированный товарный знак в одобренном реестре: USPTO (США), EUIPO (ЕС), UKIPO (Британия), JPO (Япония), DPMA (Германия), IP Australia, CIPO (Канада), Роспатент и ряд других. Вот настоящее бутылочное горлышко: регистрация знака — это 1–2 года и отдельные деньги, задолго до всякого DNS. Если знак ещё не зарегистрирован, честный план — запустить регистрацию сегодня, а пока идти через CMC.
CMC (с 2024) снимает требование зарегистрированного знака: подойдёт незарегистрированный либо государственный/геральдический. Gmail покажет логотип по CMC, но без значка верификации у Apple.
Процесс выпуска в обоих случаях — уровня EV: генерируете CSR, CA проверяет права на знак и само юрлицо (регистрация компании, обратный звонок или видеоверификация). Критично: логотип внутри сертификата (поле logotype, RFC 3709) должен быть побитово тем же SVG, что вы отдаёте по l=. Любое расхождение — отказ на стороне почтовика. Поэтому финализируйте SVG до подачи на сертификат, а не после.
Публикуем DNS и цепляем сертификат
Оба файла — SVG и PEM-цепочку сертификата — кладём на сервер, доступный по HTTPS с валидным доверенным TLS. Self-signed не пройдёт. Content-Type мейлбоксы строго не проверяют, но отдавайте осмысленный: image/svg+xml для SVG и application/pem-certificate-chain (либо text/plain) для PEM; сервер обязан вернуть 200.
Запись селектора по умолчанию:
dns
default._bimi.evilmail.pro. IN TXT "v=BIMI1; l=https://evilmail.pro/bimi/logo.svg; a=https://evilmail.pro/bimi/vmc.pem"
Кастомный селектор задаётся из письма заголовком BIMI-Selector: v=BIMI1; s=brand, и тогда запись живёт на brand._bimi.evilmail.pro. Для старта хватает default. Проверка после публикации:
В ответах curl смотрите на HTTP/2 200 и корректный content-type. Редиректы, 403 от WAF или обрезанная цепочка в PEM — частые причины тихого отказа.
Почему логотип всё ещё не виден
Даже когда всё формально правильно, Gmail может не показать логотип сразу. Это не баг, а репутация. Новый домен без истории отправки логотип не получит, пока не накопит поведенческую репутацию. Прогретый домен с чистой историей DMARC-прохождения увидит логотип быстрее.
Инструменты отладки: валидатор и генератор на bimigroup.org, BIMI Inspector от dmarcian, BIMI lookup в MXToolbox, проверки в EasyDMARC. Разбор частых отказов:
SVG не в профиле P/S — остался <style> с @import, прозрачный фон, атрибут width на корне.
PEM не совпадает с SVG — логотип в сертификате не побитово равен файлу по l=.
DMARC не на enforcement или `pct<100` — политика none либо частичный охват.
Домен без репутации — технически всё верно, но Gmail ждёт истории.
TLS/доступность — self-signed, 403 от WAF, неверный Content-Type.
Чеклист перед запуском
DMARC на p=quarantine или p=reject, sp закрыт, pct=100 или отсутствует.
В rua-отчётах 95–100% легитимной почты проходит DMARC (alignment по SPF или DKIM).
SVG прошёл валидатор bimigroup: version="1.2", baseProfile="tiny-ps", <title>, квадратный viewBox, без width/height на корне.
Фон сплошной, файл меньше 32 КБ, UTF-8, без скриптов, анимации, фильтров и внешних ссылок.
Определились: VMC (нужен зарегистрированный ТМ) или CMC (без значка верификации, но быстрее).
Сертификат выпущен у DigiCert или Entrust; логотип в нём побитово равен файлу по l=.
SVG и PEM доступны по HTTPS с доверенным TLS, отдают 200 и корректный Content-Type.
TXT-запись default._bimi опубликована и видна через dig.
Домен прогрет, есть история отправки — иначе ждём, пока Gmail накопит репутацию.
Порядок именно такой. Начинать с TXT-записи — значит потратить день на DNS и потом месяцами удивляться, почему конверт пустой. Начинайте с товарного знака (или с решения идти через CMC) и с DMARC — остальное закроется за пару недель.