(This section is obviously subjective. Feel free to send me your comments.)
The most widely used mail retrieval utility is probably fetchmail. mpop does not support all of fetchmails features, but I think that
- some features of fetchmail are useless,
- some common features are handled better by mpop than fetchmail, and
- mpop has some features that fetchmail has not.
First, a list of features that fetchmail has and mpop has not:
- Daemon mode.
You can run "mpop -q" from cron instead. The locking issues will be handled automatically. There's no need for a daemon mode.
- Built-in delivery with SMTP.
With mpop, you can use an appropriate MDA to deliver messages with SMTP, for example msmtp. This is more powerful and flexible than fetchmails built-in SMTP delivery, but it is also a little bit slower.
- IMAP support (or rather, the ability to retrieve mails from IMAP mailboxes).
mpop does not currently support this, but it is certainly possible to add this feature if there is interest.
- Multidrop mailboxes.
There are currently no plans to implement support for multidrop mailboxes for mpop.
Some things that mpop does better than fetchmail:
- mpop never ever tries to parse mail information except for the envelope-from address, which is the bare minimum that it has to do.
- mpop never ever alters mail messages except for adding a "Received" header, which is the bare minimum that it has to do.
- mpop uses several techniques (including pipelining) to reduce the POP3 protocol overhead. It is therefore much faster than fetchmail.
- By default, mpop stores the mail UIDs (unique ids) in one file per account. You can poll different mail accounts in parallel.
- The progress output is nicer ;-)
Some things that mpop can do and fetchmail cannot:
- You can pipe the headers of a mail through a filter that decides if the mail should be downloaded, skipped, or deleted. This allows to delete junk mail from a POP3 server without downloading the entire message.
- mpop can deliver mails directly to mbox and maildir mail folders.