Sunday, January 23, 2011

Linux/Unix MTA with the smartest queue?

I am looking for an MTA that will allow me (a script, really) to proactively manage its send queue in response to status codes returned by the remote servers I am delivering to.

Basically, for each mail sent I would like to be able to react to the SMTP reply code returned by the remote server, ex. '250 OK', or to any error conditions like connection timeouts.

Additionally, I would like to be able to manage the send queue moving forward based on this information, e.g. 'example.com has timed out the last 5 connection attempts, so no longer queue mail for recipients @example.com'.

I am currently using Postfix and Perl to parse its logs for this information, but I am playing a game of catchup that is prone to errors (out-of-order log entries etc.) and it's starting to get messy (some real ugly regexes ;).

I really don't want to reinvent the wheel and use some language's SMTP library; I would prefer to use a proven/fast/reliable MTA. I am however open to suggestions if what I need just isn't possible.

Thanks for your help!

  • postfix is the closest you will get to the "smartest queue" you are looking for. it is already split nicely and very manageable.

    You may want to re-think your script to monitor files in your queue folders

    defer
    bounce
    active
    deferred
    hold
    

    and then have messages moved around with postsuper command?

    threecheeseopera : Any chance you'd know the difference between defer and deferred? Besides the obvious; does mail go from defer to deferred?
    From solefald

0 comments:

Post a Comment