Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have an application that sends newsletter in email format. We would like to have a bounceback report. I am sure there has to be tools (free or not) that do this already, look into a specific email that was sent and wait for bounceback and then drops a report somewhere.

The use case is simple. We send a newsletter to a distribution list with the subject x, and from addres then we want to see how many emails came back per code rejection and other groupings.

Any help will be appreciated.

share|improve this question
up vote 4 down vote accepted

You should use VERP. This is a method where you embed the recipient email address in the sender (envelope). This is especially useful when forwarding is involved (on the remote user part) as parsing the bounced mail to get the real original recipient is impossible in that case.

You did not said which mailer you use, but here is the documentation for postfix. Minimal modification is required in you program if you choose this path.

share|improve this answer
We use the VERP in our application to obtains our desired result. We also use some other methods like http post to our application with all the bounce information so we can parse it and obtain more bounce info inside our application. Thanks again. – Geo Aug 23 '09 at 18:38
You are welcome. – cstamas Aug 24 '09 at 8:30

Typically the way mass list sender software works is to generate a unique ID, either for the destination user (in the case of a discussion list) or for the specific mailing + the destination user (which might be more suitable for a newletter) and use that for the return address. You store the unique IDs in a database for use when parsing bounces.

You use some kind of prefix-matching in your mail server to route to a specific mailbox for post-processing. Strip the unique ID out of the destination address of the bounce, then look it up in your database to see who the original recipient was.

This gets around the potential expansion / munging of recipient addresses that may happen when poorly implemented MTAs get ahold of your original message.

For extra credit, keep a count of how often a given email address has bounced so that you stop sending to boxes which have gone away.

share|improve this answer

You could use phplist which has advanced Bounce handling. It let's you teach phplist to distinguish between permanent and temporary message-delivery errors. You can define automated actions on receipt of bounce messages according to matches with your regular expressions.

phplist Documentation : PhpListConfigBounces

Another way is to set a message header:

Return-Path: <>

And you could change "bounces" to an unique id to know exactly which address that bounced.

share|improve this answer

We have considered using Atomic Mail Tracker ( ) but haven't made any decisions. It looks like it has all of the features we want, so it might help you, too.

share|improve this answer
Thanks Matt. This tool looks like a third party application that will actually do more than we need, we have the sending part done, we just want to integrate a reporting section to report on bouncebacks and other stats, but bounces being the most important. thanks again. – Geo Jun 5 '09 at 15:45

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.