Email is nothing but plain text. There is nothing about it that needs to be "decoded" in any way unless the way it’s stored isn’t in a plain text fashion (like an Outlook OST/PST file).
Over time you may have had to change email addresses, and as such had to forward messages from your old address to your new one. When that happens, the date on the email changes because it is technically a new message at the time of send.
You can manually change the date of any email to reflect when it was originally sent. It does require doing it "by hand", and a mail client must be used for proper export/import.
Windows Live Mail, Microsoft Outlook, the old Outlook Express 6 and the latest version of Mozilla Thunderbird do allow drag-in/out copying of emails from the client to the desktop. For this example we’ll be using Windows Live Mail.
Here is what the forwarded message looks like in the inbox:
What I want to do here is change this so it reflects the original send date. To get this information, I open up the email:
The original send date was September 28, 2010 at 5:55pm. This information may not be displayed the same way in your mail client, however it will be in there somewhere.
At this point I drag the email outside of the mail client and on to the Desktop to make a copy:
…then right-click and edit with the Notepad++ text editor.
Note: It’s highly recommended you install the Notepad++ text editor as it will make this process much easier to complete, being that it inserts a right-click context menu entry so you can edit files quickly and easily. Otherwise you’ll have to launch Windows Notepad manually and manually enter in the location of the EML file you want to edit on your Desktop.
In Notepad++, search for a line that starts with Date:, like this:
The date header in email is always in the format of Abbreviated Weekday, Day of Month, Abbreviated Month, Year, 24-hour Time of receive, Time Zone.
From the time/date information I found in the email itself, it needs to be changed to September 28, 2010 @ 5:55pm, Eastern Standard Time. This would be written as:
Tue, 28 Sep 2010 17:55:00 -0400
You can find the original weekday by using your Windows Calendar (double-click the clock, adjust date to the time of original send and you’ll see the day). You can also use alternative calendars like Yahoo! Calendar if you don’t feel like using the Windows one.
Now I have this (I also removed the "Fw:" portion of the subject line):
The only other header I look for is Received:, and if I see it, I modify the dates for those as well:
Important note: "Received" may or may not be there within the email, but if it is, you’ll need to change it to match "Date", otherwise Windows Live Mail will read Received first and ignore Date completely.
Once modifications are complete, I save the file and exit the text editor.
After that, I simply drag the email file from the desktop into the mail client’s inbox, and…
Success. The email has had its date changed appropriately.
Watch for other date header types
Whenever modifying the date of an email manually in this fashion, you have to thoroughly look through the entire message while editing it to make sure all receive dates are changed to suit.
Microsoft uses "Received", but other clients may have their own custom date headers besides that. Look for any instance of a date and you’ll spot them easily.
As to why different clients use different mail headers, I have no idea. They all should use the standardized "Date" and nothing else, but don’t.
What if the email has file attachments?
You can still edit the email regardless because the mail headers are always at top. However this is even more of a reason to use Notepad++ because it can handle large text files easily. As long as you don’t touch anything in the portion of the message where the attachment is (it will look like programming code), it should remain unaffected when you import the message back into the mail client.
Does manually editing email files corrupt them?
As long as you use a text editor that’s proper for the job (again, Notepad++ to the rescue here), the message will not be corrupted.
Can I change things besides the receive date?
You can change anything you want. The ones you’ll most likely want to change are "From", "To", "Date" (obviously) and "Subject". Bear in mind that like with "Date" and "Received", you may also have to deal with additional headers depending on which mail client sent the message originally.
Is there any way to mass-change a batch of emails?
No. It must be done manually. Yes, it can be a royal pain in the neck to get done (especially if you have many messages to modify), but the manual way is the only way.
If the email account is Hotmail or Gmail via IMAP, will the new date be reflected immediately once I import the modified message into the mail client?
Yes. Both Hotmail and Gmail will read the modified date header appropriately.
Can I use this method to modify emails sent by me in the past?
If you were placed in the situation where you forwarded all your sent mails to your new email address and want to change them back to how they were originally without the forwarded information, yes you can do this. The "sent" folder is treated just like any other email folder location.
Can I use this method to send "future" emails?
No. The import of emails is completely different from the mail server actually sending them.
Once I’m happy with the modified emails I import into my client, is it safe to delete the old ones?
Yes. The messages you import will be treated as separate, so it will not affect the modified messages you import. However it is recommended that instead of deleting the old mails you move them to a backup folder just in case something goes wrong.