On Tuesday, February 25, 2003, at 07:25 PM, Barry A. Warsaw wrote:
Of course, Mailman can verp which takes the guesswork out of bounce processing. Even so, anything you can contribute to improve the non-verp bounce detection stuff would be appreciated.
that code's unfortunately not available.
But on a more general basis, I found a couple of techniques really helped me here, against all but the most obnoxious bounce returns (i.e. first class):
First, I now embed the user's email in the header in an X header, in two ways. One as the address, but also as a hashed string (MD5 hash, et al). I also use the hash in things like the unsubscribe links instead of the email address, because I've found the email address can cause issues of encoding on the way back, so you aren't always sure what to look for. the hash doesn't cause encoding issues.
then when stuff comes back, in most cases, the X- headers come back as part of the bounce, almost as reliable as VERP. And if I can't find that, I try to find the unsubscribe/info strings in the message or footer, and see if I can find the hash. if I do, I have an easy match. Nice thing about the hash it can't be deconstructed, and it also doesn't get cloaked by privacy things, so even if you run into sites trying to do "useful" stuff with email addresses, you can still get usable information.
the only place it fails is where people mailbot stuff and don't maintain any state from the original message (and those are relatively few, at least on a site/organizational level), and first class servers, but they're hopeless anyway.
-- Chuq Von Rospach, Architech chuqui@plaidworks.com -- http://www.plaidworks.com/chuqui/blog/
Very funny, Scotty. Now beam my clothes down here, will you?