for those looking for new tools for their arsenal..
take a look at the relatively new Haraka.
running it as a proxy, I'm impressed.
enjoy!
https://github.com/baudehlo/Haraka
Haraka - a Node.js Mail Server
Haraka is a plugin capable SMTP server. It uses a highly scalable event
model to be able to cope with thousands of concurrent connections.
Plugins are written in Javascript using Node.js, and as such perform
extremely quickly.
Haraka can be used either as an inbound SMTP server, and is designed
with good anti-spam protections in mind (see the plugins directory), or
it can be used as an outbound mail server (run it on port 587 with an
"auth" plugin to authenticate your users). Or of course it can function
as both.
What Haraka doesn't do is fully replace your mail system (yet). It
currently has no built-in facilities for mapping email addresses to user
accounts and delivering them to said accounts. For that we expect you to
keep something like postfix, exim or any other user-based mail system,
and have Haraka deliver mail to those systems for that mapping. However
nothing is stopping someone writing a plugin which replicates that
facility - it just has yet to be done.
Haraka does have a scalable outbound mail delivery engine in the deliver
plugin, which should work well for most sites.
Why Use Haraka?
Haraka's primary purpose is to provide you with a much easier to extend
mail server than most available SMTP servers out there such as Postfix,
Exim or Microsoft Exchange, yet while still running those systems for
their excellent ability to deliver mail to users.
The plugin system makes it trivial to code new features. A typical
example might be to provide qmail-like extended addresses to an Exchange
system, whereby you could receive mail as user-anywordsh...@example.com,
and yet still have it correctly routed to u...@domain.com. This is a few
lines of code in Haraka, or maybe someone has already written this plugin.
Plugins are already provided for running mail through SpamAssassin,
checking for known bad HELO patterns, checking DNS Blocklists, and
watching for violators of the SMTP protocol via the "early_talker" plugin.