ERLMail is the package of email services in the EIF. The initial parts are the client software to interact with existing email servers and services, allowing other modules to interact with those services. Later a fully functional email server will be created in a product that will compete directly with sendmail, qmail and MS Exchange in features, but should outstrip all of them in performance.
The SMTP server and message store are the core of ERLMail, sending and receiving email and holding messages until the are distributed to their proper destinations.
The Message Store has been designed to be modular (based on a behavior) so that you can write your own message store for any way you want to store your messages. DETS, ETS and Mnesia message store modules are planned for ErlMail, along with a generic framework for a MySQL/ODBC message store. I am also planning a message store based on the Maildir way of saving mail messages to a file system.
The IMAP4 and POP3 servers will access the message store to respond to client requests.
As previously mentioned the SMTP, IMAP4 and POP3 client software will be held in this package, but created in a modular fashion to allow all other packages access to their features. This is the focus of initial release of ErlMail
Anti-spam and anti-virus features will be incorporated into the email server either directly or through another package that may appear later as an optional package. Possibly even a commercial package.
ERLMail will have store and forward capabilities built in in order to be used as a backup mail server. This feature will also have hooks to allow for other services (anti-spam and anti-virus) to modify or block messages from being forwarded.
MIME components built into ERLMail will be available for other modules to use, specifically to create email messages in ERLWeb.
Google Code
This project is now being hosted on a Google Code subversion repository. You can find it at http://code.google.com/p/erlmail/
Version History
Version 0.0.5 2007-oct-18 Stuart Jackson
* Changed the license to an MIT (M11) license
* introduce the framework for the gen_store behavior
* introduce the DETS message store
* re-factor the IMAP and SMTP client software to implement new TCP communications
* rebuild the SMTP server modules to remove TCP communication bugs
Version 0.0.4 2007-sep-19 Stuart Jackson
* released but mostly bug fixes
Version 0.0.3 2007-jul-19 Stuart Jackson
* RFC822 scanner/parser added, it only parses dates
* maildir module added with basic functionality
* added SORT IMAP extension to IMAP client
* Initial release of SMTP server module (Sockets may have a bug in it)
Version 0.0.2 2006-dec-14 Stuart Jackson
* Initial release of SMTP Client
* Included dnsbl.erl for DNS Black list support
Version 0.0.1 2006-dec-12 Stuart Jackson
* Initial release of IMAP Client
* LEEX and YECC grammar files for parsing IMAP
* Framework files for future services






