Message ID

from Wikipedia, the free encyclopedia

A Message-ID is a globally unique identifier of an e-mail message or a Usenet - postings . This is generated either by the sending email  or newsreader or by the SMTP or NNTP server used.

construction

Message IDs consist of two parts, connected by an @ sign. This means that their appearance is similar to the format of e-mail addresses, but with which they must not be confused.

To ensure the worldwide uniqueness of a message ID, RFC 5322 recommends the following procedure:

  • A domain name or a globally unique IP address forms the part to the right of the @ sign. This can be the fully qualified host name of the sending computer, or any other domain for which the sender can guarantee the global uniqueness of the message ID.
  • From the current date, the time and other locally available data (e.g. a simple counter, the process ID or the like), a character string is formed which, at least on the host , must never be repeated. This string forms the part to the left of the @ sign.

This procedure is only recommended, not mandatory. In practice, the domain of the sender address is often - but not always - used for the right part, while the left part is a random UUID or another (pseudo) random string that - without knowledge of the generating algorithm - does not allow any conclusions on the send time or other internals of the sending host. Message IDs generated in this way (pseudo-) randomly are no longer guaranteed to be unique , but they have a very high probability .

In contrast to e-mail addresses, the left part of a message ID may only consist of one or more "words" made up of ASCII letters or numbers or the following ASCII special characters:

! # $ % & ' * + - / = ? ^ _ ` { | } ~

These "words" are separated .from each other by a .

Message IDs have no explicit minimum or maximum length. They should therefore be as long as necessary (in order to be guaranteed or with a high degree of probability unique and unique worldwide), but also short as possible for reasons of rationality. However, a message ID must fit in a header line, since no line break may be inserted within a message ID. Due to the recommendation of 78 characters per header line, there is indirectly a recommended maximum length for a message ID of 75 characters.

The equality comparison of two message IDs should be "case-sensitive". However, out of consideration for old / faulty mail programs, it is recommended not to generate message IDs that differ only in their upper and lower case.

Examples

Examples of valid and invalid message IDs
Message ID Valid Remarks
20180429-114054033-4711@wiki.example Yes Message-ID, the left part apparently as a time stamp, and process ID, RFC 5322 was formed as described
bde36ec8-9710-47bc-9ea3-bf0425078e33@wiki.example Yes Usual message ID, the left part of which was formed from a (pseudo-) random UUID
&X~hu=8Fw#G?on%#Gf//!2Yeb@wiki.example Yes unusual, but syntactically correct message ID
msg-"pa4gX..T0VY6yF"@wiki.example outdated No longer corresponds to the syntax for message IDs, but was allowed under earlier RFCs and should therefore still be accepted by parsers.
pa4gXT0V..Yf16yF:G6@wikipedia.example No two consecutive points in the left part are not allowed, nor are the colon.

use

Message IDs are usually enclosed in <>. However, these delimiters do not belong to the actual message ID.

A message has its own message ID in the header line of the same name . The message IDs of the messages to which the message relates are in the References or Reply-To header line. With the help of this information, an e-mail or Usenet program can group the messages for the corresponding replies ( threading ).

Up until 2013, Google Groups made it possible to search for Usenet postings with a given message ID in the “Advanced Groups Search”.

Even today it is still possible to search for Usenet postings with the help of their message ID via Google Groups by immediately preceding the MID with a "messageid:" (without the quotation marks) in the search field.

To identify message IDs from Usenet postings, they are actually prefixed with “news:”.

The Message-ID header line is already mentioned in RFC 724 .

Web links

Individual evidence

  1. Sqwertz: Google Advanced Search Gone . In: news.software.readers. 3rd November 2013.