Как настроить SPF и DKIM для домена, чтобы письма не попадали в спам
Настройка аутентификации почты для домена: SPF, DKIM и DMARC
Введение
Если ваши письма уходят в «Спам» или «Промоакции», хотя вы отправляете их легально, проблема чаще всего в отсутствии аутентификации отправителя. Почтовые провайдеры (Gmail, Яндекс, Mail.ru, Outlook) проверяют, имеет ли отправитель право слать письма от имени домена. Для этого используются технологии SPF и DKIM. Без них письма могут отклоняться или помечаться как подозрительные.
В этом руководстве вы настроите SPF и DKIM для своего домена, проверите корректность записей и узнаете, как избежать типичных ошибок. Инструкция подойдёт для любого домена и почтового сервиса, поддерживающего эти стандарты.
Что такое SPF и DKIM и зачем они нужны
SPF (Sender Policy Framework) — это DNS-запись типа TXT, которая перечисляет IP-адреса и серверы, имеющие право отправлять письма от имени вашего домена. Получатель проверяет, с какого IP пришло письмо, и сверяет его со списком в SPF. Если IP не в списке, письмо может быть отклонено или помечено как спам.
DKIM (DomainKeys Identified Mail) — это цифровая подпись, добавляемая в заголовки письма. Она создаётся с помощью приватного ключа, а публичный ключ публикуется в DNS. Получатель проверяет подпись публичным ключом и убеждается, что письмо не было изменено в процессе пересылки и действительно отправлено с вашего домена.
DMARC — это надстройка, которая указывает получателю, что делать с письмами, не прошедшими проверку SPF и DKIM. Хотя в запросе упомянуты только SPF и DKIM, для полноценной защиты рекомендуется настроить и DMARC.
Требования и подготовка
Перед началом убедитесь, что у вас есть:
Доступ к панели управления DNS вашего домена (регистратор, хостинг или Cloudflare).
Доступ к панели управления почтового сервиса или сервера, с которого вы отправляете письма (Яндекс 360, Mail.ru для бизнеса, Google Workspace, собственный сервер и т.п.).
Возможность создавать TXT-записи в DNS.
Базовые навыки работы с командной строкой (для проверки через
digилиnslookup).
Если вы используете готовый почтовый сервис, он обычно предоставляет готовые значения для SPF и DKIM. Если у вас собственный почтовый сервер, вам потребуется сгенерировать DKIM-ключи самостоятельно.
Шаг 1. Определите, какие сервисы отправляют почту от вашего домена
Прежде чем создавать записи, выясните, какие сервисы используются для отправки писем:
Корпоративная почта (Яндекс 360, Google Workspace, Mail.ru).
Рассылочные сервисы (Unisender, SendPulse, Mailchimp и др.).
CRM и транзакционные сервисы (например, уведомления от сайта).
Собственный почтовый сервер.
Составьте список всех IP-адресов и доменов, которые должны иметь право отправлять письма. Это поможет правильно составить SPF-запись и избежать конфликтов.
Шаг 2. Создайте SPF-запись
SPF-запись — это TXT-запись для домена (или поддомена). Синтаксис:
v=spf1 ip4:192.0.2.1 include:_spf.example.com -allРазберём элементы:
v=spf1— версия SPF, обязательный префикс.ip4:192.0.2.1— разрешает отправку с указанного IPv4-адреса.include:_spf.example.com— подключает SPF-политику другого домена (например, вашего рассылочного сервиса).-all— запрещает все остальные IP (жёсткая политика). Можно использовать~allдля мягкой политики (письма будут помечаться, но не отклоняться).
Как создать:
1. Войдите в панель управления DNS вашего домена. 2. Добавьте новую запись типа TXT. 3. В поле «Имя» или «Host» укажите @ (если требуется SPF для основного домена) или поддомен. 4. В поле «Значение» вставьте строку SPF. 5. Сохраните запись.
Важно: SPF-запись должна быть только одна. Если у вас уже есть TXT-запись с v=spf1, не создавайте вторую — объедините правила в одной строке.
Шаг 3. Настройте DKIM в почтовом сервисе
DKIM требует пары ключей: приватного и публичного. Приватный ключ хранится на сервере отправки, публичный публикуется в DNS.
Если вы используете готовый сервис (Яндекс 360, Google Workspace, Mail.ru):
1. Зайдите в панель управления почтой. 2. Найдите раздел «DKIM» или «Аутентификация домена». 3. Сгенерируйте DKIM-ключ. Сервис покажет публичный ключ и имя селектора (например, mail, dkim, selector1). 4. Скопируйте публичный ключ — он понадобится для DNS.
Если у вас собственный сервер:
1. Сгенерируйте ключи с помощью OpenSSL:
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key2. Настройте почтовый сервер (Postfix, Exim) на использование приватного ключа и укажите селектор. 3. Извлеките публичный ключ в формате, пригодном для DNS (без переносов строк).
Шаг 4. Добавьте публичный DKIM-ключ в DNS
1. В панели управления DNS создайте новую TXT-запись. 2. В поле «Имя» укажите селектор, за которым следует ._domainkey. Например, если селектор mail, то имя будет mail._domainkey. 3. В поле «Значение» вставьте публичный ключ в формате:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC...где p= — это ваш публичный ключ. 4. Сохраните запись.
Совет: Некоторые панели автоматически разбивают длинные TXT-записи на части. Убедитесь, что ключ вставлен без лишних пробелов и переносов.
Шаг 5. Настройте DMARC (рекомендуется)
DMARC сообщает получателю, что делать с письмами, не прошедшими проверку SPF и DKIM, и куда отправлять отчёты.
1. Создайте TXT-запись с именем _dmarc. 2. Значение:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com- p=none — только мониторинг, письма не блокируются.
- p=quarantine — подозрительные письма помещаются в спам.
- p=reject — отклонять письма, не прошедшие проверку.
- rua — адрес для агрегированных отчётов. 3. Начните с p=none, чтобы собрать статистику, затем ужесточайте политику.
Шаг 6. Проверьте SPF-запись
Используйте командную строку:
dig TXT yourdomain.com +shortили
nslookup -type=TXT yourdomain.comВы должны увидеть строку, начинающуюся с v=spf1. Если записи нет, проверьте, сохранилась ли она в DNS, и подождите обновления (до 24 часов, обычно быстрее).
Также можно использовать онлайн-сервисы, например, MXToolbox или Kitterman SPF Validator.
Шаг 7. Проверьте DKIM-запись
Выполните:
dig TXT mail._domainkey.yourdomain.com +shortЗамените mail на ваш селектор. В ответе должен быть публичный ключ. Если записи нет, проверьте правильность имени и значения.
Для проверки подписи отправьте тестовое письмо на сервис вроде check-auth@verifier.port25.com или воспользуйтесь анализатором заголовков (например, Mail-tester).
Шаг 8. Протестируйте отправку писем
Отправьте письмо с вашего домена на несколько популярных ящиков (Gmail, Яндекс, Mail.ru). Попросите получателей проверить, не попало ли оно в спам. В заголовках письма (в Gmail: «Показать оригинал») найдите строки Authentication-Results. Там должно быть:
spf=pass
dkim=pass
dmarc=passЕсли хотя бы одна проверка не пройдена, вернитесь к настройкам.
Типичные ошибки
1. Несколько SPF-записей. Если у вас две TXT-записи с v=spf1, это вызовет ошибку. Объедините их в одну. 2. Слишком длинная SPF-запись. Некоторые DNS-провайдеры ограничивают длину TXT-записи. Используйте include, чтобы сократить запись. 3. Неправильный селектор DKIM. Имя записи должно точно совпадать с селектором, указанным в настройках почтового сервера. 4. Ошибки в публичном ключе. Ключ должен быть без пробелов и переносов строк. Некоторые панели автоматически добавляют кавычки — убедитесь, что они не мешают. 5. Отсутствие DMARC. Без DMARC многие провайдеры относятся к письмам настороженно. 6. Игнорирование поддоменов. Если вы отправляете с поддомена, для него нужны отдельные записи SPF и DKIM. 7. Неучтённые сервисы. Если вы используете сторонний сервис рассылок, добавьте его в SPF через include.
FAQ
Вопрос: Сколько времени нужно ждать после добавления записей? Ответ: Обычно DNS-записи обновляются в течение 1–2 часов, но может занять до 24 часов. Ускорить процесс можно, уменьшив TTL перед изменением.
Вопрос: Можно ли использовать SPF без DKIM? Ответ: Да, но это менее надёжно. DKIM подтверждает целостность письма, поэтому рекомендуется использовать оба метода.
Вопрос: Что делать, если письма всё равно попадают в спам? Ответ: Проверьте репутацию IP, убедитесь, что не находитесь в чёрных списках, и проанализируйте содержимое письма. Также убедитесь, что DMARC настроен корректно.
Вопрос: Нужно ли настраивать SPF и DKIM для каждого поддомена? Ответ: Да, если вы отправляете письма с поддоменов, для каждого нужны свои записи.
Вопрос: Как часто нужно менять DKIM-ключи? Ответ: Рекомендуется менять раз в год или при подозрении на компрометацию.
Итог
Настройка SPF и DKIM — обязательный шаг для любого домена, с которого отправляется почта. Это повышает доверие почтовых провайдеров и снижает вероятность попадания в спам. Следуйте инструкции, проверяйте записи через dig и тестовые сервисы, и ваши письма будут доставляться во «Входящие». Не забудьте про DMARC для полной защиты.
Читайте также
Комментарии
Комментарии доступны только зарегистрированным пользователям. Войти
- Пока нет комментариев. Будьте первым.



