test data. A line history is supported.
.sp
Long expansion expressions can be split over several lines by using backslash
-continuations. As in Exim's run time configuration, white space at the start of
+continuations. As in Exim's runtime configuration, white space at the start of
continuation lines is ignored. Each argument or data line is passed through the
string expansion mechanism, and the result is output. Variable values from the
configuration file (for example, \fI$qualify_domain\fP) are available, but no
files or databases you are using, you must exit and restart Exim before trying
the same lookup again. Otherwise, because each Exim process caches the results
of lookups, you will just get the same result as before.
+.sp
+Macro processing is done on lines before string\-expansion: new macros can be
+defined and macros will be expanded.
+Because macros in the config file are often used for secrets, those are only
+available to admin users.
.TP 10
\fB\-bem\fP <\fIfilename\fP>
This option operates like \fB\-be\fP except that it must be followed by the name
If \fBconfig\fP is given as an argument, the config is
output, as it was parsed, any include file resolved, any comment removed.
.sp
-If \fBconfig_file\fP is given as an argument, the name of the run time
+If \fBconfig_file\fP is given as an argument, the name of the runtime
configuration file is output. (\fBconfigure_file\fP works too, for
backward compatibility.)
If a list of configuration files was supplied, the value that is output here
are available, similarly to the drivers. Because macros are sometimes used
for storing passwords, this option is restricted.
The output format is one item per line.
+For the "\-bP macro <name>" form, if no such macro is found
+the exit status will be nonzero.
.TP 10
\fB\-bp\fP
This option requests a listing of the contents of the mail queue on the
admin user. However, the \fBqueue_list_requires_admin\fP option can be set false
to allow any user to see the queue.
.sp
-Each message on the queue is displayed as in the following example:
+Each message in the queue is displayed as in the following example:
.sp
25m 2.9K 0t5C6f\-0000c8\-00 <alice@wonderland.fict.example>
red.king@looking\-glass.fict.example
<other addresses>
.sp
-The first line contains the length of time the message has been on the queue
+The first line contains the length of time the message has been in the queue
(in this case 25 minutes), the size of the message (2.9K), the unique local
identifier for the message, and the message sender, as contained in the
envelope. For bounce messages, the sender address is empty, and appears as
of just "D".
.TP 10
\fB\-bpc\fP
-This option counts the number of messages on the queue, and writes the total
+This option counts the number of messages in the queue, and writes the total
to the standard output. It is restricted to admin users, unless
\fBqueue_list_requires_admin\fP is set false.
.TP 10
\fB\-bpr\fP
This option operates like \fB\-bp\fP, but the output is not sorted into
chronological order of message arrival. This can speed it up when there are
-lots of messages on the queue, and is particularly useful if the output is
+lots of messages in the queue, and is particularly useful if the output is
going to be post\-processed in a way that doesn't need the sorting.
.TP 10
\fB\-bpra\fP
number, and compilation date of the \fIexim\fP binary to the standard output.
It also lists the DBM library that is being used, the optional modules (such as
specific lookup types), the drivers that are included in the binary, and the
-name of the run time configuration file that is in use.
+name of the runtime configuration file that is in use.
.sp
As part of its operation, \fB\-bV\fP causes Exim to read and syntax check its
configuration file. However, this is a static check only. It cannot check
which the daemon will exit, which should cause inetd to listen once more.
.TP 10
\fB\-C\fP <\fIfilelist\fP>
-This option causes Exim to find the run time configuration file from the given
+This option causes Exim to find the runtime configuration file from the given
list instead of from the list specified by the CONFIGURE_FILE
-compile\-time setting. Usually, the list will consist of just a single file
-name, but it can be a colon\-separated list of names. In this case, the first
+compile\-time setting. Usually, the list will consist of just a single filename,
+but it can be a colon\-separated list of names. In this case, the first
file that exists is used. Failure to open an existing file stops Exim from
proceeding any further along the list, and an error is generated.
.sp
running as the Exim user, so when it re\-executes to regain privilege for the
delivery, the use of \fB\-C\fP causes privilege to be lost. However, root can
test reception and delivery using two separate commands (one to put a message
-on the queue, using \fB\-odq\fP, and another to do the delivery, using \fB\-M\fP).
+in the queue, using \fB\-odq\fP, and another to do the delivery, using \fB\-M\fP).
.sp
If ALT_CONFIG_PREFIX is defined in Local/Makefile, it specifies a
prefix string with which any file named in a \fB\-C\fP command line option
-must start. In addition, the file name must not contain the sequence /../.
+must start. In addition, the filename must not contain the sequence /../.
However, if the value of the \fB\-C\fP option is identical to the value of
CONFIGURE_FILE in Local/Makefile, Exim ignores \fB\-C\fP and proceeds as
usual. There is no default setting for ALT_CONFIG_PREFIX; when it is
-unset, any file name can be used with \fB\-C\fP.
+unset, any filename can be used with \fB\-C\fP.
.sp
ALT_CONFIG_PREFIX can be used to confine alternative configuration files
to a directory to which only root has access. This prevents someone who has
local_scan can be used by local_scan()
lookup general lookup code and all lookups
memory memory handling
- pid add pid to debug output lines
+ noutf8 modifier: avoid UTF\-8 line\-drawing
+ pid modifier: add pid to debug output lines
process_info setting info for the process log
queue_run queue runs
receive general message reception logic
retry retry handling
rewrite address rewriting
route address routing
- timestamp add timestamp to debug output lines
+ timestamp modifier: add timestamp to debug output lines
tls TLS logic
transport transports
uid changes of uid/gid and looking up uid/gid
The timestamp selector causes the current time to be inserted at the start
of all debug output lines. This can be useful when trying to track down delays
in processing.
+The noutf8 selector disables the use of
+UTF\-8 line\-drawing characters to group related information.
+When disabled. ascii\-art is used instead.
+Using the +all option does not set this modifier,
.sp
If the \fBdebug_print\fP option is set in any driver, it produces output whenever
any debugging is selected, or if \fB\-v\fP is used.
by Exim in conjunction with the \fB\-MC\fP option. It signifies that the
remote host supports the ESMTP DSN extension.
.TP 10
-\fB\-MCG\fP
+\fB\-MCG\fP <\fIqueue name\fP>
This option is not intended for use by external callers. It is used internally
by Exim in conjunction with the \fB\-MC\fP option. It signifies that an
-alternate queue is used, named by the following option.
+alternate queue is used, named by the following argument.
+.TP 10
+\fB\-MCK\fP
+This option is not intended for use by external callers. It is used internally
+by Exim in conjunction with the \fB\-MC\fP option. It signifies that a
+remote host supports the ESMTP CHUNKING extension.
.TP 10
\fB\-MCP\fP
This option is not intended for use by external callers. It is used internally
by Exim in conjunction with the \fB\-MC\fP option, and passes on the fact that the
host to which Exim is connected supports TLS encryption.
.TP 10
+\fB\-MCt\fP <\fIIP address\fP> <\fIport\fP> <\fIcipher\fP>
+This option is not intended for use by external callers. It is used internally
+by Exim in conjunction with the \fB\-MC\fP option, and passes on the fact that the
+connection is being proxied by a parent process for handling TLS encryption.
+The arguments give the local address and port being proxied, and the TLS cipher.
+.TP 10
\fB\-Mc\fP <\fImessage id\fP> <\fImessage id\fP> ...
-This option requests Exim to run a delivery attempt on each message in turn,
+This option requests Exim to run a delivery attempt on each message, in turn,
but unlike the \fB\-M\fP option, it does check for retry hints, and respects any
that are found. This option is not very useful to external callers. It is
provided mainly for internal use by Exim when it needs to re\-invoke itself in
bounce messages are sent; each message is simply forgotten. However, if any of
the messages are active, their status is not altered. This option can be used
only by an admin user or by the user who originally caused the message to be
-placed on the queue.
+placed in the queue.
.TP 10
\fB\-Mset\fP <\fImessage id\fP>
This option is useful only in conjunction with \fB\-be\fP (that is, when testing
.TP 10
\fB\-oA\fP <\fIfile name\fP>
This option is used by Sendmail in conjunction with \fB\-bi\fP to specify an
-alternative alias file name. Exim handles \fB\-bi\fP differently; see the
+alternative alias filename. Exim handles \fB\-bi\fP differently; see the
description above.
.TP 10
\fB\-oB\fP <\fIn\fP>
false and one of the queueing options in the configuration file is in effect.
.sp
If there is a temporary delivery error during foreground delivery, the
-message is left on the queue for later delivery, and the original reception
+message is left in the queue for later delivery, and the original reception
process exits.
.TP 10
\fB\-odi\fP
This option applies to all modes in which Exim accepts incoming messages,
including the listening daemon. It specifies that the accepting process should
not automatically start a delivery process for each message received. Messages
-are placed on the queue, and remain there until a subsequent queue runner
+are placed in the queue, and remain there until a subsequent queue runner
process encounters them. There are several configuration options (such as
\fBqueue_only\fP) that can be used to queue incoming messages under certain
conditions. This option overrides all of them and also \fB\-odqs\fP. It always
message, in the background by default, but in the foreground if \fB\-odi\fP is
also present. The recipient addresses are routed, and local deliveries are done
in the normal way. However, if any SMTP deliveries are required, they are not
-done at this time, so the message remains on the queue until a subsequent queue
+done at this time, so the message remains in the queue until a subsequent queue
runner process encounters it. Because routing was done, Exim knows which
messages are waiting for which hosts, and so a number of messages for the same
host can be sent in a single SMTP connection. The \fBqueue_smtp_domains\fP
or \fB\-bs\fP is used. For \fB\-bh\fP, the protocol is forced to one of the standard
SMTP protocol names. For \fB\-bs\fP, the protocol is always "local\-" followed by
one of those same names. For \fB\-bS\fP (batched SMTP) however, the protocol can
-be set by \fB\-oMr\fP.
+be set by \fB\-oMr\fP. Repeated use of this option is not supported.
.TP 10
\fB\-oMs\fP <\fIhost name\fP>
See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMs\fP
\fB\-oX\fP <\fInumber or string\fP>
This option is relevant only when the \fB\-bd\fP (start listening daemon) option
is also given. It controls which ports and interfaces the daemon uses. When \fB\-oX\fP is used to start a daemon, no pid
-file is written unless \fB\-oP\fP is also present to specify a pid file name.
+file is written unless \fB\-oP\fP is also present to specify a pid filename.
.TP 10
\fB\-pd\fP
This option applies when an embedded Perl interpreter is linked with Exim. It overrides the setting of the \fBperl_at_start\fP
Note the Exim already has two private options, \fB\-pd\fP and \fB\-ps\fP, that refer
to embedded Perl. It is therefore impossible to set a protocol value of d
or s using this option (but that does not seem a real limitation).
+Repeated use of this option is not supported.
.TP 10
\fB\-q\fP
This option is normally restricted to admin users. However, there is a
\fB\-q[q]i...\fP
If the \fIi\fP flag is present, the queue runner runs delivery processes only for
those messages that haven't previously been tried. (\fIi\fP stands for "initial
-delivery".) This can be helpful if you are putting messages on the queue using
+delivery".) This can be helpful if you are putting messages in the queue using
\fB\-odq\fP and want a queue runner just to process the new messages.
.TP 10
\fB\-q[q][i]f...\fP
.TP 10
\fB\-q[q][i][f[f]]l\fP
The \fIl\fP (the letter "ell") flag specifies that only local deliveries are to
-be done. If a message requires any remote deliveries, it remains on the queue
+be done. If a message requires any remote deliveries, it remains in the queue
for later delivery.
.TP 10
\fB\-q[q][i][f[f]][l][G<name>[/<time>]]]\fP