(Yes, I’m back, and working through the backlog.)
It seems to me that email bounce messages have been rendered next to useless by viruses and other email-borne malware either forging From: addresses (thereby landing you with all the bounces for the bad email addresses it has collected) or even using fake bounce messages as a vector. The volume of bad bounces I get has reached such a level that (I suspect) the Bayesian filtering system in my copy of Mozilla Mail has started to recognise characteristics of a bounce message as spam-likely. So, any genuine bounces may well get sent to my spam folder. And, when I clean it out, I can’t recognise which bounces might be genuine except by reading every one, because the bounce message does not have the same subject line as the original.
Thought: would it be possible to implement an extension to Thunderbird which recognised genuine bounce messages and flagged them up? The only way I can see this working is by correlating the recipient to which the bounce message relates against the To/CC/BCC headers of recently-sent email.
The problem is that, as far as I can see, there’s no standard header in bounce messages which tells you the failed email address. Even the From: address of the bounce isn’t guaranteed to be at the same domain.
For example, if you send mail to email@example.com, then you’ll get a bounce message back from Mail Delivery System <Mailer-Daemon@tuschin.blackcatnetworks.co.uk> – nothing to do with gerv.net. The only new header seems to be X-Failed-Recipients: firstname.lastname@example.org – again, you can’t get email@example.com from that.
Sometimes, you do get a full copy of the original message, so in that case you can grep for the To or CC lines. But I think that, even for those MTAs which send you back a copy, some send it back inline and others as an attachment. More places to look. Of course, if we signed all our email, we could look for our own signature on the bounced copy…
I suspect one would be reduced to parsing the body and looking for common text for each major brand of mail server software (“Your message to firstname.lastname@example.org has…”). But, given that such messages are customisable and localisable, that also seems to me like a hiding to nothing.
Do we need an X-Failed-Recipient: header which gives the exact original email address from the To:/CC:/envelope? That way, fake bounces could be binned.
Even if we had that, we also still have the problem of defining “recently sent email”. I have two machines from which I access my IMAP accounts. They have different address books, and Collected Addresses. The only way to know who I’ve emailed in the past week is to search my sent-mail folder. This is all beginning to sound like a Fairly Hard Problem.