我使用 procmail 过滤电子邮件,但它无法写入临时文件夹:
procmail:无法创建或重命名临时文件“/var/mail/tmp/1483421819.25425_0.morep” procmail:分配“LASTFOLDER=/var/mail/info”
这些邮件文件夹的权限是:mail:mail
什么原因导致这个问题?
谢谢!
答案1
看起来你正在尝试将/var/mail
其自身用作 maildir 文件夹。我无法想象这种情况有什么意义。
通常,/var/mail
应该包含一堆个人 mbox 文件夹,每个文件夹都以其所有者命名。显然,您需要配置 Procmail 以将 mbox(而不是 maildir)格式写入此位置。例如,
:0:
/var/mail/$USER
(其中 $USER 是帐户的名称,并且该文件必须是常规文件,否则不存在)。虽然这可能已经是编译后的默认操作,所以您不需要为此制定明确的方案。(您可以运行procmail -v
以查看当前用户的默认邮箱是什么。)
无论如何,如果您认为您希望 maildir 正常工作,您需要有一个名为 的目录,/var/mail/tmp
该目录可由其 Procmail 实例尝试传递到此位置的用户写入。(为了正确的 Maildir 功能,也应该有名为cur
和的目录new
,并具有类似的权限。)
更常见的是,您会在用户的主目录中拥有一个具有正确权限等的 maildir 结构(或者对于虚拟用户来说,是某种近似值),然后在那里写入。