29.11. 使用 fetchmail

fetchmail 是一个全功能的 IMAP 和 POP 客户程序,它允许用户自动从远程的 IMAP 和 POP 服务器上下载邮件,并保存到本地的信箱中; 这样,访问这些邮件就变得更方便了。fetchmail 可以通过 mail/fetchmail port 安装,它提供了许多有用的功能,其中包括:

  • 支持 POP3、 APOP、 KPOP、 IMAP、 ETRN 以及 ODMR 协议。
  • 通过 SMTP 转发邮件,这使得过滤、 转发,以及邮件别名能够正常工作。
  • 能够以服务程序的方式运行,并周期性地检查邮件。

能够从多个信箱收取邮件,并根据配置,将这些邮件转发给不同的本地用户。

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

  1. % chmod 600 .fetchmailrc

下面的 .fetchmailrc 提供了一个将某一用户的信箱通过 POP 下载到本地的例子。它告诉 fetchmail 连接到 example.com ,并使用用户名 joesoap 和口令 XXX 。这个例子假定 joesoap 同时也是本地的系统用户:

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

下一个例子将连接多个 POP 和 IMAP 服务器,并根据需要转到不同的本地用户:

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

另外,fetchmail 也可以通过指定 -d 参数,并给出 fetchmail 在轮询 .fetchmailrc 文件中列出的服务器的时间间隔,来以服务程序的方式运行。下面的例子会让 fetchmail 每 600 秒轮询一次:

  1. % fetchmail -d 600

更多关于 fetchmail 的资料,可以在 http://www.fetchmail.info/ 找到。