Email Message Id Header Format For Essay

The Content-Transfer-Encoding header field can describe the following information about a message:

  • The encoding algorithm that was used to transform any non-US-ASCII text or binary data that is located in the message body

  • An indicator that describes the current condition of the message body

There can be many values of the Content-Transfer-Encoding header field in a MIME message. When the Content-Transfer-Encoding header field appears in the message header, it applies to the whole body of the message. When the Content-Transfer-Encoding header field appears in one of the parts of a multipart message, it applies only to that part of the message.

The purpose of ncoding is to convert the data into US-ASCII. This is required so that data can pass through an SMTP host successfully. Many old SMTP messaging servers support only US-ASCII messages.

The following values of Content-Transfer-Encoding can be used in Internet SMTP messages:

  • 7-bit encoding mechanism

  • Base64 and quoted-printable (encoding schemes that make sure that the content will correctly pass through all messaging servers)

  • 8-bit and Binary content-transfer (defined to explicitly identify content that may require processing or encoding before it is packaged for Internet transfer)

Base64

The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that is not humanly readable. The encoding and decoding algorithms are simple, but the encoded data is about 33 percent larger than the unencoded data. The encoding is almost identical to the encoding that is used in Privacy Enhanced Mail (PEM) applications.

Note:
The Base64 encoding is adapted from RFC 1421. However, Base64 eliminates the "*" mechanism for embedded clear text.

For more information, see RFC 1421.

Base64 processes data as 24-bit groups. The data is mapped to four encoded characters. It is sometimes referred to as 3-to-4 encoding. Each 6-bit group of the 24-bit group is used as an index to a mapping table, known as the Base64 alphabet, to obtain a character for the encoded data. The encoded data has line lengths limited to 76 characters.

The following figure shows the US-ASCII code chart.

Figure US-ASCII code chart

US-ASCII characters are represented in binary equivalent as b7b6b5b4b3b2b1.

For more information, see the following topic on the Wikipedia Web site: ASCII.

The following example shows the conversion to Base64 for the three US-ASCII characters, XCO.

  1. Find the binary equivalent (the table is 7-bit but it has to be represented in eight bits)

    X is 01011000

    C is 01000011

    O is 01001111

  2. Represent the binary data from left to right

    XCO will be represented as 010110000100001101001111

  3. Divide the binary data into groups of six:

    010110 000100 001101 001111

  4. Convert the six-bit groups to a decimal value. In this example, the decimal values are as follows:

    22 4 13 15

  5. Look up the decimal values in the Base64 alphabet table to determine the Base64 equivalent:

    W E N P

In this example, the Base64 encoding data for the three US-ASCII characters XCO is WENP.

The following figure shows the Base64 character table:

Figure Base64 character table

For more information, see the following topic on the Wikipedia Web site: Base64.

Padding

Padding is a special processing that is performed if fewer than 24 bits exist at the end of the data that is being encoded in Base64. A full encoding quantum is always completed at the end of a body. When there are fewer than 24 input bits available in an input group, zero bits are added (on the right) to form an integral number of 6-bit groups. Padding at the end of the data is performed by using the '=' character.

Because all Base64 input is an integral number of octets, only the following cases can occur:

  • The final quantum of encoding input is an integral multiple of 24 bits, and the final unit of encoded output will be an integral multiple of 4 characters without '=' padding

  • The final quantum of encoding input is exactly 8 bits, and the final unit of encoded output will be two characters followed by two '=' padding characters

  • The final quantum of encoding input is exactly 16 bits, and the final unit of encoded output will be three characters followed by one '=' padding character

Quoted-printable

Quoted-printable encoding is intended to represent data that largely consists of octets that correspond to printable characters in the ASCII character set. It encodes the data in such a way that the resulting octets are unlikely to be modified by mail transport. If the data being encoded is mostly ASCII text, the encoded form of the data remains largely recognizable by humans. A body that is entirely ASCII may also be encoded in Quoted-Printable. This helps the integrity of the data if the message passes through a character-translating or line-wrapping gateway. All printable US-ASCII text characters except the equal sign (=) can be represented without encoding.

For example, consider the following text:

Please consider the environment before printing this e-mail. Please consider the environment before printing this e-mail. Please consider the environment before printing this e-mail.

This text can be represented in the Quoted Printable encoding as follows:

Please consider the environment before printing this e-mail. Please conside=

r the environment before printing this e-mail. Please consider the environm=

ent before printing this e-mail

Due to soft line breaks, the Quoted-Printable encoding requires that encoded lines be no more than 76 characters long.

Warning:
The 76 character limit does not count the trailing CRLF but does count all other characters, including the equal sign.

When an encoding algorithm is not used on the message body, the Content-Transfer-Encoding header field identifies the current condition of the message body data.

7-bit

This value indicates that the message body data is already in the RFC 2822 format. Specifically, this means that the following conditions must be true:

  • All lines of text must be less than 998 characters long.

  • All characters must be US-ASCII text that has character values 1 through 127, inclusive.

  • The CR and LF characters can be used together only to indicate the end of a line of text.

The whole message body may be 7-bit, or part of the message body in a multipart message may be 7-bit. If the multipart message contains other parts that have any binary data or non US-ASCII text, that part of the message must be encoded using the Quoted-printable or Base64 encoding algorithms.

Note:
Messages that have 7-bit bodies can travel between SMTP messaging servers by using the standard DATA command.

Figure Message submitted using Data command

8-bit

This value indicates that the following conditions must be true:

  • All lines of text must be less than 998 characters long.

  • All characters must be US-ASCII texts that have character values 1 through 127, inclusive.

  • The CR and LF characters can be used together only to indicate the end of a line of text.

The whole message body may be 8-bit, or part of the message body in a multipart message may be 8-bit. If the multipart message contains other parts that have any binary data or non US-ASCII text, that part of the message must be encoded using the Quoted-printable or Base64 encoding algorithms.

Note:
Messages that have 8-bit bodies can only travel between SMTP messaging servers that support the 8BITMIME SMTP extension as defined in RFC 1652, such as Exchange 2000 Server or later versions.

Specifically, this means that the following conditions must be true:

  • The 8BITMIME keyword must be advertised in the server's EHLO response.

  • Messages are still transferred by using the SMTP standard DATA command. However, the BODY=8BITMIME parameter must be added to the end of the MAIL FROM command.

The following example shows an 8-bit MIME message.

Figure A message delivery of 8-bit MIME message

Binary

This value indicates that the message body contains non-US-ASCII text or binary data. Specifically, this means that the following conditions are true:

  • Any sequence of characters is permitted.

  • There is no line length limitation.

  • Binary message elements do not require encoding.

Messages that have binary bodies can travel only between SMTP messaging servers that support the BINARYMIME SMTP extension as defined in RFC 3030. For example, Exchange 2000 Server or a later version.

Specifically, this means that the following conditions must be true:

  • The BINARYMIME keyword must be advertised in the server's EHLO response.

  • The BINARYMIME SMTP extension can only be used with the CHUNKING SMTP extension. Chunking enables large message bodies to be sent in multiple, smaller chunks. Chunking is also defined in RFC 3030. The CHUNKING keyword must also be advertised in the server's EHLO response.

  • Messages are transferred by using the BDAT command instead of the standard DATA command.

  • The BODY=BINARYMIME parameter must be added to the end of the MAIL FROM command if the message has a message body.

Note:
Binary encoded messages are not valid Internet messages.

The following example shows a message that is sent by using the BDAT with chunking.

Figure Example of BDAT with chunking

The following example shows a message that is sent by pipelining Binary MIME.

Figure Example of pipelining Binary MIME

The following list describes the key points of Content-Transfer-Encoding:

  • The 7-bit, 8-bit, and Binary values never exist together in the same multipart message. The values are mutually exclusive.

  • The Quoted-Printable or Base64 values may appear in a 7-bit or 8-bit multipart message body, but never in a binary message body.

  • If a multipart message body contains different parts that are composed of 7-bit and 8-bit content, the whole message is classified as 8-bit.

  • If a multipart message body contains different parts composed of 7-bit content, 8-bit content, and binary content, the whole message is classified as binary.

Content-Disposition

The Content-Disposition header field instructs a MIME-enabled e-mail client how it should display an attached file. The values of this field may be Inline or Attachment.

When the value of this field is Inline, the attachment is displayed in the message body.

When the value of this field is Attachment, the attached file appears as a regular attachment that is separate from the message body. Other parameters are available when the value is Attachment, including Filename, Creation-date, and Size.

This header is ignored when it appears in multipart/related body parts.

This header cannot contain any comments.

The following example shows a message that has an attachment.

Figure An example of a message that has an attachment

The following example shows a Content-Disposition header field.

Figure Content-Disposition header highlighted in the message source

Message-ID is a unique identifier for a digital message, most commonly a globally unique identifier used in email and Usenet newsgroups.[1]

Message-IDs are required to have a specific format which is a subset of an email address[2] and to be globally unique. That is, no two different messages must ever have the same Message-ID. A common technique used by many message systems is to use a time and date stamp along with the local host's domain name, e.g., 950124.162336@example.com.[3] On the other hand, if two messages have the same Message-ID, they are presumed to be the same one and one version is discarded. But, as Google MTAs (message transfer agents) mangle the ones of Outlook, several same messages may coexist with original and mangled ones and create problems in referencing each other for threading[citation needed].

Message-IDs, if present, are generated by the client program sending the email (mail user agent, or MUA) or by the first mail server (mail submission agent, or MSA).[4]

Mails to public mailing-lists and news groups can be found via their Message-ID by using links from various services:

http://mid.gmane.org/alpine.BSF.2.00.1004291655110.61392@x.fncre.vasb http://news.gmane.org/find-root.php?message_id=alpine.BSF.2.00.1004291655110.61392@x.fncre.vasb https://marc.info/?i=Prayer.1.0.18.0811191202370.4107@sabinus.cs.umn.edu http://mid.mail-archive.com/9dc4201d0807272359r1f0ad9d6ta44f31f439de58b7@mail.gmail.com https://www.freebsd.org/cgi/mid.cgi?db=mid&id=199802242058.MAA24843@monk.via.net https://lists.debian.org/msgid-search/20050606213954.GC884@finlandia.infodrom.north.de http://lists.debconf.org/cgi-lurker/keyword.cgi?doc-url=/lurker&format=en.html&query=id:87vey4ogcj.fsf@vorlon.ganneff.de https://www.w3.org/mid/alpine.BSF.2.00.1004291655110.61392@x.fncre.vasb http://www.postgresql.org/message-id/20060419051850.96025.qmail@web31802.mail.mud.yahoo.com http://public-inbox.org/git/Pine.LNX.4.58.0504150753440.7211@ppc970.osdl.org http://article.olduse.net/40478%40ucbvax.BERKELEY.EDU http://al.howardknight.net/msgid.cgi?STYPE=msgid&A=0&MSGI=<usenet-hier-faq-1516003264%246620%40hope.eyrie.org>

See also[edit]

References[edit]

Categories: 1

0 Replies to “Email Message Id Header Format For Essay”

Leave a comment

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *