All About Email Standards
Dont miss a chanceSee details
Message Body and Attachments
Interoperable messaging requires that the message be easily distinguishable from other related information that travels with the message. There are always headers, as we see in the next section, but message attachments are another important feature of Internet messaging. Message attachments have long challenged implementers as well as users. Sending attachments to messages through centralized proprietary email systems is not always easy, and sending attachments across email gateways can sometimes be (or at least seem) hopeless.
Determining where the message begins and ends is important, as is figuring out mechanisms for attaching non character-based files. Although character-based files can be relatively easy to translate across system boundaries, binaries are more problematic. Some systems want to treat all data as character-based data and, as a result, can truncate bytes and change their meaning. Email implementers have attempted to solve this problem in many different ways over the years.
How to format message information necessary for delivery is another important issue related to message formatting. Somehow, all the systems involved in handling email must understand what they are supposed to do with the message. The most important piece of information is the message destination, but other bits of information are relevant to the delivery, handling, and response to the message.
A minimal set of basic email functions is defined by what information is required and permitted in the headers. Closed-system incompatibilities often stem from differences in the way functions are supported in the headers. For example, return receipt deliveries—a message is returned to the sender when the recipient of a message receives and opens a message—have long been a part of proprietary email systems, but they have long been missing from Internet standard email.
Open-standard messaging headers must include provisions for every piece of data necessary. They must also not include anything that all participating systems can’t handle. All systems should be able to interpret, add to, modify, and respond to all headers as needed to deliver messages.