Postfixのインストール/リレーのセットアップが機能することを確認しました。現在、procmailで問題が発生しています。次のコマンドを使用して、接尾辞に配線しました。
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=<[email protected]>, size=938, nrcpt=1 (queue active)
Apr 6 14:07:05 localhost postfix/local[1953]: D0C3DFF6E1: to=<[email protected]>, 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
ユーザーが_/var/procmailrc
_に書き込む権限を持っていない可能性があります。
すべての配信を中央でログに記録することを本当に主張する場合は、logger(8)
またはローカルの同等の機能でProcmailを実行するための何らかの取り決めを行うことをお勧めします。
Postfixが名前をprocmailに渡していないか、誰も送信していないようです(ただし、最初の方が可能性が高いと思います)。ユーザーが仮想の場合は、特定の方法でprocmailを設定する必要があります。ユーザーが実際のシステムユーザーの場合は、procmailを別の方法で構成する必要があります。