Postfix не доставляет письмо присваивая статус deferred

После казалось бы последнего штриха с SASL аутентификацией ничего не должно было стоять на пути у нормальной работы почтового сервера, но это оказалось не так. Почта уходила нормально, а вот входящие письма Postfix скидывал в очередь на доставку со статусом Deferred (отложено). Вообще хочется сказать, что у любого пользователя UNIX-like систем, будь он хоть гуру, админом, или просто интересующимся пользователем должна выработаться привычка — при появлении проблем первым делом смотреть в логи. Логи это Ваш самый первый помощник и скорее всего после его анализа Вы самостоятельно сможете исправить неполадки. В моем случае это также было справедливо.

Первое что я увидел в /var/log/mail.log это

status=deferred (temporary failure. Command output: Can't open log file /var/log/dovecot.log: Permission denied )

Казалось бы что это за проблема — невозможно добавить запись в лог файл, но именно это мешает MTA передать Dovecot-LDA для доставки конечному пользователю.

Алгоритм решения проблемы таков:

1. Самый простой и неправильный способ заключается в задании прав доступа 777 на логи довекота. Я бы не советовал так делать, потому что в debug.log отображаются пароли с которыми аутентифицируются пользователи и другая важная информация, поэтому права должны быть в лучшем случае 600.

2. Если Вы используете виртуальных пользователей, и доставку посредством dovecot-deliver, то должен быть как минимум один реальный пользователь системы от имени которого забирается почта у Postfix и раскладывается по директориям. Владельцем логов должен быть именно этот пользователь, обычно это пользователь vmail. В любом случае, найти этого пользователя не составит труда, так как при настройке его создают вручную и его же имя прописывается в /etc/postfix/master.cf

Оцените статью