sadrix logoSadriX
Минцифры готовит обязательную регистрацию IMEI смартфонов, купленных за границей
Гайды

Как настроить SPF и DKIM для домена, чтобы письма не попадали в спам

Настройка аутентификации почты для домена: SPF, DKIM и DMARC

09 569 просмотров6 мин
0
Поделиться:TelegramVK

Введение

Если ваши письма уходят в «Спам» или «Промоакции», хотя вы отправляете их легально, проблема чаще всего в отсутствии аутентификации отправителя. Почтовые провайдеры (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.key

2. Настройте почтовый сервер (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 для полной защиты.

Читайте также

Комментарии

Комментарии доступны только зарегистрированным пользователям. Войти

  • Пока нет комментариев. Будьте первым.