3 qmail-header \- format of a mail message
5 At the top of every mail message is a
8 Many programs expect the header to carry certain information,
12 is to make sure that each outgoing message has an appropriate header.
14 For more detailed information, see
15 .BR http://pobox.com/~djb/proto/immhf.html .
16 .SH "MESSAGE STRUCTURE"
17 A message contains a series of
24 Received: (qmail-queue invoked by uid 666);
26 30 Jul 1996 11:54:54 -0000
28 From: djb@silverton.berkeley.edu (D. J. Bernstein)
30 To: fred@silverton.berkeley.edu
32 Date: 30 Jul 1996 11:54:54 -0000
38 I've got money on this one. How about you?
42 ---Dan (this is the third line of the body)
45 Each header field has a
56 The field contents may be folded across several lines.
57 Each line past the first must begin with a space or tab:
60 Received: (qmail-queue invoked by uid 666);
62 30 Jul 1996 11:54:54 -0000
65 The field name must not contain spaces, tabs, or colons.
66 Also, an empty field name is illegal.
68 does not allow field names with unprintable characters.
70 Case is irrelevant in field names:
76 have the same meaning.
78 Certain fields, such as
83 An address list contains some number of
90 a@b, c@d (Somebody), A Person <e@f>,
92 random group: g@h, i@j;, k@l
97 has some text, a colon, a list of addresses,
101 random group: g@h, i@j;
104 An address can appear in several forms.
105 The most common form is
108 Every address must include a host name.
113 .I default host name\fR.
115 All host names should be fully qualified.
118 .I default domain name
119 to any name without dots:
122 djb@silverton -> djb@silverton.berkeley.edu
128 that ends with a plus sign:
131 eric@mammoth.cs+ -> eric@mammoth.cs.berkeley.edu
134 A host name may be a dotted-decimal address:
140 RFC 822 allows mailbox names inside angle brackets
145 strips all source routes out of addresses.
146 .SH "SENDER ADDRESSES"
148 looks for sender address lists in the following fields:
153 .BR Return-Receipt-To ,
157 .BR Resent-Reply-To .
165 field with the name of the user invoking
168 RFC 822 requires that certain sender fields contain
169 only a single address, but
171 does not enforce this restriction.
172 .SH "RECIPIENT ADDRESSES"
174 looks for recipient address lists in the following fields:
183 Every message must contain at least one
202 Cc: recipient list not shown: ;
205 This complies with RFC 822;
206 it also works around some strange
208 behavior, in case the message is passed through
212 Every message must contain a
214 field, with the date in a strict format defined by RFC 822.
219 field with the current date (in GMT).
221 Every message should contain a
224 The field contents are a unique worldwide identifier for this message.
231 Another important field is
233 Every time the message is sent from one system to another,
236 field is added to the top of the message.
241 .SH "RESENT MESSAGES"
244 if it contains any of the following fields:
247 .BR Resent-Reply-To ,
252 .BR Resent-Message-ID .
254 If a message is resent,
256 changes its behavior as follows.
260 field (as well as any
299 if one is not already present;
301 .BR Resent-Message-Id .
310 Addresses are separated by commas, not spaces.
313 sees an illegal space,
317 djb fred -> djb, fred