mh-mail - message format for mh message system
mmh processes messages in a particular format. It should be noted that although neither Bell nor Berkeley mailers produce message files in the format that mmh prefers, mmh can read message files in that antiquated format.
Each user possesses a system maildrop box which initially receives all messages delivered by the MTA. Inc will read from that maildrop and incorporate the new messages found there into the user's own mail folders (typically `+inbox').
Messages are expected to consist of lines of text. Graphics and binary data are not directly handled. No data compression is accepted. All text is clear ASCII 7-bit data.
The general `memo' framework of RFC-822 is used. A message consists of a block of information in a rigid format, followed by general text with no specified format. The rigidly formatted first part of a message is called the header, and the free-format portion is called the body. The header must always exist, but the body is optional. These parts are separated by an empty line, i.e., two consecutive newline characters. Within mmh , the header and body may be separated by a line consisting of dashes:
To: Cc: Fcc: +sent Subject: --------
The header is composed of one or more header items. Each header item can be viewed as a single logical line of ASCII characters. If the text of a header item extends across several real lines, the continuation lines are indicated by leading spaces or tabs.
Each header item is called a component and is composed of a keyword or name, along with associated text. The keyword begins at the left margin, may NOT contain spaces or tabs, may not exceed 63 characters (as specified by RFC-822), and is terminated by a colon (`:'). Certain components (as identified by their keywords) must follow rigidly defined formats in their text portions.
The text for most formatted components (e.g., `Date:' and `Message-Id:') is produced automatically. The only ones entered by the user are address fields such as `To:', `Cc:', etc. Internet addresses are assigned mailbox names and host computer specifications. The rough format is `local@domain', such as `email@example.com'. Multiple addresses are separated by commas. A missing host/domain is assumed to be the local host/domain.
As mentioned above, a blank line (or a line of dashes) signals that all following text up to the end of the file is the body. No formatting is expected or enforced within the body.
Following is a list of header components that are considered meaningful to various mmh programs.
The following non-standard header components are also meaningful to mmh tools:
^/var/mail/$USER~^Location of mail drop
Standard for the Format of ARPA Internet Text Messages (RFC-822)