我需要将 linux 系统上的所有传入邮件转发到文件夹 /home/INBOX。如何在此文件夹中创建传入消息的 mbox,自动获取此处转发的所有邮件?我正在使用以下不起作用的代码。
:0
! /home/INBOX
即使在 procmailrc 中写入后,邮件仍然存在于默认的假脱机文件夹中,并且没有保存在指定的文件夹中。
!
用于转发电子邮件,/home/INBOX
不是有效的电子邮件地址。
检查你procmail.log
应该很容易发现这一点。
也许您对自己的术语感到困惑。“转发”消息是继续将其中继到不同的服务器和/或帐户,而保存到文件称为“传递”。
你大概是说
:0:
/home/INBOX
使用锁定(第二个冒号),因为 mbox 文件夹需要互斥(否则,您可能会在另一个传递进程正在写入的消息中间让一个传递进程写入消息,从而破坏 mbox 文件的完整性)。
您也可以简单地设置DEFAULT=/home/INBOX
为当 Procmail 用完其他要尝试的东西时将其发送到那里。
在大容量系统上,锁定可能会导致拥塞,在这种情况下,切换到更具弹性的邮箱格式可能是一个不错的选择;maildir 现在几乎是事实上的标准。使用 maildir 比使用单个mbox
文件稍微尴尬一些,但它还有其他有用的属性(如果您从 maildir 中提取消息,您当然可以自由地将它们转换为 mbox 以方便使用)。
对于它的价值,/home/INBOX
是一个非常不标准的位置。中的条目/home
应该是各个用户的主目录,并且root
应该只有对该目录的写访问权(当然,用户应该对作为其各自主目录的各个子目录具有完全访问权限)。但是,如果那是您真正想要的,并且您已经为自己安排了那里的写访问权限,那么它不会立即被破坏,只是很奇怪。