Beginning with V8.7,
sendmail looks for its datafile (the file
containing the message body) under the same name as its
qf file, but with the q changed
into a d. Prior to V8.7, the D
line in the qf file contained the name of the file
that contained the message body. If the D line was
missing, there was no message body. The form of the
qf file D line was:
Dfile
The D must begin the line. The
file must immediately follow with no
intervening space. All text, from the first character following the
D to the end of the line, is taken as the name of
the file. There is no default for file;
either it must be present, or the entire D line
must be absent.
The sendmail program opens the
df file for reading. If
that open fails, sendmail
syslog(3)s the following error message at
LOG_CRIT and continues to process the qf file:
readqf: cannot open dfAA12345
Be aware that sendmail attempts to remove the
file after it has been delivered to all
recipients. If sendmail is unable to remove the
file, and if the LogLevel
option (LogLevel) is greater than 97,
sendmail syslog(3)s the
following warning at LOG_DEBUG:
file: unlink-fail #
The file is the name of the file that
could not be removed. The # is the error
number, as defined in /usr/include/errno.h.
The df file is opened only when processing the
queue file, not when printing it. When printing the queue, the
df is stated so that its size
can be printed.