Mail Delivery Agents for Linux
Written in Python. Supports POP3, APOP, IMAP4, SSL, mbox, Maildir, SMTP via local MTA. Flexible filtering, and integration with external mail filter utilities. Small, fast. GNU GPL.
Access via IMAP, POP3, KPOP. Written in C by Rob Siemborski. Supports BerkeleyDB database as a mail store. (No support for mbox, Maildir, mh, etc. mail stores.) Comments.
UW (University of Washington) IMAPd:
Written in C by Mark Crispin. Supports mbox mail stores only. Also includes a separate pop3d that can relay commands to an IMAPd. Note: This software has had a shaky security history. Comments.
Supports Maildir and mbox mail stores. Written in C by Timo Sirainen. Also includes a separate pop3d. A fairly new (a/o 2004) piece of software, but has an impressive reputation already for security and performance. Comments (by author).
MDA written in C by Eelco van Beek and Roel Rozendaal. Provides IMAP and POP3 daemons that use a MySQL or PostgreSQL mail store.
Described as "Drop-in POP3 and IMAP4 server package", written in C++ by Daniel Kroening. Provides separate IMAP and POP3 daemons, and an optional SMTP daemon, omail.
Fetchmail, an MDA written in C by Eric S. Raymond based on Carl Harris's popclient, is designed for retrieval and forwarding of mail over demand, periodic links, with optional multidrop or domain support. Retrieved mail is handed off to a local MTA, which is thus required. (Exception: You can run Fetchmail with an --mda or -m option, causing it to hand off mail to an MDA directly, rather than to an MTA.) Access via POP2, POP3, RPOP, APOP, KPOP, IMAP, ETRN, and ODMR. Mail store format: N/A, since mail is handed off to a local MTA or a local delivery agent.
Python-based MDA by Charles Cazabon. Access via POP3. Supports Maildir and mbox mail stores (via an included LDA). Supports multidrop or domain mailboxes. Written to work around what the author saw as misfeatures in Fetchmail.
Simple POP3 mail retriever for demand dialup, written in C by Sam Varshavchik, and intended to hand off mail to a secondary MDA such as procmail. Unmaintained since 1998.
MDA and processing engine in C, incorporating features for spam filtering, other filtering, and making decisions about how incoming mail is treated. Controlled by the mfl scripting language that combines an implementation of the Sieve filtering language and and a C-like automation language.
Perl Mail Delivery Agent
http://perl-mail-delivery-agent.soft112.com A simple, small-scale mail delivery agent (MDA) and SMTP relay written in Perl that allows filtering and modification of both incoming and outgoing messages using arbitrary, per-user or site-wide rules. Requires "Maildir"-style mail storage.
Note to self: Self, you might want to supplement the above by adding the POP3-only MDAs — BSD in.pop3d (aka popper) by Katie Stevens, Glynn Clements, Fabio Coatti, and Filippo Grassilli, cucipop (Cubic Circle POP3 daemon) by S.R. van den Berg, fetchpop by Seung-Hong Oh, get-mail by Rajko Albrecht, gnu-pop3d by Jakob Kaivo, gwpop (in Perl4) by Stephane Bortzmeyer, ids-pop3d by Jakob Kaivo, Pmail by Ming Xu, pop-perl5 (in Perl) by William M. Perry, Bill Reynolds, Steve McCarthy, Sven Neuhaus, and Kevin Everets, POP3Lite by Gergely Nagy, popclient by Carl Harris and Eric S. Raymond, popspam by James DeRidder PopTart by James Anderson, qmail-pop3d by Daniel J. Bernstein, qpopper by Randall Gellens, solid-pop3d by Jerzy Balamut and Arkadiusz Miskiewicz, Teapop by Ibrahim Khalifa, tpop3d by Chris Lightfoot, virtualmail-pop3d (aka vm-pop3d) by Jeremy C. Reed, yapops by Nir Oren, zpop3d by Laurent Monin, etc. (This list includes both POP3 clients and POP3 daemons.)
Local MDAs (local delivery agents = LDAs)
These are now covered on a separate LDAs page.