I send out a weekly newsletter to subscribers of my newsletter.
I send email from noreply@example.com because I don't want people to be able to flood my own email box with replies when they receive the newsletter.
My subscriber details are neatly packed into a database. I have been working on a script that logs into the pop server of noreply@example.com to see the mail that has bounced (return to sender) so that I can remove email addresses in my database that is not working anymore.
The email addresses in my database has grown to hundreds of thousands and sending needless newsletters to thousands of non-working email addresses is just a big waste of time, bandwidth and processing power.
Up until now the only way I could reliably determine if an email is a bounced email with my script was to check if there is X-Failed-Recipients: in the header and if the Return-path: value is blank. There must be a better way?
The script works well but is missing about 30% of other bounced emails that does not contain X-Failed-Recipients: and where the Return-path: value is sometimes not blank.
Is there more reliable ways to determine if the email received to noreply@example.com is a bounced email so that I can take steps to remove the non-working email from my subscriber database?
I cannot just remove all email addresses from my database when there is a return email to noreply@example.com because people reply to noreply@example.com in the mistaken belief that someone will read it.