How's your Ruby?
I only ask, because I'd probably solve this problem by using Logstash, and writing a custom input plugin to accept SMTP data. Or use some kind of external filter to make SMTP data be adequately represented in one of the existing accepted input formats.
By external filter, I'm hinting at something written in a suitable scripting language (Perl, Python, etc) that will act as a SMTP client (or server, depending on your POV), connect to the SMTP server, grab the message, and then make it into a format that Logstash accepts natively, be it AMQP (my preference for this), or raw TCP.
Edit 2: I've just found a project for converting SMTP to AMQP using a rabbitMQ plugin. A bit of a long way around, potentially, but still quite a neat idea. You'd set up a RabbitMQ server with this plugin, that would then convert SMTP messages to AMQP, which Logstash would then consume and analyse.
It's a bit of a niche problem, which is why you'd probably do better writing your own, or writing a plugin for an existing something.