Проблема
Вы настроили почтовик на своём сервере: Postfix, Dovecot, всё работает — но письма стабильно улетают в спам у получателей.
Часто виноваты неверно настроенные или отсутствующие записи SPF, DKIM и DMARC. Это сигналы для других почтовых систем — доверять вам или нет.
Минимальный чеклист
Для нормальной доставки писем необходимо:
- ✅ SPF-запись в DNS
- ✅ DKIM-подпись, и она реально ставится
- ✅ DMARC с адекватной политикой
- ✅ PTR-запись (обратная зона) на IP сервера
Если хотя бы одного пункта нет — письма с высокой вероятностью попадут в спам.
Как это настроить
1. SPF (Sender Policy Framework)
Что это?
Запись в DNS, которая говорит, какие сервера имеют право отправлять почту от имени вашего домена.
Пример базовой записи:
yourdomain.com. IN TXT "v=spf1 ip4:127.0.0.1 -all"Расшифровка:
v=spf1— версия SPFip4:127.0.0.1— разрешённый IP-адрес (замените на ваш)-all— строгая политика (запретить все остальные)
Где настраивается?
BIND (в файле зоны):
yourdomain.com. IN TXT "v=spf1 ip4:127.0.0.1 -all"Панели управления DNS (REG.RU / Cloudflare / Beget):
- Тип записи:
TXT - Имя:
@илиyourdomain.com - Значение:
v=spf1 ip4:127.0.0.1 -all
Проверка:
dig TXT yourdomain.com +shortДолжно вернуть вашу SPF-запись.
2. DKIM (DomainKeys Identified Mail)
Что это?
Цифровая подпись письма. Подписывается приватным ключом на вашем сервере, проверяется получателем по публичному ключу из DNS.
Генерация ключей
На OpenDKIM:
# Установка OpenDKIM
sudo apt update
sudo apt install -y opendkim opendkim-tools
# Генерация ключа
opendkim-genkey -s default -d yourdomain.com -D /etc/opendkim/keys/
# Просмотр публичного ключа
cat /etc/opendkim/keys/default.txtDNS-запись:
default._domainkey.yourdomain.com IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSq..."Настройка Postfix с OpenDKIM:
Конфигурация /etc/opendkim.conf:
Domain yourdomain.com
KeyFile /etc/opendkim/keys/default.private
Selector default
Socket inet:8891@localhostИнтеграция с Postfix (/etc/postfix/main.cf):
# DKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891Перезапуск:
Postfix должен быть установлен заранее (
sudo apt install -y postfix).
sudo systemctl restart opendkim
sudo systemctl restart postfix3. DMARC (Domain-based Message Authentication)
Что это?
Политика обработки писем, если SPF и/или DKIM не прошли проверку.
Пример записи:
_dmarc.yourdomain.com IN TXT "v=DMARC1; p=none; rua=mailto:postmaster@yourdomain.com"Параметры:
v=DMARC1— версия протоколаp=none— политика (none/quarantine/reject)rua=mailto:...— адрес для получения отчётов
Проверка:
dig TXT _dmarc.yourdomain.com +short4. PTR (Reverse DNS / обратная зона)
Что это?
Обратная DNS-запись: IP → доменное имя. Проверяется получателем для подтверждения легитимности отправителя.
Где настроить?
PTR-запись настраивается у провайдера, который дал вам IP-адрес.
Создайте тикет в поддержку:
Тема: Настройка PTR записи
IP: 127.0.0.1
Домен: mail.yourdomain.comПроверка:
dig -x 127.0.0.1 +short
# Должно вернуть: mail.yourdomain.comПроверка всех настроек
Онлайн-сервисы:
- https://mxtoolbox.com/ — комплексная проверка
- https://www.mail-tester.com/ — оценка письма (10/10)
- https://dmarcian.com/ — анализ DMARC отчётов
Отправка тестового письма:
sudo apt install -y mailutils
echo "Test email" | mail -s "SPF/DKIM/DMARC Test" test@mail-tester.comПроверьте результат на mail-tester.com и исправьте найденные проблемы.
Заключение
Правильная настройка SPF, DKIM, DMARC и PTR записей — это минимум для нормальной доставки почты. Без этого ваши письма будут попадать в спам.