I'm writing a mailing/discussion list application in PHP. I have outgoing mail working, and I'm capturing bounce messages. Now I need to figure out how to process those bounce messages, so I can remove bouncing email addresses from future mailings.
My client is currently using SmartList for the discussion list, and I notice that sometimes a bounce message will contain the entire original message, which in turn can include a multitude of quotes from earlier messages in the thread. Thus, there can be lots of different email addresses in the body of the message and all the quotes.
How do some of those commercial packages that can do this determine things like hard bounces, soft bounces, etc.?
Or to simplify, how to simply tell what address bounced?
Is there any current PHP script or class for doing so?
It has been suggested that I use SMTP instead of direct mail(), but my web host, unfortunately, insists on using POP-before-SMTP authentication.
If I solve all THESE problems, then I'm thinking that I wouldn't really care about parsing the bounces if VERP can tell me where they came from. If it came back, it's a bounce, and I wouldn't care why it bounced. I would keep a count of the number of times each address bounced and the last date/time it bounced. Addresses would be removed from the list if they bounce X number of times within Y days. If a bounce is received and the previous bounce is more than Y days ago, the count is reset.