## Using fetchmail ***Contributed by Marc Silver. *** ***fetchmail*** is a full-featured IMAP and POP client which allows users to automatically download mail from remote IMAP and POP servers and save it into local mailboxes; there it can be accessed more easily. ***fetchmail*** can be installed using the [mail/fetchmail](http://pkgsrc.se/mail/fetchmail) port, and offers various features, some of which include: * Support of POP3, APOP, KPOP, IMAP, ETRN and ODMR protocols. * Ability to forward mail using SMTP, which allows filtering, forwarding, and aliasing to function normally. * May be run in daemon mode to check periodically for new messages. * Can retrieve multiple mailboxes and forward them based on configuration, to different local users. While it is outside the scope of this document to explain all of ***fetchmail*** 's features, some basic features will be explained. The ***fetchmail*** utility requires a configuration file known as `.fetchmailrc`, in order to run correctly. This file includes server information as well as login credentials. Due to the sensitive nature of the contents of this file, it is advisable to make it readable only by the owner, with the following command: % chmod 600 .fetchmailrc The following `.fetchmailrc` serves as an example for downloading a single user mailbox using POP. It tells ***fetchmail*** to connect to `example.com` using a username of `joesoap` and a password of `XXX`. This example assumes that the user `joesoap` is also a user on the local system. poll example.com protocol pop3 username "joesoap" password "XXX" The next example connects to multiple POP and IMAP servers and redirects to different local usernames where applicable: 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; The ***fetchmail*** utility can be run in daemon mode by running it with the `-d` flag, followed by the interval (in seconds) that ***fetchmail*** should poll servers listed in the `.fetchmailrc` file. The following example would cause ***fetchmail*** to poll every 60 seconds: % fetchmail -d 60 More information on ***fetchmail*** can be found at http://www.catb.org/~esr/fetchmail/. CategoryHandbook CategoryHandbook-email