Rukovodstvo PepperTools
Технологии и серверы

Правильная настройка эл. почты: SPF, DKIM и DMARC для новичков (Часть 3 из 3)

Часть 3 серии „Собственный сервер — от 0 до безопасности": настройка SPF, DKIM и DMARC, чтобы ваши письма доставлялись безопасно и не попадали в спам. С DNS-записями для копирования, OpenDKIM на вашем сервере и бесплатными инструментами проверки.

Правильная настройка эл. почты: SPF, DKIM и DMARC для новичков (Часть 3 из 3)

Правильная настройка эл. почты: SPF, DKIM и DMARC для новичков (Часть 3 из 3)

Серия „Собственный сервер — от 0 до безопасности" · 3 части:

  1. Настройка и защита vServer на Debian
  2. Установка и настройка Froxlor
  3. Правильная настройка эл. почты: SPF, DKIM и DMARCВы здесь

Это руководство — Часть 3, она завершает серию. Она предполагает сервер с почтовым сервером, как построенный в Части 1 и Части 2.

SPF, DKIM und DMARC für Einsteiger

Содержание


Коротко: 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 поможет — напишите через форму обратной связи.

Источники

Состояние: июнь 2026. Команды и требования крупных почтовых провайдеров могут меняться — определяющими являются их официальные указания и документация используемого ПО.

Prosche rabotat so schetami

Easy Invoice obiedinyaet predlozheniya, scheta i rabotu s klientami v oblake.

Poprobovat Easy Invoice

Yazykovye versii