11.11 The qf File Internals
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 from release to
release of sendmail. Here, we document the
qf file that is used with V8.12
sendmail. Note that V8.7 introduced a
V version line that enabled later versions to
correctly process older versions' queue files.
This section must 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, by the information appropriate to the character.
The complete list of code characters is shown in Table 11-6.
Table 11-6. qf file code characters
A
|
A line
|
AUTH= parameter
|
V8.10 and above
|
At most, one
|
B
|
B line
|
Message body type
|
V8.6 and above
|
At most, one
|
C
|
C line
|
Set controlling user
|
V5.62 and above
|
At most, one per R line
|
d
|
d line
|
Data file directory
|
V8.12 and above
|
Exactly one
|
D
|
D line
|
Data filename
|
Obsolete as of V8.7
|
Exactly one
|
E
|
E line
|
Send errors to
|
V8.6 and earlier
|
Many
|
F
|
F line
|
Saved flag bits
|
V8.1 and above
|
Exactly one
|
H
|
H line
|
Header line
|
All versions
|
Many
|
I
|
I line
|
Inode and device information for the df file
|
V8.7 and above
|
Exactly one
|
K
|
K line
|
Time last processed
|
V8.7 and above
|
Exactly one
|
M
|
M line
|
Message (why queued)
|
All versions
|
Many
|
N
|
N line
|
Number of times tried
|
V8.7 and above
|
At most, one
|
P
|
P line
|
Priority (current)
|
All versions
|
At most, one
|
Q
|
Q line
|
The DSN ORCPT address
|
V8.7 and above
|
At most, one per R line
|
r
|
r line
|
Final recipient
|
V8.10 and above
|
At most, one
|
R
|
R line
|
Recipient address
|
All versions
|
Many
|
S
|
S line
|
Sender address
|
All versions
|
Exactly one
|
T
|
T line
|
Time created
|
All versions
|
Exactly one
|
V
|
V line
|
Version
|
V8.7 and above
|
Exactly one
|
Z
|
Z line
|
DSN envelope ID
|
V8.7 and above
|
At most, one
|
!
|
! line
|
Deliver-by specification
|
V8.12 and above
|
At most, one
|
$
|
$ line
|
Restore macro value
|
V8.6 and above
|
At most, one each macro
|
.
|
. line
|
End of qf file
|
V8.7 and above
|
Exactly one
|
We discuss the individual lines in the qf file by
code letters. Each letter is presented in alphabetical order rather
than the order in which they should appear in the
qf file.
|