如何指定fetchmail的收件箱?

Han*_*ndy 4 fetchmail

我正在从命令行设置系统调用fetchmail,并指定邮件存储在特定文件中,而不是/var/spool/mail/$USERNAME.

Gil*_*il' 5

默认情况下,fetchmail 调用本地邮件传输代理 (MTA)。这是您需要配置的程序来设置用户邮箱的位置。如果您想更改特定用户邮件的投递位置,大多数 MTA 会读取.forward您的主目录中调用的文件。您可以在自己的~/.forward文件中放置不同的路径(仅一行包含您希望将邮件投递到的邮箱文件的完整路径)。

/home/handygandy/mail/incoming
Run Code Online (Sandbox Code Playgroud)

您还可以|someprogram~/.forward文件中写入以调用邮件传递代理 (MDA),即读取邮件并根据自定义规则确定如何处理邮件的程序。两个流行的 MDA 是procmailmaildrop

如果您只通过 fetchmail 接收邮件,而不是通过本地 MTA,您可以告诉 fetchmail 直接调用 MDA。通过在-m命令行选项或使用mda中的设置~/.fetchmailrc。例如,将邮件传递直接的一种方法~/mail/incoming是把mda procmail~/.fetchmailrc,并且有一个~/.procmailrc

DEFAULT=$HOME/mail/incoming
Run Code Online (Sandbox Code Playgroud)

或把mda maildrop~/.fetchmailrc,有一个~/.mailfilter

DEFAULT=$HOME/mail/incoming
Run Code Online (Sandbox Code Playgroud)

(procmail 和 maildrop 配置文件之间的相似之处并不多。)