SPF, DKIM и DMARC: что это и как проверить свой домен
Проверка SPF, DKIM и DMARC вашего домена бесплатно и без регистрации: что значат записи, как настроить DMARC и почему письма уходят в спам.
Три записи простыми словами
Адрес в поле «От» может написать кто угодно. Чтобы отличить ваше письмо от подделки, почтовая служба получателя сверяет его с записями в DNS вашего домена.
Письмо проходит DMARC, если прошло SPF или DKIM и проверенный домен тот же, что в поле «От». Если записей нет или в них ошибка, письму нечем доказать, что оно от вас, — такие письма чаще попадают в спам или отклоняются.
Записи — обязательное условие, но не гарантия. Службы смотрят ещё на репутацию адреса сервера, жалобы получателей и содержание письма.
- SPF
- список серверов, которым разрешено отправлять почту от имени домена. Запись TXT на самом домене, начинается с v=spf1
- DKIM
- подпись письма. Сервер-отправитель подписывает каждое письмо, а ключ для проверки лежит в DNS под именем селектор._domainkey.ваш-домен
- DMARC
- правило для получателя: что делать с письмом, которое не прошло проверку, и куда присылать отчёты. Запись TXT с именем _dmarc.ваш-домен
Как проверить свой домен
Проверка читает только открытые записи DNS и файл политики MTA-STS — то же, что видит любой почтовый сервер перед доставкой.
- Откройте страницу «Проверка почтового домена»: ссылка «Проверка домена» есть внизу любой страницы сайта. Регистрация не нужна.
- Введите домен или любой адрес на нём, например info@example.com: проверяется часть после @.
- Поле селектора DKIM можно оставить пустым — мы переберём 30 распространённых селекторов. Если ключ не нашёлся, откройте заголовки любого своего письма и возьмите значение s= из строки DKIM-Signature.
- Нажмите «Проверить». У каждой записи будет отметка «в порядке», «поправить», «ошибка» или «к сведению» и пояснение, что не так.
- Исправили запись, а результат прежний? Ответ хранится 10 минут, а изменения в DNS расходятся не сразу. Проверьте ещё раз позже.
- Для сравнения проверьте alpost.ch — так выглядит домен, где включено всё.
Что ещё показывает проверка
- MX
- серверы, которые принимают почту домена, и их адреса
- MTA-STS
- обязан ли отправитель доставлять вам почту только по шифрованному каналу. Файл политики мы берём по HTTPS, как это делают почтовые серверы
- TLS-RPT
- запрошены ли отчёты о сбоях шифрования при доставке к вам
- DNSSEC
- подписана ли зона домена; подпись проверяет наш резолвер
- DANE
- опубликованы ли ключи ваших почтовых серверов (записи TLSA) в подписанной зоне
- Обратные записи
- есть ли у адресов серверов из MX обратное имя и указывает ли оно на тот же адрес
- Чёрные списки
- сами не опрашиваем: правила бесплатных зеркал этого не разрешают. Даём ссылку на проверку у Spamhaus
Типичные ошибки
- Две записи SPF. Должна быть одна: подключая новую службу рассылок, допишите её include в существующую запись, а не создавайте вторую.
- Больше 10 DNS-запросов в SPF. Каждый include, a и mx требует запросов, и после десятого получатель засчитывает ошибку. Проверка покажет, сколько их у вас; уберите службы, которыми уже не пользуетесь.
- Окончание +all или ?all — запись ничего не запрещает. ~all только помечает письма с чужих серверов, строже всего -all.
- Ключ DKIM короче 2048 бит. Проверка отметит его как «поправить». Новый ключ выпускает служба, которая отправляет вашу почту.
- Рассылка подписывает письма своим доменом, а не вашим. DKIM проходит, а DMARC нет: подписан чужой домен. Ищите в настройках службы подключение своего домена для отправки — там выдают запись DKIM для вашего DNS.
- p=none в DMARC навсегда. Это режим наблюдения: подделки по-прежнему доставляются.
- Две записи DMARC или pct меньше 100. В первом случае получатели не применят ни одну, во втором правило действует только на часть писем.
Как настроить DMARC
- Перечислите всё, что отправляет почту от вашего домена: почтовую службу, рассылки, CRM, интернет-магазин. Каждая должна быть в SPF или подписывать письма DKIM вашим доменом.
- Создайте у своего DNS-провайдера запись TXT с именем _dmarc (полное имя — _dmarc.ваш-домен) и значением v=DMARC1; p=none; rua=mailto:адрес-для-отчётов.
- Неделю-две читайте отчёты: в них видно, с каких серверов уходят письма от вашего имени и проходят ли они проверку.
- Когда все ваши серверы проходят проверку, смените p=none на p=quarantine — непрошедшие письма пойдут в спам. Позже переходите на p=reject: такие письма будут отклоняться.
Отчёты DMARC в кабинете
Отчёты присылают почтовые службы получателей — архивами с XML, читать их вручную неудобно. Если у вас есть ящик Alpost, направьте отчёты к нам: в кабинете будет сводка.
- Откройте кабинет, раздел «Мониторинг», карточку «Отчёты о почте вашего домена». Введите домен и нажмите «Подключить».
- Подтвердите, что домен ваш: добавьте в его DNS запись TXT с именем _alpost.ваш-домен и значением alpost-verify=…, которое покажет кабинет. Затем нажмите «Проверить запись». Изменения в DNS иногда доходят до часа.
- Добавьте в запись DMARC домена адрес rua=mailto:reports@alpost.ch. Если адрес для отчётов уже есть, допишите наш через запятую: rua=mailto:ваш-адрес,mailto:reports@alpost.ch. Если записи DMARC нет, кабинет покажет готовую.
- Отчёты приходят обычно раз в сутки и только за дни, когда служба получала письма от вашего домена. Мы разбираем их раз в час.
- В сводке — 30 последних дней: сколько писем, сколько прошли проверку DMARC, сколько было серверов-отправителей, и до десяти серверов с наибольшим числом писем.
- До трёх доменов на ящик. Один домен может подтвердить только один ящик; домены Alpost подключить нельзя.
- В отчётах только адреса серверов, число писем и результаты проверок — без текста писем и без получателей. Отключите домен — его отчёты удалятся в течение часа.
Чего здесь нет
- Ящиков на своём домене Alpost не даёт: адреса выдаются только на пяти наших доменах. Проверка и отчёты нужны для домена, почту которого обслуживает другая служба.
- Отправить письмо от имени своего домена через наш сервер нельзя: он принимает к отправке только письма от адреса, под которым вы вошли. На хостинге функция mail() отключена.
- Записи вашего домена мы не настраиваем: SPF, DKIM и DMARC вы добавляете у своего DNS-провайдера, а ключ DKIM выдаёт служба, которая отправляет вашу почту.
- Если домен передан нам целиком ради сайта, редактора записей DNS в кабинете нет — добавить TXT для подтверждения и DMARC не получится.
- Разбора отдельного письма нет: проверка читает записи DNS, а не то, как прошло конкретное письмо. Это видно в заголовке Authentication-Results у получателя.