It is important to understand that the message itself, including both 
the headers (such as "From" and "To") and the body, can be transmitted 
in multiple ways other than Simple Mail Transfer Protocol (SMTP), and 
many of these systems, such as UUCP, were in widespread use 
historically. Because of this, it was important to the development of 
the protocols that SMTP not rely directly upon the content of the 
message, because otherwise this would lead to a dependency of one 
protocol upon the other in a way that would cascade difficulties and 
complexities should either need to be modified.

It is the responsibility of the SMTP sending software, which is called 
the Message Transfer Agent (MTA), to do any needed looking into the 
message in order to figure out how to route it, and then to furnish this 
information to the SMTP receiving software (the recipient MTA) during 
the SMTP exchange. In other words, all of the knowledge about how to 
translate between message content and message routing must be 
encapsulated within the MTA, thereby isolating it from the protocols 
themselves. Most practical MTA implementations, such as Sendmail and 
Exim, keep the message data and its routing information in separate 
files linked together in the queue by a local message identifier tag.

Conceptually, SMTP is analogous to a postman looking only at the 
envelope rather than what is inside, and for this reason the routing 
information conveyed during the SMTP exchange is known as "envelope" 
information. Exactly how this happens is specified by the SMTP standard, 
the best authoritative source for which is probably RFC5321 -- 
https://tools.ietf.org/html/rfc5321 -- although there is also a decent 
Wikipedia article about it that might be much easier reading:

     
https://secure.wikimedia.org/wikipedia/en/wiki/Simple_Mail_Transfer_Protocol

Internet Message Format (IMF) is likewise specified by RFC5322 -- 
https://tools.ietf.org/html/rfc5322 -- although there is also a 
Wikipedia article about e-mail generally that contains a major section 
about IMF:

     
https://secure.wikimedia.org/wikipedia/en/wiki/Email#Internet_Message_Format

Typical MTAs use heuristics that may modify how they add headers to 
messages they carry. In particular, most MTAs are configured to state 
explicitly the recipient e-mail address provided by the sending MTA 
envelope information in writing the "Received" header they prepend, but 
generally will not do this if it would compromise privacy, as when the 
message has multiple recipients handled by the same receiving MTA. 
Spammers can take advantage of these practices by adding bogus 
recipients at the same domain or omitting the real recipient from the 
"To" or "Cc" headers, triggering the receiving MTA to handle the message 
like a "Bcc" and put less information into the "Received" header that it 
prepends.

-- Mike


On 2011-11-06 11:26, Michael ODonnell wrote:
>
> Yah, I had believed that the headers were consulted (rather
> than merely updated) as the message was transferred from server
> to server, but there's apparently some other (or additional)
> conversation taking place between the servers that governs routing.
>
> Yet more stuff to put on my list of things-to-read...
>

_______________________________________________
gnhlug-discuss mailing list
gnhlug-discuss@mail.gnhlug.org
http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss/

Reply via email to