31.11.使用 fetchmail

fetchmail 是一个全功能的 IMAP 和 POP 客户端。它允许用户自动从远程 IMAP 和 POP 服务器下载邮件,并将其保存到本地邮箱中,以便更容易地访问。fetchmail 可以通过 port mail/fetchmail 安装,并提供各种功能,包括:

  • 支持 POP3、APOP、KPOP、IMAP、ETRN 和 ODMR 协议。

  • 能够使用 SMTP 转发邮件,这使得过滤、转发和别名能够正常运行。

  • 可在守护模式下运行,定期检查新邮件。

  • 可以检索多个邮箱,并根据配置将其转发给不同的本地用户。

本节解释了 fetchmail 的一些基本功能。这个工具需要在用户的主目录下有一个 .fetchmailrc 配置,以便正确运行。这个文件包括服务器信息以及登录凭据。由于该文件内容的敏感性,建议使用以下命令使其只能由用户阅读:

% chmod 600 .fetchmailrc

下面的 .fetchmailrc 是一个使用 POP 下载单个用户邮箱的例子。它告诉 fetchmail 使用用户名 joesoap 和密码 XXX 连接到 example.com。这个例子假设在本地系统中存在 joesoap 这个用户。

poll example.com protocol pop3 username "joesoap" password "XXX"

下一个例子连接到多个 POP 和 IMAP 服务器,并在适用时重定向到不同的本地用户名:

poll example.com proto pop3:
user "joesoap", with password "XXX", is "jsoap" here;
user "andrea", with password "XXXX";
poll example2.net proto imap:
user "john", with password "XXXXX", is "myth" here;

fetchmail 可以在守护模式下运行,方法是用 -d 运行,然后是 fetchmail 应该轮询 .fetchmailrc 中列出的服务器的时间间隔(秒)。下面的例子将 fetchmail 配置为每 600 秒轮询一次:

% fetchmail -d 600

关于 fetchmail 的更多信息可以在 http://www.fetchmail.info/ 查看。