Postfix + procmail - 由于“无法创建用户输出文件”而导致传送失败 - 在 CentOS 6.2 上

Postfix + procmail - 由于“无法创建用户输出文件”而导致传送失败 - 在 CentOS 6.2 上

我确认我的 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=<[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 工作?

答案1

我只是陷入同样的​​境地并找到了答案

$ sudo chmod g+s /usr/bin/procmail

答案是
http://www.irbs.net/internet/postfix/0202/1677.html

答案2

很可能用户没有写入的权限/var/procmailrc

如果您确实坚持要对所有投递进行集中记录,您可能需要采取某种措施来运行 Procmaillogger(8)或本地等效程序。

答案3

看起来 postfix 没有将名称传递给 procmail,或者没有发送任何人(但我认为第一种可能性更大)。如果您的用户是虚拟的,则需要以特定方式设置 procmail,如果用户是实际的系统用户,则应以不同的方式配置 procmail。

相关内容