The long time traditional Mail Delivery Agent on the Internet is the venerable Sendmail.
Sendmail is very powerful; unfortunately, its configuration can get exceedingly complex, and it has been susceptible to bad security problems.
How to use sendmail rulesets to restrict non-local users from relaying "spam" through sendmail
I have used qmail as my mail delivery agent.
Qmail is a sendmail replacement with the following claims to fame:
It does not need to run as root, mitigating the many security problems that have been encountered over the years with Sendmail.
When heavily loaded, it is claimed to be much faster than sendmail.
It is claimed that it is much simpler to configure.
Reality is that there aren't as many people that understand how to do so, and not as much good documentation on it, which means that this benefit is more a claim than it is reality.
On the client side, it provides the Maildir delivery mechanism that seems much more robust than the traditional mbox format. Maildir has the significant advantage that it doesn't require any special lock maintenance, and is reliable even with networked file systems like NFS.
The mbox format allows multiple messages to get lost and/or corrupted if the sendmail process runs into errors while copying data into the mbox file, particularly if the user is simultaneously accessing the mailbox. Qmail writes messages into individual files in the user's Maildir directory, which means that a crash cannot conceivably affect more than one message at a time.
The one downside is that while qmail seems substantially superior to Sendmail from a technical perspective (the Maildir mechanism being a good case in point), it is not quite a drop-in replacement. It took me a while to figure out that I had to move .forward functions into my .qmail file to get mail forwarding functionality.
Other Qmail resources include a mailing list and a utility called serialmail (to defer qmail mail delivery for SLIP/PPP users) are available. Mail queue with qmail
There should be an O'Reilly book on Qmail Real Soon Now.
Yet another SMTP mail server package...
Postfix - The MTA formerly known as VMailer - another Qmail alternative
I've got a machine running Postfix; it is quite directly competitive with qmail, providing a secure, high-performance mailer that supports the Maildir mailbox format.
I found Postfix to be about the easiest MTA to configure for a small local network that does some mail forwarding of any that I have tried.
List-Moderators.com, The E-mail Discussion List Exclusively for List Moderators
Email and calendaring server based on HP OpenMail
International Messaging Associates
Internet Exchange Messaging Server (IEMS) Version 6 is a complete standalone, open architecture messaging solution with components that can be run on a single machine or in a distributed environment. It is supported under Windows 2000, NT and major Linux distributions.
Differing from other mailing list managers, Shibboleth manages lists or groups of lists which are closed, or have membership by invitation only. So instead of focusing on automating the processes of subscribing and unsubscribing readers, we include features like SMTP forgery detection, prevention of outsiders' ability to harvest usable email addresses from mailing list archives, and support for cryptographic strength user authentication and nonrepudiation.
Mailman, the GNU Mailing List Manager - GNU Project - Free Software Foundation (FSF)
My primary mail client package is MH.
Its claim to fame is that it has a "component" architecture, with a large group of Unix commands that perform such tasks as searching for mail, refiling it, reformatting it, redirecting it, and lots of other stuff. It is exceedingly flexible in its behaviour.
MH and nmh: Email for Users and Programmers
At this site there is an HTML version of the book MH and exmh: Email for Users and Programmers by Jerry Peek. The book, previously published by O'Reilly and Associates but now out of print, was 738 pages long. The MH "system" is extremely powerful.
nmh is an attempt to build a "kinder, gentler, easier-to-port MH" by starting from zero and rewriting a compatible system. It has reached a sufficient level of stability and compatibility with "traditional MH" that most Linux distributions have replaced MH with NMH, and systems such as EXMH and mh-e that depend on MH's functionality do not notice the difference.
Including a full manual
ifile collects statistics on the occurrances of words in mail documents that have been filed/refiled, and uses that to determine a "best guess" of where new mail should best be filed. I have done quite a lot of work to tune it to provide decent performance.
The idea is to collect a dictionary of statistics on the number of occurances of words in messages filed to each folder. Incoming messages are compared to the dictionary, and are filed to the folder to which they have the highest degree of correspondence. When messages are refiled (due to being misclassified by the filter), the dictionary is revised. Words that are not commonly used are eliminated, so that the dictionary does not get too large.
Ifile uses naive Bayesian filtering as a statistical approach to direct messages to MH folders to which they have the highest degree of correspondence.
The "naive" assumption that is made is that correlations need only be done on the basis of individual word occurances, that is, we count the number of times that the word "stop" is used, and do not consider combinations of words (e.g. "stop it" or "stop and go").
The weakness of this scheme is that while it is wonderful at "discrimination," that is, classifying dissimilar documents into different groups, it has nothing that makes it good at aggregating several kinds of dissimilar documents into a single group.
For instance, I have at times subscribed to the exceedingly active (more than 30 messages per day) SAP-R3-L LISTSERV. There are many topics (BASIS, ABAP/4, AM, SAPGUI, EDI) that I am interested in, and I have actively reclassified them. Ifile classifies these messages with reasonably good accuracy.
However, there are other R/3 modules that I care nothing about (HR, Logistics, PP, MM, CO, FI, ...). I dump those messages into +SAP/Trash. If I were to "properly" refile them into individually named areas, they would probably get classified with similarly great accuracy to the results achieved elsewhere. But since they're jumbled together, +SAP/Trash is really looking for messages that represent an "average" (of sorts) of the word counts from messages. And sometimes it gets the classifications wrong, as a result of this.
In effect, the classification system is looking for "the average message" for each category. And if the category is really a conglomeration of various smaller categories, there may not be any messages that truly are representative of what it's looking for.
All this being said, I do delete forthwith most of the material in +SAP/Trash, and there's not too much mail that gets misclassified to inappropriate mailboxes. But much of the same is true of mail that I direct to +Linux/* mail folders, and a lot of that mail does go astray.
An external program for MH to automatically choose the right replcomps / filter files depending on the to/cc etc line in the original message.
In effect it uses a two-step approach: in .mh_config I have several lines for repl , like for replname1 , replname2 , replname3 etc. The program then uses a config file with pairs of (regexp, replname) to invoke the real repl as the replname for which a regexp matched, which causes it to use the configuration specified for it in the .mh_config file.
I have rather a lot of mail folders, and use the Tk/TCL-based interface exmh to interactively search for and redistribute mail amongst my many mail folders. Exmh comes out-of-the-box with easily configured interfaces to external packages such as:
PGP, for encryption, decryption, and authentication of messages;
The external editor of your choice, if you don't like the built-in message editor;
Glimpse, for rapid full text searches of mail folder contents;
The external web browser of your choice, with configuration information provided for Lynx, Netscape Navigator, and X-Mosaic.
Exmh assumes the use of the Xauth security facility that prevents other people from (without permission) opening windows on your system; Xauth has proven to be rather annoying to configure under Linux. (This is one of the few areas that come up for major criticism in the Unix-Haters Book criticism of X with which I can readily agree.) I've got documentation in my MH folder somewhere...
Paul Graham , of Lisp fame, discovered, in 2002, what we had started using back in 1996, albeit in a degenerate fashion. His [ A Plan for Spam ] uses only the 15 " most interesting tokens". It is quite unfortunate that so many public forums attribute the methodology to Graham when Jason Rennie was distributing free software for this back in 1996.
Mail client offering support of POP, IMAP, MIME, BBDB.
Written using wxWindows atop GTK+ , and has a Python interpreter built-in.
Ratatosk aka TkRat - Email Client
This mail client knows how to read mail from a fairly wide variety of sorts of mail folders.
The Eudora Mailbox Conversion FAQ indicates methods of converting from a wide variety of mailbox formats into those used by Eudora.
Eudora is sufficiently interoperable that the information may assist in moving data to your preferred mail client...
swallow - a GUIed mail user agent written in Python using the Maildir mailbox format.
Evolution - GNOME integrated mail client, calendar, and address book.
A Qt -based Outlook clone.
A apparently-secure web-front-end-based mail system.
Web-based collaboration system
Web-based mail system
OneBox.com (email, voicemail, fax in one spot)
IMAP, the Internet Message Access Protocol, is a standardized mechanism for mail clients to interact with mail servers. Unlike the common alternative, POP3, it supports having many folders on the mail server, and offers much more sophisticated mail management capabilities.
An email server supporting POP3 and IMAP that uses free SQL databases such as PostgreSQL for message storage.
An advanced IMAP implementation that stores messages in a PostgreSQL database. It defines mailboxes using SQL queries, allowing messages to be associated with many mailboxes via sophisticated views, if so required...
An IMAP server that connects to a Maildir data source