So every mail header in the world should represent:
Date: Thu, 17 May 2012 08:36:04 -0700 (PDT)
as
Date: 1337268964
because no one needs to look at mail headers and it should be the job of the user's mail reader to display it in a human readable form? I do not think it is so black and white. In the case of mail headers, the benefit of keeping the timestamps human readable outweighs the programmer cost for parsing them correctly.
"no one needs to look at mail headers and it should be the job of the user's mail reader to display it in a human readable form".
Exactly...
Who reads email headers? Maybe some server admin who's going through some backups of emails looking for something. He might even appreciate having a date format that's lexicographically ordered for his searching purposes.
Having a human readable date is like changing HTTP Content-Length to say "one million four hundred and fifty thousand and sixty four" so that when I'm reading through my raw server logs I can easily see the magnitude of the length of the responses.