Ниже собрана «полевая» шпаргалка: какие неполадки в Postfix встречаются чаще всего, как они проявляются в логах (/var/log/maillog
, /var/log/mail.log
) и что делать, чтобы почтовая служба снова заработала.
Категория |
Сообщение
в логе (фрагмент) |
Причина |
Коротко
о решении |
DNS / MX |
connect to mail.example.com[203.0.113.5]:25: Connection
timed out |
Запись MX ведёт на хост, который не отвечает или не имеет A/AAAA |
‑ Проверьте dig MX example.com и telnet 203.0.113.5 25 ↔ исправьте DNS или фаервол. |
Host or domain name not found. Name service error |
Нет A/AAAA для MX‑хоста, либо /etc/resolv.conf указывает на
недоступный DNS‑сервер |
‑ Добавьте/исправьте
запись в зоне. |
|
TLS / сертификаты |
SSL_accept error:1408F10B:SSL
routines:ssl3_get_record:wrong version number |
Клиент/сервер
пытается договориться на несовместимом протоколе (часто — запрет TLSv1.0 |
1.1) |
certificate verification failed for ...: untrusted issuer |
Удалённая
сторона прислала цепочку без RootCA или у вас
устаревшее CA‑хранилище |
‑ Обновите ca-certificates. |
|
SPF / DKIM / DMARC |
NOQUEUE: reject: RCPT from ...: 554 5.7.1 SPF permanent
error: _spf.example.com: No valid SPF record |
SPF‑запись отсутствует или синтаксически
неверна |
‑
Сгенерируйте корректную запись v=spf1 ip4:... -all, опубликуйте
в DNS. |
DKIM verification failed: signature verification failed |
Неправильный
селектор или DNS‑ключ обрезан строковыми кавычками |
‑ Проверьте dig TXT selector._domainkey.example.com. Поправьте
кавычки/длину. |
|
Очередь (mail queue) |
warning: queue file size limit exceeded |
Письмо превысило message_size_limit |
‑ Увеличьте
параметр или ограничьте пользователей на уровне MUA. |
deferred: Connection timed out (увеличивается количество в postqueue -p) |
Не
доставляется — проблемы сети/антиспам |
‑ postqueue -f после
устранения сети. |
|
Релей и анти‑релей |
Relay access denied |
Хост не
включён в mynetworks или SASL‑аутентификация
не работает |
‑ Добавьте IP в mynetworks и перезапустите, либо почините saslauthd/SMTP‑AUTH. |
SASL / SMTP‑AUTH |
warning: SASL authentication failure: cannot connect to
saslauthd socket |
demon saslauthd не запущен
или неверный путь в pwcheck_method |
‑
Запустите/включите saslauthd, убедитесь в run_path=/run/saslauthd. |
SASL authentication failed: authentication failure |
Неверный
логин/пароль, несогласованные реалмы |
‑ Проверьте
учётку в back‑end (PAM, LDAP, SQL). |
|
Greylisting / RBL |
blocked using zen.spamhaus.org |
Сервер‑отправитель
в чёрном списке |
‑ Если это
ваш сервер — очистите репутацию, смените IP. |
Local delivery / Mailbox |
mailbox full
или Quota exceeded |
Дисковая квота Maildir |
‑ Увеличьте quota в dovecot.conf или сократите почту. |
unknown user: "alice@example.com" |
Нет такого
ящика в virtual_mailbox_maps |
‑ Добавьте в таблицу и postmap‑ните, затем postfix reload. |
|
Permissions / chroot |
open database /etc/postfix/virtual.db: Permission denied (в chroot) |
Неправильные права/SELinux |
‑ chgrp
postfix virtual /etc/postfix/virtual*. |
IP‑блокировки / firewall |
connect to ...:25: Connection refused |
Локальный или
удалённый фаервол блокирует 25 порт |
‑ Проверьте iptables -L, правила cloud‑provider, откройте 25/TCP, 587/TCP. |
Systemd / service |
fatal: parameter "myhostname" value is the empty
string при старте |
В /etc/hostname пусто или не
совпадает |
‑ Заполните FQDN, postfix set-permissions,
systemctl restart postfix. |
IPv6 специфично |
Network is unreachable (delivery temporarily suspended) для адресов xxxx:... |
Отсутствует IPv6‑маршрут или firewall‑блок |
‑ Выключите IPv6‑доставку: inet_protocols = ipv4, либо настройте сеть. |
Submission/587 |
Cannot start TLS: handshake failure при подключении из‑MUA |
smtpd_tls_cert_file
или key_file не читается |
‑ Проверьте
права 0600, владелец postfix. |
Амальгама мелких ошибок |
warning: Illegal address syntax from ... |
Кавычки/пробелы
в поле From |
‑ Попросите
отправителя исправить клиент или принять reject_non_fqdn_sender. |
lost connection after AUTH from ... |
Клиент не
поддерживает выбранный механизм (например, OAUTHBEARER) |
‑ Оставьте login plain для обратной совместимости. |
|
Разрывы при больших письмах |
timeout while receiving end of data -- message abandoned |
smtp_data_xfer_timeout слишком мал или
сеть нестабильна |
‑ Увеличьте до 600 s. |
---
Универсальный алгоритм отладки
-
Смотрим логи:
tail -f /var/log/mail.log
во время попытки отправки/приёма. -
Проверяем DNS:
dig MX +short yourdomain
,dig -x your.ip
. -
Тестируем порт 25/587:
openssl s_client -starttls smtp -connect host:587
. -
Очередь:
postqueue -p
→postcat -vq <queue‑id>
. -
Конфигурация:
postconf -n
— только изменённые параметры. -
Перезапуск:
postfix reload
после правок; иногда требуетсяpostfix stop && start
.
Комментарии
Отправить комментарий