Правильная настройка эл. почты: SPF, DKIM и DMARC для новичков (Часть 3 из 3)
Серия „Собственный сервер — от 0 до безопасности" · 3 части:
- Настройка и защита vServer на Debian
- Установка и настройка Froxlor
- Правильная настройка эл. почты: SPF, DKIM и DMARC ← Вы здесь
Это руководство — Часть 3, она завершает серию. Она предполагает сервер с почтовым сервером, как построенный в Части 1 и Части 2.

Содержание
- Предварительные требования
- Что такое SPF, DKIM и DMARC?
- Шаг 1: Настройка SPF
- Шаг 2: Настройка DKIM (подпись на собственном сервере)
- Шаг 3: Настройка DMARC
- Шаг 4: Проверка и тестирование всего
- Частые ошибки и решения
- Контрольный список
- Частые вопросы (FAQ)
- Заключение
- Источники
Коротко: SPF, DKIM и DMARC — это три записи в DNS вашего домена. Они доказывают, что письмо действительно от вас. Без них ваши письма сегодня часто попадают в спам — или вовсе отклоняются. С 2024 года Google и Yahoo требуют этой аутентификации, Microsoft — с 2025. Настройка занимает 20–30 минут.
Если вы отправляете письма через собственный сервер (например, счета или сообщения из формы обратной связи), недостаточно „просто" держать почтовый сервер. Вы также должны доказать принимающим серверам, что письмо подлинное. Для этого есть три элемента. Настроим все три — дружелюбно к новичкам и с возможностью копирования.
Предварительные требования
- Сервер с почтовым сервером (Postfix/Dovecot), например настроенный через Froxlor в Части 2.
- Доступ к управлению DNS вашего домена — раздел у доменного провайдера (или в Froxlor, если вы управляете DNS там), где можно создавать „TXT-записи".
- IP-адрес вашего сервера.
Важно — правильный порядок: Сначала настройте SPF и DKIM и дождитесь, пока оба будут активны (минимум несколько часов), прежде чем включать DMARC. И всегда начинайте DMARC с мягкой настройки
p=none.
Что такое SPF, DKIM и DMARC?
Три простых образа:
- SPF — это список гостей. Он определяет, какие серверы могут отправлять письма от вашего имени. Если отправляющий сервер не в списке, письмо подозрительное.
- DKIM — это цифровая подпись. Каждое исходящее письмо подписывается криптографически. Получатель проверяет, подлинно ли оно и не изменено ли в пути.
- DMARC — это свод правил. Он говорит получателю, что делать, если SPF или DKIM не пройдёт: пропустить, переместить в спам или отклонить. И присылает вам отчёты.
Все три технически — всего лишь TXT-записи в DNS — кроме ключа DKIM, который мы создаём на сервере. Очень хорошее подробное объяснение даёт руководство Mailvergleich.de.
Шаг 1: Настройка SPF
SPF — это одна TXT-запись, которую вы создаёте в DNS своего домена. Зайдите в управление DNS и создайте новую запись:
Тип: TXT
Имя: @ (обозначает основной домен)
Значение: v=spf1 a mx ip4:SERVER-IP -all
Замените SERVER-IP на IP вашего сервера. Что означают части:
v=spf1— идентификатор версии (всегда в начале).a mx— серверы, на которые указывают записи A и MX домена, могут отправлять.ip4:SERVER-IP— этот конкретный IP может отправлять.-all— все остальные отправлять не могут (строгий вариант). Если сомневаетесь или используете доп. сервисы (рассылка, CRM), начните с более мягкого варианта~allи позже перейдите на-all.
Только одна запись SPF! Домен может иметь ровно одну TXT-запись SPF. Если вы используете другие сервисы, добавьте их записи
include:в эту единственную запись, напримерv=spf1 a mx include:_spf.example.com -all.
Шаг 2: Настройка DKIM (подпись на собственном сервере)
В отличие от арендованного ящика, DKIM нужно создать на собственном сервере. Для этого мы используем OpenDKIM, который встраивается в Postfix и подписывает каждое исходящее письмо.
2.1 Установка OpenDKIM:
sudo apt install -y opendkim opendkim-tools
2.2 Создание ключа (замените vash-domen.ru):
sudo mkdir -p /etc/opendkim/keys/vash-domen.ru
sudo opendkim-genkey -b 2048 -d vash-domen.ru -D /etc/opendkim/keys/vash-domen.ru -s mail -v
sudo chown -R opendkim:opendkim /etc/opendkim
2.3 Настройка OpenDKIM. Откройте основную конфигурацию:
sudo nano /etc/opendkim.conf
Добавьте в конец:
Canonicalization relaxed/simple
Mode sv
Socket inet:8891@localhost
KeyTable /etc/opendkim/KeyTable
SigningTable /etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
Создайте три таблицы:
echo "mail._domainkey.vash-domen.ru vash-domen.ru:mail:/etc/opendkim/keys/vash-domen.ru/mail.private" | sudo tee /etc/opendkim/KeyTable
echo "*@vash-domen.ru mail._domainkey.vash-domen.ru" | sudo tee /etc/opendkim/SigningTable
printf "127.0.0.1\nlocalhost\nvash-domen.ru\n" | sudo tee /etc/opendkim/TrustedHosts
2.4 Связывание OpenDKIM с Postfix. Откройте конфигурацию Postfix:
sudo nano /etc/postfix/main.cf
Добавьте в конец:
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
Перезапустите службы:
sudo systemctl restart opendkim postfix
2.5 Публикация DNS-записи DKIM. OpenDKIM записал ваш публичный ключ в файл. Покажите его:
sudo cat /etc/opendkim/keys/vash-domen.ru/mail.txt
Вы увидите длинное значение вида v=DKIM1; k=rsa; p=.... Создайте с ним TXT-запись в DNS:
Тип: TXT
Имя: mail._domainkey
Значение: v=DKIM1; k=rsa; p=MIIBI... (полное значение p= из файла)
Иллюстрированную пошаговую помощь по DKIM можно найти также на saschafix.de.
Шаг 3: Настройка DMARC
DMARC связывает SPF и DKIM и задаёт правило. Создайте ещё одну TXT-запись в DNS:
Тип: TXT
Имя: _dmarc
Значение: v=DMARC1; p=none; rua=mailto:dmarc@vash-domen.ru; fo=1
Значение:
p=none— наблюдать, но ничего не блокировать. Так вы всегда начинаете, чтобы увидеть, всё ли работает чисто, не подвергая риску легитимные письма.rua=mailto:dmarc@vash-domen.ru— на этот адрес получатели присылают ежедневные отчёты. Создайте этот ящик.fo=1— более подробные отчёты об ошибках.
Постепенное ужесточение: Когда через одну-две недели отчёты покажут, что ваши настоящие письма проходят SPF/DKIM, повысьте строгость — сначала до p=quarantine (подозрительные письма в спам), позже до p=reject (подозрительные письма отклоняются):
v=DMARC1; p=quarantine; rua=mailto:dmarc@vash-domen.ru; fo=1
Никогда не начинайте с
p=reject! Иначе вы рискуете тем, что будут отклонены и легитимные письма (например, от сервисов рассылок или CRM).
Шаг 4: Проверка и тестирование всего
Изменения DNS требуют некоторого времени (часто минуты, иногда до 24 часов). Затем проверьте свою конфигурацию бесплатными инструментами:
- MXToolbox — проверяет записи SPF, DKIM и DMARC по отдельности (выберите сверху „SPF Record Lookup", „DKIM Lookup", „DMARC Lookup").
- mail-tester.com — отправьте настоящее тестовое письмо на показанный адрес; цель — оценка не менее 8/10.
- Проверка заголовка Gmail: отправьте себе письмо на аккаунт Gmail, откройте его, нажмите на три точки → „Показать оригинал". Там у SPF, DKIM и DMARC должно быть „PASS".
Тест DKIM напрямую на сервере можно дополнительно сделать так:
sudo opendkim-testkey -d vash-domen.ru -s mail -vvv
Если появляется „key OK", ключ опубликован правильно.
Частые ошибки и решения
| Проблема | Причина | Решение |
|---|---|---|
| Письма всё ещё попадают в спам | DNS ещё не распространился | подождать несколько часов, проверить в MXToolbox |
| SPF „PermError" | больше одной записи SPF | объединить все записи в одну запись SPF |
| DKIM „fail" | неверное/неполное значение p= | взять полное значение из mail.txt точно (без переносов строк) |
| DMARC без эффекта | опечатка в имени | запись должна называться точно _dmarc |
| Нет отчётов DMARC | ящик rua не существует | создать адрес dmarc@vash-domen.ru |
Контрольный список
- [ ] TXT-запись SPF есть (ровно одна), заканчивается на
-allили~all - [ ] OpenDKIM установлен, связан с Postfix, службы перезапущены
- [ ] TXT-запись DKIM (
mail._domainkey) опубликована,opendkim-testkeyсообщает „key OK" - [ ] TXT-запись DMARC (
_dmarc) сp=noneактивна - [ ] mail-tester.com показывает ≥ 8/10
- [ ] Gmail „Показать оригинал": SPF, DKIM, DMARC = PASS
- [ ] Через одну-две недели DMARC повышен до
quarantine/reject
Частые вопросы (FAQ)
Разве недостаточно одного SPF? Нет. Google, Yahoo и Microsoft требуют как минимум SPF или DKIM, но для лучшей защиты и доставляемости настройте все три.
В чём разница между ~all и -all? ~all („soft fail") помечает неуказанных отправителей только как подозрительных, -all („hard fail") строго их отклоняет. В сомнении начните с ~all и позже перейдите на -all.
Важны ли отчёты DMARC для защиты данных? Агрегированные отчёты (rua) не содержат содержимого писем, а только статистику по IP-адресам и результатам аутентификации. Криминалистические отчёты (ruf) могут содержать больше — поэтому многие отказываются от ruf по причинам защиты данных (GDPR).
Нужно ли это регулярно обслуживать? Однажды настроив, оно работает. Вначале смотрите отчёты DMARC и повышайте строгость постепенно.
Заключение
За три шага вы сделали свою эл. почту безопасной: SPF определяет, кто может отправлять, DKIM подписывает каждое письмо, DMARC задаёт правило и предоставляет отчёты. Важен порядок — сначала SPF и DKIM, затем DMARC, и всегда начинайте DMARC с p=none. После теста на mail-tester.com вы знаете, что ваши письма доходят.
Таким образом, серия завершена: в Части 1 вы настроили защищённый сервер, в Части 2 установили Froxlor, а здесь защитили отправку эл. почты.
Не хотите управлять этим сами, а предпочитаете готовое решение или индивидуальную разработку? PepperTools поможет — напишите через форму обратной связи.
Источники
- Mailvergleich.de: настройка SPF, DKIM и DMARC
- saschafix.de: настройка SPF, DKIM и DMARC
- Google Workspace: аутентификация эл. почты
- MXToolbox (инструменты проверки) · mail-tester.com
- OpenDKIM (страница проекта)
Состояние: июнь 2026. Команды и требования крупных почтовых провайдеров могут меняться — определяющими являются их официальные указания и документация используемого ПО.
Prosche rabotat so schetami
Easy Invoice obiedinyaet predlozheniya, scheta i rabotu s klientami v oblake.
Poprobovat Easy Invoice