09 July 2017

Email: Eliminate confusion between the concepts of «MAIL FROM» and «From»

Looking through various articles I was confused by different names of From-headers of email. Now I want to put all aliases of FROM and TO headers into one table.
First of all it is necessary to understand that email consists of two parts: «envelope» and «content». Quotation from RFC5322:
«In the context of electronic mail, messages are viewed as having an envelope and contents. The envelope contains whatever information is needed to accomplish transmission and delivery. (See [RFC5321] for a discussion of the envelope.)  The contents comprise the object to be delivered to the recipient.  This specification applies only to the format and some of the semantics of message contents.  It contains no specification of the information in the envelope.»

Each of parts contains its own FROM and TO headers/fields. In fact, there are many other headers (sender, cc, bcc and etc.), I will not consider them all, so read the RFC.
A content part consists of two sections: «header» and «body». Quotation from RFC5321:
«The SMTP content is sent in the SMTP DATA protocol unit and has two parts: the header section and the body. If the content conforms to other contemporary standards, the header section consists of a collection of header fields, each consisting of a header name, a colon, and data, structured as in the message format specification (RFC 5322 [4]); the body, if structured, is defined according to MIME (RFC 2045 [21]).»


For clarity, I presented the email format graphically (very primitively):


Here is a table with different names of fields FROM and TO. I think the most correct name with RFC (RFC5321.MailFrom, RFC5322.From and etc.).

Part
Command / format
Aliases
Envelope
MAIL FROM:<reverse-path> [SP <mail-parameters> ] <CRLF>
RFC5321.MailFrom
Envelope from
Envelope sender
5321.From
2821 FROM
Return-Path
Reverse path
Bounce address
Mfrom
RCPT TO:<forward-path> [ SP <rcpt-parameters> ] <CRLF>
RFC5321.RcptTo
Envelope recipient
Content
Header section
"From:" mailbox-list CRLF
RFC5322.From
Letter from
Message from
Header from
5322.From
Friendly from
"To:" address-list CRLF
RFC5322.To
Letter to
Message to
Header to
"Cc:" address-list CRLF
RFC5322.Cc
Carbon Copy
"Bcc:" [address-list / CFWS] CRLF
RFC5322.Bcc
Blind Carbon Copy


No comments:

Post a Comment