Я проверил, что моя установка установки / ретрансляции postfix работала. Теперь у меня проблемы с procmail. Я подключил его к postfix с помощью следующей команды:
mailbox_command = /usr/bin/procmail -f -a "$USER"
В моей конфигурации procmail ничего нет, кроме следующего:
LOGFILE=/var/procmailrc/log
И я отправляю электронное письмо получателю, который раньше работал (до того, как я прикрепил procmail). Теперь это выходит из строя с ошибкой:
Apr 6 14:07:05 localhost postfix/qmgr[15194]: D0C3DFF6E1: from=<double-bounce@spamkill0.XXXXX>, size=938, nrcpt=1 (queue active)
Apr 6 14:07:05 localhost postfix/local[1953]: D0C3DFF6E1: to=<root@spamkill0.XXXXX>, orig_to=<postmaster>, relay=local, delay=0.05, delays=0.02/0.01/0/0.02, dsn=5.2.0, status=bounced (can't create user output file. Command output: procmail: Couldn't create "/var/spool/mail/nobody" procmail: Couldn't read "//root" )
Apr 6 14:07:05 localhost postfix/bounce[1955]: warning: D0C3DFF6E1: undeliverable postmaster notification discarded
Apr 6 14:07:05 localhost postfix/qmgr[15194]: D0C3DFF6E1: removed
Похоже, есть какая-то проблема с разрешениями, но я не знаю, в чем проблема, и не понимаю, как я буду ее диагностировать дальше. Между прочим, указанный мной файл журнала пуст.
Как заставить работать procmail + postfix?
Я просто вхожу в то же самое и найду ответ
$ sudo chmod g+s /usr/bin/procmail
Ответ был в
http://www.irbs.net/internet/postfix/0202/1677.html
Похоже, postfix не передает имя в procmail или никого не отправляет (но я бы сказал, что первое более вероятно). Если ваши пользователи виртуальные, вам необходимо настроить procmail определенным образом, если пользователи являются фактическими пользователями системы, procmail следует настроить другим способом.
Вполне вероятно, что у пользователя нет разрешения на запись в /var/procmailrc
.
Если вы действительно настаиваете на централизованном ведении журнала всех доставок, возможно, вы захотите создать какую-то схему для запуска Procmail под logger(8)
или местный эквивалент.