Если письма не приходят или не уходят с сервера: проверьте MX-записи, SPF/DKIM/DMARC, логи почтового сервера и очередь сообщений.
Применимо к:
✔ VPS
✔ Выделенные серверы
✔ Postfix, Exim
dig example.com MX +short
MX-запись должна указывать на сервер, обрабатывающий почту. Если MX отсутствует, почта не будет доставлена.
dig example.com TXT +short | grep spf
SPF должна содержать IP вашего сервера. Пример корректной записи:
v=spf1 ip4:IP_СЕРВЕРА mx -all
dig selector._domainkey.example.com TXT +short
Замените selector на имя селектора вашего DKIM. Если запись пустая, DKIM не настроен.
dig _dmarc.example.com TXT +short
Минимальная DMARC-запись:
v=DMARC1; p=none; rua=mailto:admin@example.com
Postfix:
systemctl status postfix
Exim:
systemctl status exim4
Если сервис не запущен:
systemctl start postfix
Postfix:
tail -100 /var/log/mail.log
Exim:
tail -100 /var/log/exim4/mainlog
Ищите ошибки для конкретного адреса:
grep "адрес@получателя.com" /var/log/mail.log | tail -20
Postfix:
postqueue -p
Если очередь заполнена, попробуйте отправить повторно:
postqueue -f
Exim:
exim -bp
telnet gmail-smtp-in.l.google.com 25
Если соединение не устанавливается, порт 25 может быть заблокирован. Обратитесь в техническую поддержку для разблокировки.
Отправьте тестовое письмо:
echo "Test" | mail -s "Test mail" test@example.com
Проверьте лог отправки:
tail -5 /var/log/mail.log
Статус «sent» означает успешную отправку.
Если письма отправляются, но не доставляются получателю, проблема может быть в блокировке IP, отсутствии PTR-записи или попадании в спам-листы. Откройте тикет в техническую поддержку для проверки IP-репутации.