如何指定fetchmail的收件箱?

如何指定fetchmail的收件箱?

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

答案1

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

/home/handygandy/mail/incoming

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

如果您仅通过 fetchmail 接收邮件,而不是通过本地 MTA,则可以告诉 fetchmail 直接调用 MDA。-m在命令行上传递选项或mda使用~/.fetchmailrc.例如,直接将邮件发送到的一种方法是~/mail/incoming输入,并包含以下内容:mda procmail~/.fetchmailrc~/.procmailrc

DEFAULT=$HOME/mail/incoming

或者放入mda maildrop~/.fetchmailrc有一个~/.mailfilter由以下组成的

DEFAULT=$HOME/mail/incoming

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

答案2

IIRC fetchmail 不会写入邮箱 - 默认情况下它使用本地主机上的 SMTP 或配置的 SMTP 服务器或配置的 MDA。

我假设您尚未配置 MTA,因为您询问的是文件位置。但是,您使用的邮件文件的非标准位置意味着您已经配置了 MDA - 只需使用它即可。有关详细信息,请参阅 fetchmail 手册页。

相关内容