There is no such thing as a “received date”. Not in the standards, anyway. Is this a quibbling technicality? An omission?

Nope. And I’ll tell you why. Why? Because the date of a message matters. It matters more than it probably should, with the advent of email forensics, being that the date is inconsistently defined across email clients, and being that it is easily forged. Still, the date of a message is good enough for most purposes, as long as you understand what it means and where it came from.

First, let me tell you that the “Date:” header field in the RFC-2822 header of every message is the “origination date” field. From section 3.6.1 of the specification:

“The origination date specifies the date and time at which the creator of the message indicated that the message was complete and ready to enter the mail delivery system. For instance, this might be the time that a user pushes the “send” or “submit” button in an application program. In any case, it is specifically not intended to convey the time that the message is actually transported, but rather the time at which the human or other creator of the message has put the message into its final form, ready for transport.”

Note there is significant leeway given here to what event the Date field can represent. In practice, this date is usually when the user hits “Send”, but I’ve seen it also implemented to be the time of message creation — even if the message is sent days later. I argue the latter case is an incorrect usage of the Date field, but that doesn’t stop it from happening.

Now consider if there is an error the first time I hit “Send” — or if it takes a really long time to send. My point is that it’s difficult to build a science around the meaning of this Date. All you can really derive is that the Date header represents when the sender intended to send the message.

True, it often does has some correlation to when the message was actually delivered to a mail server for delivery, but its frame of referential consistency is extremely limited. What I mean by that is that if you were to sequence the messages of multiple users — or even the same user who uses different email accounts or email client programs — the sequence could not be considered scientifically sound. At best, you have a sequence of intents, not events.

I’ll talk more about the Myth of the Received Date and how some applications choose to derive a date of message receipt in Part 2. In the meantime, try a few experiments yourself to determine how accurate the Date header reflects what you consider to be the “sent date” of a message. I suggest trying this with accounts on different domains or even different hosting providers and with different email clients.

Tagged on: