我刚刚创建了 /etc/maildroprc 文件,用于将垃圾邮件放入垃圾邮件文件夹中。在我的 postfix master.cf 中,我有以下行:
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
/etc/maildroprc 文件的权限如下:(ls -l)
-rw------- vmail vmail /etc/maildroprc
vmail 用户位于 /etc/passwd 中:
vmail:x:5000:5000::/home/vmail:/usr/sbin/nologin
问题是,每次处理电子邮件时,postfix (/var/log/mail.log) 中都会出现以下错误:
(temporary failure. Command output: /usr/bin/maildrop: Error opening /etc/maildroprc. )
您知道造成这种行为的原因是什么吗?
编辑:我的 maildroprc 文件的内容(我将其更改为最小值,但错误没有改变任何内容)
# Global maildrop filter file
# Uncomment this line to make maildrop default to ~/Maildir for
# delivery- this is where courier-imap (amongst others) will look.
DEFAULT="$HOME/Maildir"
编辑2: 以下命令正常退出(以 root 身份执行)
maildrop -V < /testspam.txt
此命令会抛出与 postfix 相同的错误:(也以 root 身份执行)
maildrop -V -d myusername < /testspam.txt
编辑3: 这似乎是权限问题。如果我将 /etc/maildroprc 的权限更改为 777,一切正常。您对权限到底应该是什么样子有什么想法吗?
答案1
你能试一下吗
chgrp vmail /usr/bin/maildrop
chmod 2755 /usr/bin/maildrop
chgrp vmail /etc/maildroprc
chmod 660 /etc/maildroprc
看看这能解决问题吗?