- Home »

Домены и DNS – Как настроить SPF, DKIM и DMARC? Пример на Ubuntu 24
Введение: Зачем вообще возиться с этими записями?
Если у тебя есть свой сайт, почтовый сервер или ты просто гоняешь рассылки — ты уже сталкивался с тем, что твои письма улетают в спам, а иногда вообще не доходят. Причина чаще всего банальна: твой домен не защищён от подделки (spoofing), и почтовики вроде Gmail, Яндекс, Mail.ru просто не доверяют тебе.
Всё решается тремя магическими буквами: SPF, DKIM и DMARC. Они делают твои письма “легитимными” в глазах чужих серверов. В этой статье разложу по полочкам, что это за звери, как их настроить на Ubuntu 24, и покажу, где косяки ловят новички.
Что такое SPF, DKIM и DMARC — простыми словами
- SPF (Sender Policy Framework) — говорит, с каких серверов разрешено отправлять почту с твоего домена. Если письмо пришло не оттуда, его шлют в спам или режут на корню.
- DKIM (DomainKeys Identified Mail) — добавляет к письму цифровую подпись, которую можно проверить через DNS. Это как печать на конверте: если подпись верная — письмо точно от тебя.
- DMARC (Domain-based Message Authentication, Reporting & Conformance) — объединяет SPF и DKIM, задаёт политику, что делать с подозрительными письмами, и отправляет тебе отчёты о попытках подделки.
Вся магия работает на уровне DNS-записей. Поэтому ты должен уметь рулить DNS своего домена. Если домен у REG.ru, Cloudflare, Ru-Center — всё делается в панели управления.
Как это работает: Схема для чайников
1. Ты отправляешь письмо.
2. Почтовый сервер получателя сверяет DNS-записи твоего домена: разрешён ли твой IP (SPF), есть ли подпись (DKIM), что делать с фейками (DMARC).
3. Если всё ок — письмо попадает во Входящие. Если нет — в спам или в никуда.
Настраиваем SPF, DKIM и DMARC на Ubuntu 24: Пошагово
1. Настройка SPF
SPF — это TXT-запись в DNS. Она указывает, какие серверы имеют право отправлять почту от твоего домена.
Пример: если твоя почта уходит с сервера с IP 1.2.3.4 и через Gmail:
v=spf1 ip4:1.2.3.4 include:_spf.google.com ~all
- ip4:1.2.3.4 — разрешённый IP
- include:_spf.google.com — разрешить Google отправлять письма
- ~all — softfail (не жёстко банить всех остальных, а помечать как подозрительное)
Добавь эту запись в разделе DNS своего регистратора (или панели Cloudflare). Обычно это TXT-запись с именем @ (или пустым) и значением, как выше.
Проверить SPF:
dig +short TXT yourdomain.com
или онлайн: https://mxtoolbox.com/spf.aspx
2. Настройка DKIM
DKIM чуть сложнее: нужно сгенерировать пару ключей (приватный и публичный), приватный — на сервере, публичный — в DNS.
- На Ubuntu 24 ставим opendkim:
sudo apt update
sudo apt install opendkim opendkim-tools
- Генерируем ключ:
sudo mkdir -p /etc/opendkim/keys/yourdomain.com
cd /etc/opendkim/keys/yourdomain.com
sudo opendkim-genkey -s mail -d yourdomain.com
Появятся два файла: mail.private (приватный) и mail.txt (публичный).
- Открываем mail.txt, копируем содержимое (после “p=”) — это и есть твой публичный ключ.
- Добавляем в DNS TXT-запись с именем mail._domainkey.yourdomain.com и значением из mail.txt.
Пример значения:
v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC...
Важно: Не ставь переносы строк в DNS! Весь ключ — одной строкой.
Дальше нужно прописать opendkim в конфиги MTA (Postfix, Exim и т.д.), чтобы письма подписывались этим ключом. Для Postfix:
sudo nano /etc/postfix/main.cf
Добавить строки:
milter_default_action = accept milter_protocol = 2 smtpd_milters = inet:localhost:8891 non_smtpd_milters = inet:localhost:8891
Перезапустить службы:
sudo systemctl restart opendkim
sudo systemctl restart postfix
Проверить работу можно, отправив письмо на [email protected] или через mail-tester.com.
3. Настройка DMARC
DMARC — это тоже TXT-запись в DNS. Она указывает, что делать, если SPF или DKIM не совпали, и куда слать отчёты.
_dmarc.yourdomain.com TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]"
- p=none — только собирать отчёты, не блокировать
- p=quarantine — подозрительные письма в спам
- p=reject — жёстко отклонять всё, что не прошло SPF/DKIM
- rua — куда слать отчёты (можно несколько адресов через запятую)
Рекомендуется начинать с p=none и смотреть отчёты. Потом ужесточать.
Проверить DMARC можно тут: https://mxtoolbox.com/dmarc.aspx
Плюсы и минусы подходов
- Плюсы:
- Письма перестают улетать в спам
- Защита от подделки (spoofing)
- Видишь, кто пытается слать почту от твоего имени
- Минусы:
- Если накосячишь с настройкой — письма могут вообще не доходить
- Не все почтовики строго следуют этим политикам
- Сложно, если у тебя много сервисов, которые отправляют почту (например, сайт + CRM + рассылка)
Кейсы: что бывает на практике
Позитивный кейс
Владелец интернет-магазина внедрил SPF, DKIM и DMARC — письма с заказами и уведомлениями перестали улетать в спам. Репутация домена выросла, увеличилась открываемость рассылок.
Негативный кейс
Вебмастер прописал SPF только для одного сервера, а сайт отправляет почту ещё и через сторонний сервис (например, Sendgrid). В итоге часть писем ушла в спам, часть — вообще не дошла.
Совет:
Если у тебя несколько сервисов — обязательно добавляй их в SPF (include:...
), и настраивай DKIM для каждого.
Типовые ошибки новичков
- Две SPF-записи в DNS — так нельзя! Должна быть одна.
- Кривой DKIM: не тот ключ, лишние пробелы/переносы — подпись не работает.
- Забыли обновить SPF после смены IP/добавления нового сервиса рассылки.
- Поставили
p=reject
в DMARC сразу — потеряли часть легитимной почты. - Путают host и значение при добавлении DNS-записей.
Частые мифы и вопросы
- “У меня VPS, этого не надо” — надо, особенно если отправляешь почту напрямую.
- “SPF/DKIM/DMARC — это только для больших компаний” — нет, это must-have даже для личного блога.
- “Достаточно только SPF” — нет, современные почтовики требуют все три.
Альтернативные решения
- Делегировать всё почтовому сервису (Gmail, Яндекс 360, Mailgun, Sendgrid) — они сами подскажут нужные DNS-записи.
- Использовать Postmark, Mailgun, Sendgrid — у этих сервисов отличные гайды по настройке SPF/DKIM/DMARC.
Полезные ссылки
- Официальный сайт DMARC
- RFC7208 (SPF)
- RFC6376 (DKIM)
- RFC7489 (DMARC)
- MXToolbox — онлайн-проверки
- Mail Tester — тестирование почты
Заключение: Выводы и рекомендации
Если хочешь, чтобы твоя почта не падала в спам и не терялась — настрой SPF, DKIM и DMARC. Это несложно, если следовать инструкции, и реально повышает доверие к твоему домену. Начни с простого: добавь SPF, потом подключи DKIM, и только после этого — DMARC. Не торопись ставить жёсткие политики, сначала посмотри отчёты.
И помни: если ты не хочешь разбираться — используй внешние сервисы рассылки, у них всё уже готово. Но если у тебя свой сервер, не ленись — настрой всё по уму.
Удачи! Если остались вопросы — пиши в комменты или ищи меня на профильных форумах 😉
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.