我正在尝试使用 procmail 将虚拟用户的电子邮件路由到不同的文件夹(具体来说,如果垃圾邮件杀手分配高分,我想将电子邮件发送到用户的垃圾邮件文件夹)。 MTA 是 sendmail。我在 /etc/aliases 中有以下内容:
test: | procmail /var/spool/mail/virtualusers/test/procmailrc
/etc/smrsh 如下所示:
lrwxrwxrwx 1 root root 17 Jun 30 23:34 procmail -> /usr/bin/procmail
当我发送电子邮件进行测试时,我收到退回邮件;邮件日志中的相关行如下:
Aug 4 14:20:22 example smrsh: uid 8: attempt to use "procmailrc" (stat failed)
(uid 8 是邮件)。
以下是 procmailrc 文件的权限:
drwxrwxr-x 3 mail dovecot 4096 Aug 4 14:19 test
-rw------- 1 mail dovecot 160 Aug 3 22:38 test/procmailrc
我最初在 procmailrc 上有 664 个权限,但我读到一篇服务器故障帖子,其中指出如果权限大于 600,procmail 将拒绝处理配方。在任何一种情况下,我都收到了相同的错误消息。
为了确保错误消息是由于 /etc/alises 中的命令行参数引起的,我更改了 /etc/aliases 以指定“| procmail ... /test/procmailrcqqq”,然后 maillog 中的错误消息指的是 procmailrcqqq。
我知道 sendmail 可以看到该目录,因为如果 /etc/aliases 说:
test: /var/spool/mail/virtualusers/test/test.mbox
邮件发送成功。我知道 sendmail 可以执行 procmail,因为对于系统用户,邮件是根据 /home/{user}/.procmailrc 发送的。
有人能辨别出 smrsh 在抱怨什么吗?
谢谢!鲍勃