GNU Anubis is an SMTP message submission daemon. It represents an intermediate layer between the mail user agent (MUA) and mail transport agent (MTA), receiving messages from the MUA, applying to them a set of predefined changes, and finally inserting modified messages into an MTA routing network. The set of changes applied to a message is configurable on a system-wide and per-user basis. The built-in configuration language used for defining sets of changes allows for considerable flexibility and is easily extensible.
IndiMail is a messaging platform built using qmail and other messaging software. IndiMail has the ability to distribute the users in a domain across multiple hosts. IndiMail has multiple queues (called a queue collection), which can achiever very high concurrencies. The system IDs and configuration files used by IndiMail are all configurable through a set of environment variables, allowing you to customize IndiMail the way you want. IndiMail does not use hard-coded uid/gid in the executables, which makes it easy to distribute a binary package. IndiMail has features that any modern email server should have: SMTP, QMQP, QMTP, IMAP, POP3, DKIM, BATV, greylisting, filtering capability, and spam/virus control.
rjmailer is a replacement for the SMTP part of Sun's javamail library. It sends email messages via SMTP and has the ability to connect directly to the receiving mail servers instead of using a relay server, which in many cases can result in more detailed information about the delivery status.
smtp-cli is an SMTP command line client with support for advanced features such as STARTTLS, SMTP-AUTH, or IPv6. It also has scriptable message composition capabilities supporting anything from simple plain-text messages right up to building complex HTML emails with alternative plain-text part, attachments, and inline images. It's also a convenient tool for testing and debugging SMTP servers' setups. smtp-cli can be used to check a given server's capabilities, to test your server's setup, or to create and dispatch email messages. The command line interface is intuitive, and everything is scriptable and can run in a completely non-interactive mode from scripts or cron jobs. smtp-cli is ideal for shipping log files from remote machines, running periodic mail delivery test loops, etc.
SSA Fetchmail is a multi-threaded solution that retrieves new emails from ISP email accounts and forwards them through different channels like email, SMS, or a local SQL repository. It supports IMAP4, POP3, SSL, SMTP TLS delivery, SMPP SMS delivery, and local delivery. SSA Fetchmail supports thousands of email accounts provisioned in a MySQL database. Its performance is better than other solutions.
Mireka is a mail server with SMTP, Mail Submission, and POP3 services. It can also be used as an SMTP proxy. As a proxy, it can help to prevent or diagnose mail problems, like outgoing backscatter spam. It provides detailed logging, basic mail traffic statistics, tarpit to prevent email harvesting, and loop detection. It can filter email by DNSBL, SPF, mail size, local domains, and recipients list. Local recipients can be specified using regular expressions. TLS is supported for incoming connections. Aliases, forward lists, and very simple mailing lists can be configured in XML. Custom filters and other components can be written in Java, and they can be easily implemented and installed.
Why a milter archiver? If you are required to also log source and destination IPs and BCCs (additional rcpt to's not in a CC field communicated at the SMTP protocol level), then the only option is do this in the MTA, or in a milter application that has hooks in the MTA process (which is exactly why milter was invented). It uses a simple regex file that can be used with several *source target-mailbox rules to define what gets mirrored where. The archiver tries to be as quiet as possible. The possible methods to archive are SMTP, sendmail inject / Postfix inject, IMAP delivery, and milter-add recipient. It was build as a replacement for a Postfix BCC setup: (sender_bcc_maps = regexp:/etc/postfix/archive; recipient_bcc_maps = regexp:/etc/postfix/archive).