MyMail
MyMail is a small, fast and efficient SMTP server written entirely in Perl. It uses greylisting to stop spam zombies, Norman Virus Control (or similar) to scan messages before accepting them into the queue, SpamAssassin to classify messages and finally feeds spam statistics back to the greylist to further reduce spam.
Administration
Configuration of mail domains, relay hosts and mail addresses is done 100% via SQL tables. All such configuration changes take effect immediately.
Logging
Mail envelopes are logged in SQL along with status information, which means you can pull up messages to/from certain recepients with a simple SQL query and check the message status etc.Ofcourse, both the SMTP handler and the daemon log to the syslog facility as well.
Virus detection and blocking
MyMail performs a two-stage scan prior to accepting a message into the queue.First, the message is passed through a MIME parser capable of sniffing out attachments even if they're carefully hidden using encoding tricks. If the filename extension indicates any kind of executable file, it is blocked on suspicion.
Secondly, an external virus scanner (NVC by default) is called in to perform a deep scan. This takes care of most macro viruses carried by Microsoft document formats.
Features
- Greylisting based on sender and subject
- Simple blacklisting of dangerous attachment types
- Virus detection prior to message acceptance
- SPAM detection and tagging with feedback to greylist
- Simple mailing list functionality built-in
- Smart bouncing to reduce spam backscatter
- Less than 4000 lines of perl code
- Fast, efficient and reliable (1201696 messages served)
Architecture
MyMail consists of two components; an SMTP handler called via inetd, and a mailer daemon processing the message queue. The mailer daemon spawns one child process per message delivery, the maximum number of child processes can ofcourse be adjusted to balance between performance and memory usage.
License / Availability
This software was developed for internal use by Ano-Tech Computers and is not yet released to the public. If, however, you are interested in testing it then please contact me via email: floyd@atc.no