Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

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

I have a website with approx 60 000 registered users, now the server sends out emails to these users eg Birthday mailers etc. Now the problem is I get a lot of bounces. Is there a way to manage these bounces, email addresses that do not exist anymore to capture them. I'm running Centos.

share|improve this question
It's going to depend on the mail server software and the software sending the emails. In general terms though you'll want to have bounces sent to a specific address which you can either automatically handle or manually check and then remove addresses. – kaerast Apr 13 '10 at 11:26

Have a look at insytes answer. I have seen this done in several ways from using user unique bounce addresses in the form to different encodings to detect the bouncing address.

share|improve this answer
+1 this is what VERP is for -- definitely look into it. – Tauren Sep 14 '10 at 1:58

In terms of a custom solution, I would send the email from a new inbox

Then, using Exim or whatever MTA you have, pipe the emails to a script. Check to see if it is a bounce (random keywords, I guess) and if it is, connect to the database and remove the email address or disable notifications to it.

Something like that.

share|improve this answer
That's going to be a lot of work, as bounce message formats are not standardized. Plus, there are many times when the bounce doesn't even include the original email address, so you won't be able to tell which address bounced. It is much better to use VERP. – Tauren Sep 14 '10 at 2:00

PHPLIst has one of the best automated bounce handling programs I have seen. Normally, you would use that program to send emails also.

However, in your case, you can use PHPList only for bounce handling.

share|improve this answer

Simply parse the mail server logs to extract the information you need and then use that information to update your database. The implementation details will obviously depend on the software used but you've given no information about that.

share|improve this answer

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.