Table 11-2 shows the parts of a queued message.
Table 11-3 shows the meaning of each line in the
qf
file, by key letter.
When a message is stored in the queue, it
is split into pieces. Each piece is
stored as a separate file in the queue directory. That is, the header
and other information about the message are stored in one file, while
the body (the data) is stored in another. All told, eight different
types of files can appear in the queue directory. The type of each is
indicated by the first two letters of the filename, which begins with
a single letter followed by an f
character. The
complete list is shown in Table 11-2.
Table 11-2. Queue file types
File |
sendmail text reference |
Description |
---|---|---|
|
11.2.2[3ed] |
Data (message body) |
|
11.2.3[3ed] |
Lock file (obsolete and removed as of V5.62) |
|
11.2.4[3ed] |
ID creation file (obsolete and removed as of V5.62) |
|
11.2.6[3ed] |
Temporary |
|
11.2.7[3ed] |
Transcript file |
|
11.2.5[3ed] |
Queue control file (and headers) |
|
11.5[3ed] |
|
|
Section 11.1.2 [V8.13] |
|
The complete form for each filename is:
X
fident
The X
is one of the leading letters shown
in Table 11-2. The f
is the
constant letter f
. The
ident
is a unique queue identifier
associated with each mail message.
The qf file holds all the information
that is
needed to perform delivery of a queued mail message. The information
contained in that file, and its appearance, changes in various
releases of sendmail. Here, we document the
qf file that is used with V8.13
sendmail. Note that V8.7 introduced a
V
version line that enabled later versions to
correctly process older versions’ queue files.
This section should be taken with a proverbial grain of salt. The internals of the qf file are essentially an internal interface to sendmail and, as such, are subject to change without notice. The information offered here is intended only to help debug sendmail problems. It is not intended (and we strongly discourage its use) as a guide for writing files directly to the queue.
The qf file is line oriented, containing one item of information per line. Each line begins with a single character (the “code” character), which specifies the contents of the line. Each code character is followed, with no intervening space,[16] by the information appropriate to the character. The complete list of code characters is shown in Table 11-3.
Table 11-3. qf file code characters
Code |
sendmail text reference |
Meaning |
How many lines |
---|---|---|---|
|
11.11.1[3ed] |
AUTH= parameter |
At most, one |
|
11.11.2[3ed] |
Message body type |
At most, one |
|
11.11.3[3ed] |
Set controlling user |
At most, one per R line |
|
11.11.4[3ed] |
Data file directory |
Exactly one |
|
11.11.5[3ed] |
Data filename |
Exactly one |
|
11.11.6[3ed] |
Send errors to |
Many |
|
11.11.7[3ed] |
Saved flag bits |
Exactly one |
|
11.11.8[3ed] |
Header line |
Many |
|
11.11.9[3ed] |
Inode and device information for the df file |
Exactly one |
|
11.11.10[3ed] |
Time last processed |
Exactly one |
|
11.11.11[3ed] |
Message (why queued) |
Many[a] |
|
11.11.12[3ed] |
Number of times tried |
At most, one |
|
11.11.13[3ed] |
Priority (current) |
At most, one |
|
Section 11.1.5 [V8.13] |
Why the envelope was quarantined |
At most, one |
|
11.11.14[3ed] |
The DSN ORCPT address |
At most, one per R line |
|
11.11.15[3ed] |
Final recipient |
At most, one per R line |
|
11.11.16[3ed] |
Recipient address |
Many |
|
11.11.17[3ed] |
Sender address |
Exactly one |
|
11.11.18[3ed] |
Time created |
Exactly one |
|
11.11.19[3ed] |
Version |
Exactly one |
|
11.11.20[3ed] |
DSN envelope ID |
At most, one |
|
11.11.21[3ed] |
Deliver-by specification |
At most, one |
|
11.11.22[3ed] |
Restore macro value |
At most, one per macro |
. |
11.11.23[3ed] |
End of qf file |
Exactly one |
[a] Prior to V8.12, there could be only a single
|
[16] Except the
H
(header) lines, which can be multiline, while
header continuation lines do not begin with a character code and may
indeed have intervening spaces at the beginning of each continuation
line.
3.137.187.233