Step 3 • Setting up Fetchmail

The Fetchmail Panel

Fetchmail is useful for people who have many other POP or IMAP servers that they read mail from. Fetchmail can be set up to check these other POP or IMAP servers periodically and download all that mail, consolidating them into one single mailbox on the local server.

This is a good reference site for Fetchmail (the official man page) :-
http://www.catb.org/~esr/fetchmail/fetchmail-man.html

To set up Fetchmail, go to the Fetchmail tab, click the + button to add a POP or IMAP server to fetch mail from, enter the server name, choose the protocol, e.g., POP3 or IMAP, enter your user ID and password at this server, and your user name on your local server.

Leave the Keep column as NO to fetch all messages from the server and delete them after downloading.

If you set Keep to YES, then they're left on the server, but Fetchmail attempts to figure out which messages are new and tries to download only the new ones. If this doesn't work well, leave Keep as NO.

Leave SSL to NO, unless your ISP requires the connection to be over SSL.

If you know that the ISP server is a POP3 server, it helps to set the protocol explicitly to POP3 rather than to leave it as AUTO.

The default polling interval is one minute and the default time-out is 45 seconds. Set to 0 for no timeout, though this is not recommended.

The Via field is optional. It can be made to contain the DNS name of the ISP POP or IMAP server. If set, this will override the Server Name field. Now why would you want to do that? You may have several accounts polling the same ISP mail server. If you enter the ISP server name into the Via field rather than the Server Name field, you can use the Server Name field merely as a label, a descriptive name for each account set-up. The Via field is optional. It's for people whose existing Fetchmail setup already uses a Via parameter. You can choose to ignore it if you want.

Leave the Node and Aka fields empty, unless you want to set up Fetchmail to work in multi-drop mode whereby mail from one single mailbox at the ISP server is split by Fetchmail into multiple mailboxes at the local server.

Fetchmail in Multi-Drop Mode

Typically, multi-drop mode works this way. The ISP provides you with an account or node on the server, say node.isp.net. Your web server is at www.node.isp.net and you can get mail delivered to user1@node.isp.net, user2@node.isp.net, etc... When you need to read those mail, you log in to the ISP server as user name "node" and give your password. But user1 and user2's mail are all in the same mailbox.

What you want to do is to get Fetchmail to do the logging on for you, and download all those mail, but split them into individual mailboxes that you have created on your own server for user1 and user2, etc.

Then your users will log onto your local server and read their mail (coming down from isp.net) as if these had been sent to the local server all along.

Fetchmail in multi-drop mode needs a couple of hints to help it on its way.

First, you will need the node name. In Fetchmail parlance, this would be the localdomains parameter. In our example, this will be "node.demon.nl", i.e., the right hand side of the @ sign in the email addresses you've been given by the ISP.

Then you may need to enter the other names that the ISP POP or IMAP server is known by, also known as the aka paramter. You can find this out by doing a "dig +short MX pop.isp.net" in the Terminal, where pop.isp.net is replaced by the POP or IMAP server you need Fetchmail to download the mail from. By giving more information about what likely names the ISP mail server may be known by, it can help Fetchmail figure out, from the mail headers, where each message should be delivered to on the local server.

Then you enter the localdomains and aka parameters into MailServe's Server Options field, as shown above.

There is one other field to allow you to enter Fetchmail User Options. E.g., this can be used to enter hints to help Fetchmail deal with SSL cert issues, like the use of a local SSL cert or one that is not a chained to a root-level cert.

The above options will show up in Fetchmails .rc config file like this :

poll "pop3.demon.nl" protocol POP3 timeout 45 aka demon.net mailstore localdomains node.demon.nl user "node" password "paword" is * here fetchall ssl sslfingerprint "44:A8:E9:2C:FB:A9:7E:6D:F9:DB:F3:62:B2:9E:F1:A9'" sslcertck sslcertpath /System/Library/OpenSSL/certs

To start Fetchmail, click on the Start Fetchmail button the top right-hand corner of the panel. Make sure that the Fetchmail status light turns green. If not, check the Fetcmail log in the Mail Log panel for clues as to what could have gone wrong. If Fetchmail starts up corectly, its button label will read Restart Fetchmail. You can Stop Fetchmail by option-clicking on it.