| 1 | .TH EXIM 8 |
| 2 | .SH NAME |
| 3 | exim \- a Mail Transfer Agent |
| 4 | .SH SYNOPSIS |
| 5 | .nf |
| 6 | .B exim [options] arguments ... |
| 7 | .B mailq [options] arguments ... |
| 8 | .B rsmtp [options] arguments ... |
| 9 | .B rmail [options] arguments ... |
| 10 | .B runq [options] arguments ... |
| 11 | .B newaliases [options] arguments ... |
| 12 | .fi |
| 13 | . |
| 14 | .SH DESCRIPTION |
| 15 | .rs |
| 16 | .sp |
| 17 | Exim is a mail transfer agent (MTA) developed at the University of Cambridge. |
| 18 | It is a large program with very many facilities. For a full specification, see |
| 19 | the reference manual. This man page contains only a description of the command |
| 20 | line options. It has been automatically generated from the reference manual |
| 21 | source, hopefully without too much mangling. |
| 22 | .P |
| 23 | Like other MTAs, Exim replaces Sendmail, and is normally called by user agents |
| 24 | (MUAs) using the path \fI/usr/sbin/sendmail\fP when they submit messages for |
| 25 | delivery (some operating systems use \fI/usr/lib/sendmail\fP). This path is |
| 26 | normally set up as a symbolic link to the Exim binary. It may also be used by |
| 27 | boot scripts to start the Exim daemon. Many of Exim's command line options are |
| 28 | compatible with Sendmail so that it can act as a drop-in replacement. |
| 29 | . |
| 30 | .SH "DEFAULT ACTION" |
| 31 | .rs |
| 32 | .sp |
| 33 | If no options are present that require a specific action (such as starting the |
| 34 | daemon or a queue runner, testing an address, receiving a message in a specific |
| 35 | format, or listing the queue), and there are no arguments on the command line, |
| 36 | Exim outputs a brief message about itself and exits. |
| 37 | .sp |
| 38 | However, if there is at least one command line argument, \fB-bm\fR (accept a |
| 39 | local message on the standard input, with the arguments specifying the |
| 40 | recipients) is assumed. Thus, for example, if Exim is installed in |
| 41 | \fI/usr/sbin\fP, you can send a message from the command line like this: |
| 42 | .sp |
| 43 | /usr/sbin/exim -i <recipient-address(es)> |
| 44 | <message content, including all the header lines> |
| 45 | CTRL-D |
| 46 | .sp |
| 47 | The \fB-i\fP option prevents a line containing just a dot from terminating |
| 48 | the message. Only an end-of-file (generated by typing CTRL-D if the input is |
| 49 | from a terminal) does so. |
| 50 | . |
| 51 | .SH "SETTING OPTIONS BY PROGRAM NAME" |
| 52 | .rs |
| 53 | .sp |
| 54 | If an Exim binary is called using one of the names listed in this section |
| 55 | (typically via a symbolic link), certain options are assumed. |
| 56 | .TP |
| 57 | \fBmailq\fR |
| 58 | Behave as if the option \fB\-bp\fP were present before any other options. |
| 59 | The \fB\-bp\fP option requests a listing of the contents of the mail queue |
| 60 | on the standard output. |
| 61 | .TP |
| 62 | \fBrsmtp\fR |
| 63 | Behaves as if the option \fB\-bS\fP were present before any other options, |
| 64 | for compatibility with Smail. The \fB\-bS\fP option is used for reading in a |
| 65 | number of messages in batched SMTP format. |
| 66 | .TP |
| 67 | \fBrmail\fR |
| 68 | Behave as if the \fB\-i\fP and \fB\-oee\fP options were present before |
| 69 | any other options, for compatibility with Smail. The name \fBrmail\fR is used |
| 70 | as an interface by some UUCP systems. The \fB\-i\fP option specifies that a |
| 71 | dot on a line by itself does not terminate a non\-SMTP message; \fB\-oee\fP |
| 72 | requests that errors detected in non\-SMTP messages be reported by emailing |
| 73 | the sender. |
| 74 | .TP |
| 75 | \fBrunq\fR |
| 76 | Behave as if the option \fB\-q\fP were present before any other options, for |
| 77 | compatibility with Smail. The \fB\-q\fP option causes a single queue runner |
| 78 | process to be started. It processes the queue once, then exits. |
| 79 | .TP |
| 80 | \fBnewaliases\fR |
| 81 | Behave as if the option \fB\-bi\fP were present before any other options, |
| 82 | for compatibility with Sendmail. This option is used for rebuilding Sendmail's |
| 83 | alias file. Exim does not have the concept of a single alias file, but can be |
| 84 | configured to run a specified command if called with the \fB\-bi\fP option. |
| 85 | . |
| 86 | .SH "OPTIONS" |
| 87 | .rs |
| 88 | .TP 10 |
| 89 | \fB\-\-\fP |
| 90 | This is a pseudo\-option whose only purpose is to terminate the options and |
| 91 | therefore to cause subsequent command line items to be treated as arguments |
| 92 | rather than options, even if they begin with hyphens. |
| 93 | .TP 10 |
| 94 | \fB\-\-help\fP |
| 95 | This option causes Exim to output a few sentences stating what it is. |
| 96 | The same output is generated if the Exim binary is called with no options and |
| 97 | no arguments. |
| 98 | .TP 10 |
| 99 | \fB\-\-version\fP |
| 100 | This option is an alias for \fB\-bV\fP and causes version information to be |
| 101 | displayed. |
| 102 | .TP 10 |
| 103 | \fB\-Ac\fP |
| 104 | \fB\-Am\fP |
| 105 | These options are used by Sendmail for selecting configuration files and are |
| 106 | ignored by Exim. |
| 107 | .TP 10 |
| 108 | \fB\-B\fP<\fItype\fP> |
| 109 | This is a Sendmail option for selecting 7 or 8 bit processing. Exim is 8\-bit |
| 110 | clean; it ignores this option. |
| 111 | .TP 10 |
| 112 | \fB\-bd\fP |
| 113 | This option runs Exim as a daemon, awaiting incoming SMTP connections. Usually |
| 114 | the \fB\-bd\fP option is combined with the \fB\-q\fP<\fItime\fP> option, to specify |
| 115 | that the daemon should also initiate periodic queue runs. |
| 116 | .sp |
| 117 | The \fB\-bd\fP option can be used only by an admin user. If either of the \fB\-d\fP |
| 118 | (debugging) or \fB\-v\fP (verifying) options are set, the daemon does not |
| 119 | disconnect from the controlling terminal. When running this way, it can be |
| 120 | stopped by pressing ctrl\-C. |
| 121 | .sp |
| 122 | By default, Exim listens for incoming connections to the standard SMTP port on |
| 123 | all the host's running interfaces. However, it is possible to listen on other |
| 124 | ports, on multiple ports, and only on specific interfaces. |
| 125 | .sp |
| 126 | When a listening daemon |
| 127 | is started without the use of \fB\-oX\fP (that is, without overriding the normal |
| 128 | configuration), it writes its process id to a file called exim\-daemon.pid |
| 129 | in Exim's spool directory. This location can be overridden by setting |
| 130 | PID_FILE_PATH in Local/Makefile. The file is written while Exim is still |
| 131 | running as root. |
| 132 | .sp |
| 133 | When \fB\-oX\fP is used on the command line to start a listening daemon, the |
| 134 | process id is not written to the normal pid file path. However, \fB\-oP\fP can be |
| 135 | used to specify a path on the command line if a pid file is required. |
| 136 | .sp |
| 137 | The SIGHUP signal |
| 138 | can be used to cause the daemon to re\-execute itself. This should be done |
| 139 | whenever Exim's configuration file, or any file that is incorporated into it by |
| 140 | means of the \fB.include\fP facility, is changed, and also whenever a new version |
| 141 | of Exim is installed. It is not necessary to do this when other files that are |
| 142 | referenced from the configuration (for example, alias files) are changed, |
| 143 | because these are reread each time they are used. |
| 144 | .TP 10 |
| 145 | \fB\-bdf\fP |
| 146 | This option has the same effect as \fB\-bd\fP except that it never disconnects |
| 147 | from the controlling terminal, even when no debugging is specified. |
| 148 | .TP 10 |
| 149 | \fB\-be\fP |
| 150 | Run Exim in expansion testing mode. Exim discards its root privilege, to |
| 151 | prevent ordinary users from using this mode to read otherwise inaccessible |
| 152 | files. If no arguments are given, Exim runs interactively, prompting for lines |
| 153 | of data. Otherwise, it processes each argument in turn. |
| 154 | .sp |
| 155 | If Exim was built with USE_READLINE=yes in Local/Makefile, it tries |
| 156 | to load the \fBlibreadline\fP library dynamically whenever the \fB\-be\fP option is |
| 157 | used without command line arguments. If successful, it uses the readline() |
| 158 | function, which provides extensive line\-editing facilities, for reading the |
| 159 | test data. A line history is supported. |
| 160 | .sp |
| 161 | Long expansion expressions can be split over several lines by using backslash |
| 162 | continuations. As in Exim's runtime configuration, white space at the start of |
| 163 | continuation lines is ignored. Each argument or data line is passed through the |
| 164 | string expansion mechanism, and the result is output. Variable values from the |
| 165 | configuration file (for example, \fI$qualify_domain\fP) are available, but no |
| 166 | message\-specific values (such as \fI$message_exim_id\fP) are set, because no message |
| 167 | is being processed (but see \fB\-bem\fP and \fB\-Mset\fP). |
| 168 | .sp |
| 169 | \fBNote\fP: If you use this mechanism to test lookups, and you change the data |
| 170 | files or databases you are using, you must exit and restart Exim before trying |
| 171 | the same lookup again. Otherwise, because each Exim process caches the results |
| 172 | of lookups, you will just get the same result as before. |
| 173 | .sp |
| 174 | Macro processing is done on lines before string\-expansion: new macros can be |
| 175 | defined and macros will be expanded. |
| 176 | Because macros in the config file are often used for secrets, those are only |
| 177 | available to admin users. |
| 178 | .TP 10 |
| 179 | \fB\-bem\fP <\fIfilename\fP> |
| 180 | This option operates like \fB\-be\fP except that it must be followed by the name |
| 181 | of a file. For example: |
| 182 | .sp |
| 183 | exim \-bem /tmp/testmessage |
| 184 | .sp |
| 185 | The file is read as a message (as if receiving a locally\-submitted non\-SMTP |
| 186 | message) before any of the test expansions are done. Thus, message\-specific |
| 187 | variables such as \fI$message_size\fP and \fI$header_from:\fP are available. However, |
| 188 | no \fIReceived:\fP header is added to the message. If the \fB\-t\fP option is set, |
| 189 | recipients are read from the headers in the normal way, and are shown in the |
| 190 | \fI$recipients\fP variable. Note that recipients cannot be given on the command |
| 191 | line, because further arguments are taken as strings to expand (just like |
| 192 | \fB\-be\fP). |
| 193 | .TP 10 |
| 194 | \fB\-bF\fP <\fIfilename\fP> |
| 195 | This option is the same as \fB\-bf\fP except that it assumes that the filter being |
| 196 | tested is a system filter. The additional commands that are available only in |
| 197 | system filters are recognized. |
| 198 | .TP 10 |
| 199 | \fB\-bf\fP <\fIfilename\fP> |
| 200 | This option runs Exim in user filter testing mode; the file is the filter file |
| 201 | to be tested, and a test message must be supplied on the standard input. If |
| 202 | there are no message\-dependent tests in the filter, an empty file can be |
| 203 | supplied. |
| 204 | .sp |
| 205 | If you want to test a system filter file, use \fB\-bF\fP instead of \fB\-bf\fP. You |
| 206 | can use both \fB\-bF\fP and \fB\-bf\fP on the same command, in order to test a system |
| 207 | filter and a user filter in the same run. For example: |
| 208 | .sp |
| 209 | exim \-bF /system/filter \-bf /user/filter </test/message |
| 210 | .sp |
| 211 | This is helpful when the system filter adds header lines or sets filter |
| 212 | variables that are used by the user filter. |
| 213 | .sp |
| 214 | If the test filter file does not begin with one of the special lines |
| 215 | .sp |
| 216 | # Exim filter |
| 217 | # Sieve filter |
| 218 | .sp |
| 219 | it is taken to be a normal .forward file, and is tested for validity under |
| 220 | that interpretation. |
| 221 | .sp |
| 222 | The result of an Exim command that uses \fB\-bf\fP, provided no errors are |
| 223 | detected, is a list of the actions that Exim would try to take if presented |
| 224 | with the message for real. More details of filter testing are given in the |
| 225 | separate document entitled \fIExim's interfaces to mail filtering\fP. |
| 226 | .sp |
| 227 | When testing a filter file, |
| 228 | the envelope sender can be set by the \fB\-f\fP option, |
| 229 | or by a "From " line at the start of the test message. Various parameters |
| 230 | that would normally be taken from the envelope recipient address of the message |
| 231 | can be set by means of additional command line options (see the next four |
| 232 | options). |
| 233 | .TP 10 |
| 234 | \fB\-bfd\fP <\fIdomain\fP> |
| 235 | This sets the domain of the recipient address when a filter file is being |
| 236 | tested by means of the \fB\-bf\fP option. The default is the value of |
| 237 | \fI$qualify_domain\fP. |
| 238 | .TP 10 |
| 239 | \fB\-bfl\fP <\fIlocal part\fP> |
| 240 | This sets the local part of the recipient address when a filter file is being |
| 241 | tested by means of the \fB\-bf\fP option. The default is the username of the |
| 242 | process that calls Exim. A local part should be specified with any prefix or |
| 243 | suffix stripped, because that is how it appears to the filter when a message is |
| 244 | actually being delivered. |
| 245 | .TP 10 |
| 246 | \fB\-bfp\fP <\fIprefix\fP> |
| 247 | This sets the prefix of the local part of the recipient address when a filter |
| 248 | file is being tested by means of the \fB\-bf\fP option. The default is an empty |
| 249 | prefix. |
| 250 | .TP 10 |
| 251 | \fB\-bfs\fP <\fIsuffix\fP> |
| 252 | This sets the suffix of the local part of the recipient address when a filter |
| 253 | file is being tested by means of the \fB\-bf\fP option. The default is an empty |
| 254 | suffix. |
| 255 | .TP 10 |
| 256 | \fB\-bh\fP <\fIIP address\fP> |
| 257 | This option runs a fake SMTP session as if from the given IP address, using the |
| 258 | standard input and output. The IP address may include a port number at the end, |
| 259 | after a full stop. For example: |
| 260 | .sp |
| 261 | exim \-bh 10.9.8.7.1234 |
| 262 | exim \-bh fe80::a00:20ff:fe86:a061.5678 |
| 263 | .sp |
| 264 | When an IPv6 address is given, it is converted into canonical form. In the case |
| 265 | of the second example above, the value of \fI$sender_host_address\fP after |
| 266 | conversion to the canonical form is |
| 267 | fe80:0000:0000:0a00:20ff:fe86:a061.5678. |
| 268 | .sp |
| 269 | Comments as to what is going on are written to the standard error file. These |
| 270 | include lines beginning with "LOG" for anything that would have been logged. |
| 271 | This facility is provided for testing configuration options for incoming |
| 272 | messages, to make sure they implement the required policy. For example, you can |
| 273 | test your relay controls using \fB\-bh\fP. |
| 274 | .sp |
| 275 | \fBWarning 1\fP: |
| 276 | You can test features of the configuration that rely on ident (RFC 1413) |
| 277 | information by using the \fB\-oMt\fP option. However, Exim cannot actually perform |
| 278 | an ident callout when testing using \fB\-bh\fP because there is no incoming SMTP |
| 279 | connection. |
| 280 | .sp |
| 281 | \fBWarning 2\fP: Address verification callouts |
| 282 | are also skipped when testing using \fB\-bh\fP. If you want these callouts to |
| 283 | occur, use \fB\-bhc\fP instead. |
| 284 | .sp |
| 285 | Messages supplied during the testing session are discarded, and nothing is |
| 286 | written to any of the real log files. There may be pauses when DNS (and other) |
| 287 | lookups are taking place, and of course these may time out. The \fB\-oMi\fP option |
| 288 | can be used to specify a specific IP interface and port if this is important, |
| 289 | and \fB\-oMaa\fP and \fB\-oMai\fP can be used to set parameters as if the SMTP |
| 290 | session were authenticated. |
| 291 | .sp |
| 292 | The \fIexim_checkaccess\fP utility is a "packaged" version of \fB\-bh\fP whose |
| 293 | output just states whether a given recipient address from a given host is |
| 294 | acceptable or not. |
| 295 | .sp |
| 296 | Features such as authentication and encryption, where the client input is not |
| 297 | plain text, cannot easily be tested with \fB\-bh\fP. Instead, you should use a |
| 298 | specialized SMTP test program such as |
| 299 | \fBswaks\fP. |
| 300 | .TP 10 |
| 301 | \fB\-bhc\fP <\fIIP address\fP> |
| 302 | This option operates in the same way as \fB\-bh\fP, except that address |
| 303 | verification callouts are performed if required. This includes consulting and |
| 304 | updating the callout cache database. |
| 305 | .TP 10 |
| 306 | \fB\-bi\fP |
| 307 | Sendmail interprets the \fB\-bi\fP option as a request to rebuild its alias file. |
| 308 | Exim does not have the concept of a single alias file, and so it cannot mimic |
| 309 | this behaviour. However, calls to /usr/lib/sendmail with the \fB\-bi\fP option |
| 310 | tend to appear in various scripts such as NIS make files, so the option must be |
| 311 | recognized. |
| 312 | .sp |
| 313 | If \fB\-bi\fP is encountered, the command specified by the \fBbi_command\fP |
| 314 | configuration option is run, under the uid and gid of the caller of Exim. If |
| 315 | the \fB\-oA\fP option is used, its value is passed to the command as an argument. |
| 316 | The command set by \fBbi_command\fP may not contain arguments. The command can |
| 317 | use the \fIexim_dbmbuild\fP utility, or some other means, to rebuild alias files |
| 318 | if this is required. If the \fBbi_command\fP option is not set, calling Exim with |
| 319 | \fB\-bi\fP is a no\-op. |
| 320 | .TP 10 |
| 321 | \fB\-bI:help\fP |
| 322 | We shall provide various options starting \-bI: for querying Exim for |
| 323 | information. The output of many of these will be intended for machine |
| 324 | consumption. This one is not. The \fB\-bI:help\fP option asks Exim for a |
| 325 | synopsis of supported options beginning \-bI:. Use of any of these |
| 326 | options shall cause Exim to exit after producing the requested output. |
| 327 | .TP 10 |
| 328 | \fB\-bI:dscp\fP |
| 329 | This option causes Exim to emit an alphabetically sorted list of all |
| 330 | recognised DSCP names. |
| 331 | .TP 10 |
| 332 | \fB\-bI:sieve\fP |
| 333 | This option causes Exim to emit an alphabetically sorted list of all supported |
| 334 | Sieve protocol extensions on stdout, one per line. This is anticipated to be |
| 335 | useful for ManageSieve (RFC 5804) implementations, in providing that protocol's |
| 336 | SIEVE capability response line. As the precise list may depend upon |
| 337 | compile\-time build options, which this option will adapt to, this is the only |
| 338 | way to guarantee a correct response. |
| 339 | .TP 10 |
| 340 | \fB\-bm\fP |
| 341 | This option runs an Exim receiving process that accepts an incoming, |
| 342 | locally\-generated message on the standard input. The recipients are given as the |
| 343 | command arguments (except when \fB\-t\fP is also present \- see below). Each |
| 344 | argument can be a comma\-separated list of RFC 2822 addresses. This is the |
| 345 | default option for selecting the overall action of an Exim call; it is assumed |
| 346 | if no other conflicting option is present. |
| 347 | .sp |
| 348 | If any addresses in the message are unqualified (have no domain), they are |
| 349 | qualified by the values of the \fBqualify_domain\fP or \fBqualify_recipient\fP |
| 350 | options, as appropriate. The \fB\-bnq\fP option (see below) provides a way of |
| 351 | suppressing this for special cases. |
| 352 | .sp |
| 353 | Policy checks on the contents of local messages can be enforced by means of |
| 354 | the non\-SMTP ACL. |
| 355 | .sp |
| 356 | The return code is zero if the message is successfully accepted. Otherwise, the |
| 357 | action is controlled by the \fB\-oe\fP\fIx\fP option setting \- see below. |
| 358 | .sp |
| 359 | The format |
| 360 | of the message must be as defined in RFC 2822, except that, for |
| 361 | compatibility with Sendmail and Smail, a line in one of the forms |
| 362 | .sp |
| 363 | From sender Fri Jan 5 12:55 GMT 1997 |
| 364 | From sender Fri, 5 Jan 97 12:55:01 |
| 365 | .sp |
| 366 | (with the weekday optional, and possibly with additional text after the date) |
| 367 | is permitted to appear at the start of the message. There appears to be no |
| 368 | authoritative specification of the format of this line. Exim recognizes it by |
| 369 | matching against the regular expression defined by the \fBuucp_from_pattern\fP |
| 370 | option, which can be changed if necessary. |
| 371 | .sp |
| 372 | The specified sender is treated as if it were given as the argument to the |
| 373 | \fB\-f\fP option, but if a \fB\-f\fP option is also present, its argument is used in |
| 374 | preference to the address taken from the message. The caller of Exim must be a |
| 375 | trusted user for the sender of a message to be set in this way. |
| 376 | .TP 10 |
| 377 | \fB\-bmalware\fP <\fIfilename\fP> |
| 378 | This debugging option causes Exim to scan the given file or directory |
| 379 | (depending on the used scanner interface), |
| 380 | using the malware scanning framework. The option of \fBav_scanner\fP influences |
| 381 | this option, so if \fBav_scanner\fP's value is dependent upon an expansion then |
| 382 | the expansion should have defaults which apply to this invocation. ACLs are |
| 383 | not invoked, so if \fBav_scanner\fP references an ACL variable then that variable |
| 384 | will never be populated and \fB\-bmalware\fP will fail. |
| 385 | .sp |
| 386 | Exim will have changed working directory before resolving the filename, so |
| 387 | using fully qualified pathnames is advisable. Exim will be running as the Exim |
| 388 | user when it tries to open the file, rather than as the invoking user. |
| 389 | This option requires admin privileges. |
| 390 | .sp |
| 391 | The \fB\-bmalware\fP option will not be extended to be more generally useful, |
| 392 | there are better tools for file\-scanning. This option exists to help |
| 393 | administrators verify their Exim and AV scanner configuration. |
| 394 | .TP 10 |
| 395 | \fB\-bnq\fP |
| 396 | By default, Exim automatically qualifies unqualified addresses (those |
| 397 | without domains) that appear in messages that are submitted locally (that |
| 398 | is, not over TCP/IP). This qualification applies both to addresses in |
| 399 | envelopes, and addresses in header lines. Sender addresses are qualified using |
| 400 | \fBqualify_domain\fP, and recipient addresses using \fBqualify_recipient\fP (which |
| 401 | defaults to the value of \fBqualify_domain\fP). |
| 402 | .sp |
| 403 | Sometimes, qualification is not wanted. For example, if \fB\-bS\fP (batch SMTP) is |
| 404 | being used to re\-submit messages that originally came from remote hosts after |
| 405 | content scanning, you probably do not want to qualify unqualified addresses in |
| 406 | header lines. (Such lines will be present only if you have not enabled a header |
| 407 | syntax check in the appropriate ACL.) |
| 408 | .sp |
| 409 | The \fB\-bnq\fP option suppresses all qualification of unqualified addresses in |
| 410 | messages that originate on the local host. When this is used, unqualified |
| 411 | addresses in the envelope provoke errors (causing message rejection) and |
| 412 | unqualified addresses in header lines are left alone. |
| 413 | .TP 10 |
| 414 | \fB\-bP\fP |
| 415 | If this option is given with no arguments, it causes the values of all Exim's |
| 416 | main configuration options to be written to the standard output. The values |
| 417 | of one or more specific options can be requested by giving their names as |
| 418 | arguments, for example: |
| 419 | .sp |
| 420 | exim \-bP qualify_domain hold_domains |
| 421 | .sp |
| 422 | However, any option setting that is preceded by the word "hide" in the |
| 423 | configuration file is not shown in full, except to an admin user. For other |
| 424 | users, the output is as in this example: |
| 425 | .sp |
| 426 | mysql_servers = <value not displayable> |
| 427 | .sp |
| 428 | If \fBconfig\fP is given as an argument, the config is |
| 429 | output, as it was parsed, any include file resolved, any comment removed. |
| 430 | .sp |
| 431 | If \fBconfig_file\fP is given as an argument, the name of the runtime |
| 432 | configuration file is output. (\fBconfigure_file\fP works too, for |
| 433 | backward compatibility.) |
| 434 | If a list of configuration files was supplied, the value that is output here |
| 435 | is the name of the file that was actually used. |
| 436 | .sp |
| 437 | If the \fB\-n\fP flag is given, then for most modes of \fB\-bP\fP operation the |
| 438 | name will not be output. |
| 439 | .sp |
| 440 | If \fBlog_file_path\fP or \fBpid_file_path\fP are given, the names of the |
| 441 | directories where log files and daemon pid files are written are output, |
| 442 | respectively. If these values are unset, log files are written in a |
| 443 | sub\-directory of the spool directory called \fBlog\fP, and the pid file is |
| 444 | written directly into the spool directory. |
| 445 | .sp |
| 446 | If \fB\-bP\fP is followed by a name preceded by +, for example, |
| 447 | .sp |
| 448 | exim \-bP +local_domains |
| 449 | .sp |
| 450 | it searches for a matching named list of any type (domain, host, address, or |
| 451 | local part) and outputs what it finds. |
| 452 | .sp |
| 453 | If one of the words \fBrouter\fP, \fBtransport\fP, or \fBauthenticator\fP is given, |
| 454 | followed by the name of an appropriate driver instance, the option settings for |
| 455 | that driver are output. For example: |
| 456 | .sp |
| 457 | exim \-bP transport local_delivery |
| 458 | .sp |
| 459 | The generic driver options are output first, followed by the driver's private |
| 460 | options. A list of the names of drivers of a particular type can be obtained by |
| 461 | using one of the words \fBrouter_list\fP, \fBtransport_list\fP, or |
| 462 | \fBauthenticator_list\fP, and a complete list of all drivers with their option |
| 463 | settings can be obtained by using \fBrouters\fP, \fBtransports\fP, or |
| 464 | \fBauthenticators\fP. |
| 465 | .sp |
| 466 | If \fBenvironment\fP is given as an argument, the set of environment |
| 467 | variables is output, line by line. Using the \fB\-n\fP flag suppresses the value of the |
| 468 | variables. |
| 469 | .sp |
| 470 | If invoked by an admin user, then \fBmacro\fP, \fBmacro_list\fP and \fBmacros\fP |
| 471 | are available, similarly to the drivers. Because macros are sometimes used |
| 472 | for storing passwords, this option is restricted. |
| 473 | The output format is one item per line. |
| 474 | For the "\-bP macro <name>" form, if no such macro is found |
| 475 | the exit status will be nonzero. |
| 476 | .TP 10 |
| 477 | \fB\-bp\fP |
| 478 | This option requests a listing of the contents of the mail queue on the |
| 479 | standard output. If the \fB\-bp\fP option is followed by a list of message ids, |
| 480 | just those messages are listed. By default, this option can be used only by an |
| 481 | admin user. However, the \fBqueue_list_requires_admin\fP option can be set false |
| 482 | to allow any user to see the queue. |
| 483 | .sp |
| 484 | Each message in the queue is displayed as in the following example: |
| 485 | .sp |
| 486 | 25m 2.9K 0t5C6f\-0000c8\-00 <alice@wonderland.fict.example> |
| 487 | red.king@looking\-glass.fict.example |
| 488 | <other addresses> |
| 489 | .sp |
| 490 | The first line contains the length of time the message has been in the queue |
| 491 | (in this case 25 minutes), the size of the message (2.9K), the unique local |
| 492 | identifier for the message, and the message sender, as contained in the |
| 493 | envelope. For bounce messages, the sender address is empty, and appears as |
| 494 | "<>". If the message was submitted locally by an untrusted user who overrode |
| 495 | the default sender address, the user's login name is shown in parentheses |
| 496 | before the sender address. |
| 497 | .sp |
| 498 | If the message is frozen (attempts to deliver it are suspended) then the text |
| 499 | "*** frozen ***" is displayed at the end of this line. |
| 500 | .sp |
| 501 | The recipients of the message (taken from the envelope, not the headers) are |
| 502 | displayed on subsequent lines. Those addresses to which the message has already |
| 503 | been delivered are marked with the letter D. If an original address gets |
| 504 | expanded into several addresses via an alias or forward file, the original is |
| 505 | displayed with a D only when deliveries for all of its child addresses are |
| 506 | complete. |
| 507 | .TP 10 |
| 508 | \fB\-bpa\fP |
| 509 | This option operates like \fB\-bp\fP, but in addition it shows delivered addresses |
| 510 | that were generated from the original top level address(es) in each message by |
| 511 | alias or forwarding operations. These addresses are flagged with "+D" instead |
| 512 | of just "D". |
| 513 | .TP 10 |
| 514 | \fB\-bpc\fP |
| 515 | This option counts the number of messages in the queue, and writes the total |
| 516 | to the standard output. It is restricted to admin users, unless |
| 517 | \fBqueue_list_requires_admin\fP is set false. |
| 518 | .TP 10 |
| 519 | \fB\-bpr\fP |
| 520 | This option operates like \fB\-bp\fP, but the output is not sorted into |
| 521 | chronological order of message arrival. This can speed it up when there are |
| 522 | lots of messages in the queue, and is particularly useful if the output is |
| 523 | going to be post\-processed in a way that doesn't need the sorting. |
| 524 | .TP 10 |
| 525 | \fB\-bpra\fP |
| 526 | This option is a combination of \fB\-bpr\fP and \fB\-bpa\fP. |
| 527 | .TP 10 |
| 528 | \fB\-bpru\fP |
| 529 | This option is a combination of \fB\-bpr\fP and \fB\-bpu\fP. |
| 530 | .TP 10 |
| 531 | \fB\-bpu\fP |
| 532 | This option operates like \fB\-bp\fP but shows only undelivered top\-level |
| 533 | addresses for each message displayed. Addresses generated by aliasing or |
| 534 | forwarding are not shown, unless the message was deferred after processing by a |
| 535 | router with the \fBone_time\fP option set. |
| 536 | .TP 10 |
| 537 | \fB\-brt\fP |
| 538 | This option is for testing retry rules, and it must be followed by up to three |
| 539 | arguments. It causes Exim to look for a retry rule that matches the values |
| 540 | and to write it to the standard output. For example: |
| 541 | .sp |
| 542 | exim \-brt bach.comp.mus.example |
| 543 | Retry rule: *.comp.mus.example F,2h,15m; F,4d,30m; |
| 544 | .sp |
| 545 | The first |
| 546 | argument, which is required, can be a complete address in the form |
| 547 | \fIlocal_part@domain\fP, or it can be just a domain name. If the second argument |
| 548 | contains a dot, it is interpreted as an optional second domain name; if no |
| 549 | retry rule is found for the first argument, the second is tried. This ties in |
| 550 | with Exim's behaviour when looking for retry rules for remote hosts \- if no |
| 551 | rule is found that matches the host, one that matches the mail domain is |
| 552 | sought. Finally, an argument that is the name of a specific delivery error, as |
| 553 | used in setting up retry rules, can be given. For example: |
| 554 | .sp |
| 555 | exim \-brt haydn.comp.mus.example quota_3d |
| 556 | Retry rule: *@haydn.comp.mus.example quota_3d F,1h,15m |
| 557 | .TP 10 |
| 558 | \fB\-brw\fP |
| 559 | This option is for testing address rewriting rules, and it must be followed by |
| 560 | a single argument, consisting of either a local part without a domain, or a |
| 561 | complete address with a fully qualified domain. Exim outputs how this address |
| 562 | would be rewritten for each possible place it might appear. |
| 563 | .TP 10 |
| 564 | \fB\-bS\fP |
| 565 | This option is used for batched SMTP input, which is an alternative interface |
| 566 | for non\-interactive local message submission. A number of messages can be |
| 567 | submitted in a single run. However, despite its name, this is not really SMTP |
| 568 | input. Exim reads each message's envelope from SMTP commands on the standard |
| 569 | input, but generates no responses. If the caller is trusted, or |
| 570 | \fBuntrusted_set_sender\fP is set, the senders in the SMTP MAIL commands are |
| 571 | believed; otherwise the sender is always the caller of Exim. |
| 572 | .sp |
| 573 | The message itself is read from the standard input, in SMTP format (leading |
| 574 | dots doubled), terminated by a line containing just a single dot. An error is |
| 575 | provoked if the terminating dot is missing. A further message may then follow. |
| 576 | .sp |
| 577 | As for other local message submissions, the contents of incoming batch SMTP |
| 578 | messages can be checked using the non\-SMTP ACL. |
| 579 | Unqualified addresses are automatically qualified using \fBqualify_domain\fP and |
| 580 | \fBqualify_recipient\fP, as appropriate, unless the \fB\-bnq\fP option is used. |
| 581 | .sp |
| 582 | Some other SMTP commands are recognized in the input. HELO and EHLO act |
| 583 | as RSET; VRFY, EXPN, ETRN, and HELP act as NOOP; |
| 584 | QUIT quits, ignoring the rest of the standard input. |
| 585 | .sp |
| 586 | If any error is encountered, reports are written to the standard output and |
| 587 | error streams, and Exim gives up immediately. The return code is 0 if no error |
| 588 | was detected; it is 1 if one or more messages were accepted before the error |
| 589 | was detected; otherwise it is 2. |
| 590 | .sp |
| 591 | .TP 10 |
| 592 | \fB\-bs\fP |
| 593 | This option causes Exim to accept one or more messages by reading SMTP commands |
| 594 | on the standard input, and producing SMTP replies on the standard output. SMTP |
| 595 | policy controls, as defined in ACLs are applied. |
| 596 | Some user agents use this interface as a way of passing locally\-generated |
| 597 | messages to the MTA. |
| 598 | .sp |
| 599 | In |
| 600 | this usage, if the caller of Exim is trusted, or \fBuntrusted_set_sender\fP is |
| 601 | set, the senders of messages are taken from the SMTP MAIL commands. |
| 602 | Otherwise the content of these commands is ignored and the sender is set up as |
| 603 | the calling user. Unqualified addresses are automatically qualified using |
| 604 | \fBqualify_domain\fP and \fBqualify_recipient\fP, as appropriate, unless the |
| 605 | \fB\-bnq\fP option is used. |
| 606 | .sp |
| 607 | The |
| 608 | \fB\-bs\fP option is also used to run Exim from \fIinetd\fP, as an alternative to |
| 609 | using a listening daemon. Exim can distinguish the two cases by checking |
| 610 | whether the standard input is a TCP/IP socket. When Exim is called from |
| 611 | \fIinetd\fP, the source of the mail is assumed to be remote, and the comments |
| 612 | above concerning senders and qualification do not apply. In this situation, |
| 613 | Exim behaves in exactly the same way as it does when receiving a message via |
| 614 | the listening daemon. |
| 615 | .TP 10 |
| 616 | \fB\-bt\fP |
| 617 | This option runs Exim in address testing mode, in which each argument is taken |
| 618 | as a recipient address to be tested for deliverability. The results are |
| 619 | written to the standard output. If a test fails, and the caller is not an admin |
| 620 | user, no details of the failure are output, because these might contain |
| 621 | sensitive information such as usernames and passwords for database lookups. |
| 622 | .sp |
| 623 | If no arguments are given, Exim runs in an interactive manner, prompting with a |
| 624 | right angle bracket for addresses to be tested. |
| 625 | .sp |
| 626 | Unlike the \fB\-be\fP test option, you cannot arrange for Exim to use the |
| 627 | readline() function, because it is running as \fIroot\fP and there are |
| 628 | security issues. |
| 629 | .sp |
| 630 | Each address is handled as if it were the recipient address of a message |
| 631 | (compare the \fB\-bv\fP option). It is passed to the routers and the result is |
| 632 | written to the standard output. However, any router that has |
| 633 | \fBno_address_test\fP set is bypassed. This can make \fB\-bt\fP easier to use for |
| 634 | genuine routing tests if your first router passes everything to a scanner |
| 635 | program. |
| 636 | .sp |
| 637 | The return code is 2 if any address failed outright; it is 1 if no address |
| 638 | failed outright but at least one could not be resolved for some reason. Return |
| 639 | code 0 is given only when all addresses succeed. |
| 640 | .sp |
| 641 | \fBNote\fP: When actually delivering a message, Exim removes duplicate recipient |
| 642 | addresses after routing is complete, so that only one delivery takes place. |
| 643 | This does not happen when testing with \fB\-bt\fP; the full results of routing are |
| 644 | always shown. |
| 645 | .sp |
| 646 | \fBWarning\fP: \fB\-bt\fP can only do relatively simple testing. If any of the |
| 647 | routers in the configuration makes any tests on the sender address of a |
| 648 | message, |
| 649 | you can use the \fB\-f\fP option to set an appropriate sender when running |
| 650 | \fB\-bt\fP tests. Without it, the sender is assumed to be the calling user at the |
| 651 | default qualifying domain. However, if you have set up (for example) routers |
| 652 | whose behaviour depends on the contents of an incoming message, you cannot test |
| 653 | those conditions using \fB\-bt\fP. The \fB\-N\fP option provides a possible way of |
| 654 | doing such tests. |
| 655 | .TP 10 |
| 656 | \fB\-bV\fP |
| 657 | This option causes Exim to write the current version number, compilation |
| 658 | number, and compilation date of the \fIexim\fP binary to the standard output. |
| 659 | It also lists the DBM library that is being used, the optional modules (such as |
| 660 | specific lookup types), the drivers that are included in the binary, and the |
| 661 | name of the runtime configuration file that is in use. |
| 662 | .sp |
| 663 | As part of its operation, \fB\-bV\fP causes Exim to read and syntax check its |
| 664 | configuration file. However, this is a static check only. It cannot check |
| 665 | values that are to be expanded. For example, although a misspelt ACL verb is |
| 666 | detected, an error in the verb's arguments is not. You cannot rely on \fB\-bV\fP |
| 667 | alone to discover (for example) all the typos in the configuration; some |
| 668 | realistic testing is needed. The \fB\-bh\fP and \fB\-N\fP options provide more |
| 669 | dynamic testing facilities. |
| 670 | .TP 10 |
| 671 | \fB\-bv\fP |
| 672 | This option runs Exim in address verification mode, in which each argument is |
| 673 | taken as a recipient address to be verified by the routers. (This does |
| 674 | not involve any verification callouts). During normal operation, verification |
| 675 | happens mostly as a consequence processing a \fBverify\fP condition in an ACL. If you want to test an entire ACL, possibly |
| 676 | including callouts, see the \fB\-bh\fP and \fB\-bhc\fP options. |
| 677 | .sp |
| 678 | If verification fails, and the caller is not an admin user, no details of the |
| 679 | failure are output, because these might contain sensitive information such as |
| 680 | usernames and passwords for database lookups. |
| 681 | .sp |
| 682 | If no arguments are given, Exim runs in an interactive manner, prompting with a |
| 683 | right angle bracket for addresses to be verified. |
| 684 | .sp |
| 685 | Unlike the \fB\-be\fP test option, you cannot arrange for Exim to use the |
| 686 | readline() function, because it is running as \fIexim\fP and there are |
| 687 | security issues. |
| 688 | .sp |
| 689 | Verification differs from address testing (the \fB\-bt\fP option) in that routers |
| 690 | that have \fBno_verify\fP set are skipped, and if the address is accepted by a |
| 691 | router that has \fBfail_verify\fP set, verification fails. The address is |
| 692 | verified as a recipient if \fB\-bv\fP is used; to test verification for a sender |
| 693 | address, \fB\-bvs\fP should be used. |
| 694 | .sp |
| 695 | If the \fB\-v\fP option is not set, the output consists of a single line for each |
| 696 | address, stating whether it was verified or not, and giving a reason in the |
| 697 | latter case. Without \fB\-v\fP, generating more than one address by redirection |
| 698 | causes verification to end successfully, without considering the generated |
| 699 | addresses. However, if just one address is generated, processing continues, |
| 700 | and the generated address must verify successfully for the overall verification |
| 701 | to succeed. |
| 702 | .sp |
| 703 | When \fB\-v\fP is set, more details are given of how the address has been handled, |
| 704 | and in the case of address redirection, all the generated addresses are also |
| 705 | considered. Verification may succeed for some and fail for others. |
| 706 | .sp |
| 707 | The |
| 708 | return code is 2 if any address failed outright; it is 1 if no address |
| 709 | failed outright but at least one could not be resolved for some reason. Return |
| 710 | code 0 is given only when all addresses succeed. |
| 711 | .sp |
| 712 | If any of the routers in the configuration makes any tests on the sender |
| 713 | address of a message, you should use the \fB\-f\fP option to set an appropriate |
| 714 | sender when running \fB\-bv\fP tests. Without it, the sender is assumed to be the |
| 715 | calling user at the default qualifying domain. |
| 716 | .TP 10 |
| 717 | \fB\-bvs\fP |
| 718 | This option acts like \fB\-bv\fP, but verifies the address as a sender rather |
| 719 | than a recipient address. This affects any rewriting and qualification that |
| 720 | might happen. |
| 721 | .TP 10 |
| 722 | \fB\-bw\fP |
| 723 | This option runs Exim as a daemon, awaiting incoming SMTP connections, |
| 724 | similarly to the \fB\-bd\fP option. All port specifications on the command\-line |
| 725 | and in the configuration file are ignored. Queue\-running may not be specified. |
| 726 | .sp |
| 727 | In this mode, Exim expects to be passed a socket as fd 0 (stdin) which is |
| 728 | listening for connections. This permits the system to start up and have |
| 729 | inetd (or equivalent) listen on the SMTP ports, starting an Exim daemon for |
| 730 | each port only when the first connection is received. |
| 731 | .sp |
| 732 | If the option is given as \fB\-bw\fP<\fItime\fP> then the time is a timeout, after |
| 733 | which the daemon will exit, which should cause inetd to listen once more. |
| 734 | .TP 10 |
| 735 | \fB\-C\fP <\fIfilelist\fP> |
| 736 | This option causes Exim to find the runtime configuration file from the given |
| 737 | list instead of from the list specified by the CONFIGURE_FILE |
| 738 | compile\-time setting. Usually, the list will consist of just a single filename, |
| 739 | but it can be a colon\-separated list of names. In this case, the first |
| 740 | file that exists is used. Failure to open an existing file stops Exim from |
| 741 | proceeding any further along the list, and an error is generated. |
| 742 | .sp |
| 743 | When this option is used by a caller other than root, and the list is different |
| 744 | from the compiled\-in list, Exim gives up its root privilege immediately, and |
| 745 | runs with the real and effective uid and gid set to those of the caller. |
| 746 | However, if a TRUSTED_CONFIG_LIST file is defined in Local/Makefile, that |
| 747 | file contains a list of full pathnames, one per line, for configuration files |
| 748 | which are trusted. Root privilege is retained for any configuration file so |
| 749 | listed, as long as the caller is the Exim user (or the user specified in the |
| 750 | CONFIGURE_OWNER option, if any), and as long as the configuration file is |
| 751 | not writeable by inappropriate users or groups. |
| 752 | .sp |
| 753 | Leaving TRUSTED_CONFIG_LIST unset precludes the possibility of testing a |
| 754 | configuration using \fB\-C\fP right through message reception and delivery, |
| 755 | even if the caller is root. The reception works, but by that time, Exim is |
| 756 | running as the Exim user, so when it re\-executes to regain privilege for the |
| 757 | delivery, the use of \fB\-C\fP causes privilege to be lost. However, root can |
| 758 | test reception and delivery using two separate commands (one to put a message |
| 759 | in the queue, using \fB\-odq\fP, and another to do the delivery, using \fB\-M\fP). |
| 760 | .sp |
| 761 | If ALT_CONFIG_PREFIX is defined in Local/Makefile, it specifies a |
| 762 | prefix string with which any file named in a \fB\-C\fP command line option |
| 763 | must start. In addition, the filename must not contain the sequence /../. |
| 764 | However, if the value of the \fB\-C\fP option is identical to the value of |
| 765 | CONFIGURE_FILE in Local/Makefile, Exim ignores \fB\-C\fP and proceeds as |
| 766 | usual. There is no default setting for ALT_CONFIG_PREFIX; when it is |
| 767 | unset, any filename can be used with \fB\-C\fP. |
| 768 | .sp |
| 769 | ALT_CONFIG_PREFIX can be used to confine alternative configuration files |
| 770 | to a directory to which only root has access. This prevents someone who has |
| 771 | broken into the Exim account from running a privileged Exim with an arbitrary |
| 772 | configuration file. |
| 773 | .sp |
| 774 | The \fB\-C\fP facility is useful for ensuring that configuration files are |
| 775 | syntactically correct, but cannot be used for test deliveries, unless the |
| 776 | caller is privileged, or unless it is an exotic configuration that does not |
| 777 | require privilege. No check is made on the owner or group of the files |
| 778 | specified by this option. |
| 779 | .TP 10 |
| 780 | \fB\-D\fP<\fImacro\fP>=<\fIvalue\fP> |
| 781 | This option can be used to override macro definitions in the configuration file. However, like \fB\-C\fP, if it is used by an |
| 782 | unprivileged caller, it causes Exim to give up its root privilege. |
| 783 | If DISABLE_D_OPTION is defined in Local/Makefile, the use of \fB\-D\fP is |
| 784 | completely disabled, and its use causes an immediate error exit. |
| 785 | .sp |
| 786 | If WHITELIST_D_MACROS is defined in Local/Makefile then it should be a |
| 787 | colon\-separated list of macros which are considered safe and, if \fB\-D\fP only |
| 788 | supplies macros from this list, and the values are acceptable, then Exim will |
| 789 | not give up root privilege if the caller is root, the Exim run\-time user, or |
| 790 | the CONFIGURE_OWNER, if set. This is a transition mechanism and is expected |
| 791 | to be removed in the future. Acceptable values for the macros satisfy the |
| 792 | regexp: ^[A\-Za\-z0\-9_/.\-]*$ |
| 793 | .sp |
| 794 | The entire option (including equals sign if present) must all be within one |
| 795 | command line item. \fB\-D\fP can be used to set the value of a macro to the empty |
| 796 | string, in which case the equals sign is optional. These two commands are |
| 797 | synonymous: |
| 798 | .sp |
| 799 | exim \-DABC ... |
| 800 | exim \-DABC= ... |
| 801 | .sp |
| 802 | To include spaces in a macro definition item, quotes must be used. If you use |
| 803 | quotes, spaces are permitted around the macro name and the equals sign. For |
| 804 | example: |
| 805 | .sp |
| 806 | exim '\-D ABC = something' ... |
| 807 | .sp |
| 808 | \fB\-D\fP may be repeated up to 10 times on a command line. |
| 809 | Only macro names up to 22 letters long can be set. |
| 810 | .TP 10 |
| 811 | \fB\-d\fP<\fIdebug options\fP> |
| 812 | This option causes debugging information to be written to the standard |
| 813 | error stream. It is restricted to admin users because debugging output may show |
| 814 | database queries that contain password information. Also, the details of users' |
| 815 | filter files should be protected. If a non\-admin user uses \fB\-d\fP, Exim |
| 816 | writes an error message to the standard error stream and exits with a non\-zero |
| 817 | return code. |
| 818 | .sp |
| 819 | When \fB\-d\fP is used, \fB\-v\fP is assumed. If \fB\-d\fP is given on its own, a lot of |
| 820 | standard debugging data is output. This can be reduced, or increased to include |
| 821 | some more rarely needed information, by directly following \fB\-d\fP with a string |
| 822 | made up of names preceded by plus or minus characters. These add or remove sets |
| 823 | of debugging data, respectively. For example, \fB\-d+filter\fP adds filter |
| 824 | debugging, whereas \fB\-d\-all+filter\fP selects only filter debugging. Note that |
| 825 | no spaces are allowed in the debug setting. The available debugging categories |
| 826 | are: |
| 827 | .sp |
| 828 | acl ACL interpretation |
| 829 | auth authenticators |
| 830 | deliver general delivery logic |
| 831 | dns DNS lookups (see also resolver) |
| 832 | dnsbl DNS black list (aka RBL) code |
| 833 | exec arguments for execv() calls |
| 834 | expand detailed debugging for string expansions |
| 835 | filter filter handling |
| 836 | hints_lookup hints data lookups |
| 837 | host_lookup all types of name\-to\-IP address handling |
| 838 | ident ident lookup |
| 839 | interface lists of local interfaces |
| 840 | lists matching things in lists |
| 841 | load system load checks |
| 842 | local_scan can be used by local_scan() |
| 843 | lookup general lookup code and all lookups |
| 844 | memory memory handling |
| 845 | noutf8 modifier: avoid UTF\-8 line\-drawing |
| 846 | pid modifier: add pid to debug output lines |
| 847 | process_info setting info for the process log |
| 848 | queue_run queue runs |
| 849 | receive general message reception logic |
| 850 | resolver turn on the DNS resolver's debugging output |
| 851 | retry retry handling |
| 852 | rewrite address rewriting |
| 853 | route address routing |
| 854 | timestamp modifier: add timestamp to debug output lines |
| 855 | tls TLS logic |
| 856 | transport transports |
| 857 | uid changes of uid/gid and looking up uid/gid |
| 858 | verify address verification logic |
| 859 | all almost all of the above (see below), and also \fB\-v\fP |
| 860 | .sp |
| 861 | The all option excludes memory when used as +all, but includes it |
| 862 | for \-all. The reason for this is that +all is something that people |
| 863 | tend to use when generating debug output for Exim maintainers. If +memory |
| 864 | is included, an awful lot of output that is very rarely of interest is |
| 865 | generated, so it now has to be explicitly requested. However, \-all does |
| 866 | turn everything off. |
| 867 | .sp |
| 868 | The resolver option produces output only if the DNS resolver was compiled |
| 869 | with DEBUG enabled. This is not the case in some operating systems. Also, |
| 870 | unfortunately, debugging output from the DNS resolver is written to stdout |
| 871 | rather than stderr. |
| 872 | .sp |
| 873 | The default (\fB\-d\fP with no argument) omits expand, filter, |
| 874 | interface, load, memory, pid, resolver, and timestamp. |
| 875 | However, the pid selector is forced when debugging is turned on for a |
| 876 | daemon, which then passes it on to any re\-executed Exims. Exim also |
| 877 | automatically adds the pid to debug lines when several remote deliveries are |
| 878 | run in parallel. |
| 879 | .sp |
| 880 | The timestamp selector causes the current time to be inserted at the start |
| 881 | of all debug output lines. This can be useful when trying to track down delays |
| 882 | in processing. |
| 883 | The noutf8 selector disables the use of |
| 884 | UTF\-8 line\-drawing characters to group related information. |
| 885 | When disabled. ascii\-art is used instead. |
| 886 | Using the +all option does not set this modifier, |
| 887 | .sp |
| 888 | If the \fBdebug_print\fP option is set in any driver, it produces output whenever |
| 889 | any debugging is selected, or if \fB\-v\fP is used. |
| 890 | .TP 10 |
| 891 | \fB\-dd\fP<\fIdebug options\fP> |
| 892 | This option behaves exactly like \fB\-d\fP except when used on a command that |
| 893 | starts a daemon process. In that case, debugging is turned off for the |
| 894 | subprocesses that the daemon creates. Thus, it is useful for monitoring the |
| 895 | behaviour of the daemon without creating as much output as full debugging does. |
| 896 | .TP 10 |
| 897 | \fB\-dropcr\fP |
| 898 | This is an obsolete option that is now a no\-op. It used to affect the way Exim |
| 899 | handled CR and LF characters in incoming messages. |
| 900 | .TP 10 |
| 901 | \fB\-E\fP |
| 902 | This option specifies that an incoming message is a locally\-generated delivery |
| 903 | failure report. It is used internally by Exim when handling delivery failures |
| 904 | and is not intended for external use. Its only effect is to stop Exim |
| 905 | generating certain messages to the postmaster, as otherwise message cascades |
| 906 | could occur in some situations. As part of the same option, a message id may |
| 907 | follow the characters \fB\-E\fP. If it does, the log entry for the receipt of the |
| 908 | new message contains the id, following "R=", as a cross\-reference. |
| 909 | .TP 10 |
| 910 | \fB\-e\fP\fIx\fP |
| 911 | There are a number of Sendmail options starting with \fB\-oe\fP which seem to be |
| 912 | called by various programs without the leading \fBo\fP in the option. For |
| 913 | example, the \fBvacation\fP program uses \fB\-eq\fP. Exim treats all options of the |
| 914 | form \fB\-e\fP\fIx\fP as synonymous with the corresponding \fB\-oe\fP\fIx\fP options. |
| 915 | .TP 10 |
| 916 | \fB\-F\fP <\fIstring\fP> |
| 917 | This option sets the sender's full name for use when a locally\-generated |
| 918 | message is being accepted. In the absence of this option, the user's \fIgecos\fP |
| 919 | entry from the password data is used. As users are generally permitted to alter |
| 920 | their \fIgecos\fP entries, no security considerations are involved. White space |
| 921 | between \fB\-F\fP and the <\fIstring\fP> is optional. |
| 922 | .TP 10 |
| 923 | \fB\-f\fP <\fIaddress\fP> |
| 924 | This option sets the address of the envelope sender of a locally\-generated |
| 925 | message (also known as the return path). The option can normally be used only |
| 926 | by a trusted user, but \fBuntrusted_set_sender\fP can be set to allow untrusted |
| 927 | users to use it. |
| 928 | .sp |
| 929 | Processes running as root or the Exim user are always trusted. Other |
| 930 | trusted users are defined by the \fBtrusted_users\fP or \fBtrusted_groups\fP |
| 931 | options. In the absence of \fB\-f\fP, or if the caller is not trusted, the sender |
| 932 | of a local message is set to the caller's login name at the default qualify |
| 933 | domain. |
| 934 | .sp |
| 935 | There is one exception to the restriction on the use of \fB\-f\fP: an empty sender |
| 936 | can be specified by any user, trusted or not, to create a message that can |
| 937 | never provoke a bounce. An empty sender can be specified either as an empty |
| 938 | string, or as a pair of angle brackets with nothing between them, as in these |
| 939 | examples of shell commands: |
| 940 | .sp |
| 941 | exim \-f '<>' user@domain |
| 942 | exim \-f "" user@domain |
| 943 | .sp |
| 944 | In addition, the use of \fB\-f\fP is not restricted when testing a filter file |
| 945 | with \fB\-bf\fP or when testing or verifying addresses using the \fB\-bt\fP or |
| 946 | \fB\-bv\fP options. |
| 947 | .sp |
| 948 | Allowing untrusted users to change the sender address does not of itself make |
| 949 | it possible to send anonymous mail. Exim still checks that the \fIFrom:\fP header |
| 950 | refers to the local user, and if it does not, it adds a \fISender:\fP header, |
| 951 | though this can be overridden by setting \fBno_local_from_check\fP. |
| 952 | .sp |
| 953 | White |
| 954 | space between \fB\-f\fP and the <\fIaddress\fP> is optional (that is, they can be |
| 955 | given as two arguments or one combined argument). The sender of a |
| 956 | locally\-generated message can also be set (when permitted) by an initial |
| 957 | "From " line in the message \- see the description of \fB\-bm\fP above \- but |
| 958 | if \fB\-f\fP is also present, it overrides "From ". |
| 959 | .TP 10 |
| 960 | \fB\-G\fP |
| 961 | This option is equivalent to an ACL applying: |
| 962 | .sp |
| 963 | control = suppress_local_fixups |
| 964 | .sp |
| 965 | for every message received. Note that Sendmail will complain about such |
| 966 | bad formatting, where Exim silently just does not fix it up. This may change |
| 967 | in future. |
| 968 | .sp |
| 969 | As this affects audit information, the caller must be a trusted user to use |
| 970 | this option. |
| 971 | .TP 10 |
| 972 | \fB\-h\fP <\fInumber\fP> |
| 973 | This option is accepted for compatibility with Sendmail, but has no effect. (In |
| 974 | Sendmail it overrides the "hop count" obtained by counting \fIReceived:\fP |
| 975 | headers.) |
| 976 | .TP 10 |
| 977 | \fB\-i\fP |
| 978 | This option, which has the same effect as \fB\-oi\fP, specifies that a dot on a |
| 979 | line by itself should not terminate an incoming, non\-SMTP message. I can find |
| 980 | no documentation for this option in Solaris 2.4 Sendmail, but the \fImailx\fP |
| 981 | command in Solaris 2.4 uses it. See also \fB\-ti\fP. |
| 982 | .TP 10 |
| 983 | \fB\-L\fP <\fItag\fP> |
| 984 | This option is equivalent to setting \fBsyslog_processname\fP in the config |
| 985 | file and setting \fBlog_file_path\fP to syslog. |
| 986 | Its use is restricted to administrators. The configuration file has to be |
| 987 | read and parsed, to determine access rights, before this is set and takes |
| 988 | effect, so early configuration file errors will not honour this flag. |
| 989 | .sp |
| 990 | The tag should not be longer than 32 characters. |
| 991 | .TP 10 |
| 992 | \fB\-M\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 993 | This option requests Exim to run a delivery attempt on each message in turn. If |
| 994 | any of the messages are frozen, they are automatically thawed before the |
| 995 | delivery attempt. The settings of \fBqueue_domains\fP, \fBqueue_smtp_domains\fP, |
| 996 | and \fBhold_domains\fP are ignored. |
| 997 | .sp |
| 998 | Retry |
| 999 | hints for any of the addresses are overridden \- Exim tries to deliver even if |
| 1000 | the normal retry time has not yet been reached. This option requires the caller |
| 1001 | to be an admin user. However, there is an option called \fBprod_requires_admin\fP |
| 1002 | which can be set false to relax this restriction (and also the same requirement |
| 1003 | for the \fB\-q\fP, \fB\-R\fP, and \fB\-S\fP options). |
| 1004 | .sp |
| 1005 | The deliveries happen synchronously, that is, the original Exim process does |
| 1006 | not terminate until all the delivery attempts have finished. No output is |
| 1007 | produced unless there is a serious error. If you want to see what is happening, |
| 1008 | use the \fB\-v\fP option as well, or inspect Exim's main log. |
| 1009 | .TP 10 |
| 1010 | \fB\-Mar\fP <\fImessage id\fP> <\fIaddress\fP> <\fIaddress\fP> ... |
| 1011 | This option requests Exim to add the addresses to the list of recipients of the |
| 1012 | message ("ar" for "add recipients"). The first argument must be a message |
| 1013 | id, and the remaining ones must be email addresses. However, if the message is |
| 1014 | active (in the middle of a delivery attempt), it is not altered. This option |
| 1015 | can be used only by an admin user. |
| 1016 | .TP 10 |
| 1017 | \fB\-MC\fP <\fItransport\fP> <\fIhostname\fP> <\fIsequence number\fP> <\fImessage id\fP> |
| 1018 | This option is not intended for use by external callers. It is used internally |
| 1019 | by Exim to invoke another instance of itself to deliver a waiting message using |
| 1020 | an existing SMTP connection, which is passed as the standard input. This must be the final option, and the caller |
| 1021 | must be root or the Exim user in order to use it. |
| 1022 | .TP 10 |
| 1023 | \fB\-MCA\fP |
| 1024 | This option is not intended for use by external callers. It is used internally |
| 1025 | by Exim in conjunction with the \fB\-MC\fP option. It signifies that the |
| 1026 | connection to the remote host has been authenticated. |
| 1027 | .TP 10 |
| 1028 | \fB\-MCD\fP |
| 1029 | This option is not intended for use by external callers. It is used internally |
| 1030 | by Exim in conjunction with the \fB\-MC\fP option. It signifies that the |
| 1031 | remote host supports the ESMTP DSN extension. |
| 1032 | .TP 10 |
| 1033 | \fB\-MCG\fP <\fIqueue name\fP> |
| 1034 | This option is not intended for use by external callers. It is used internally |
| 1035 | by Exim in conjunction with the \fB\-MC\fP option. It signifies that an |
| 1036 | alternate queue is used, named by the following argument. |
| 1037 | .TP 10 |
| 1038 | \fB\-MCK\fP |
| 1039 | This option is not intended for use by external callers. It is used internally |
| 1040 | by Exim in conjunction with the \fB\-MC\fP option. It signifies that a |
| 1041 | remote host supports the ESMTP CHUNKING extension. |
| 1042 | .TP 10 |
| 1043 | \fB\-MCP\fP |
| 1044 | This option is not intended for use by external callers. It is used internally |
| 1045 | by Exim in conjunction with the \fB\-MC\fP option. It signifies that the server to |
| 1046 | which Exim is connected supports pipelining. |
| 1047 | .TP 10 |
| 1048 | \fB\-MCQ\fP <\fIprocess id\fP> <\fIpipe fd\fP> |
| 1049 | This option is not intended for use by external callers. It is used internally |
| 1050 | by Exim in conjunction with the \fB\-MC\fP option when the original delivery was |
| 1051 | started by a queue runner. It passes on the process id of the queue runner, |
| 1052 | together with the file descriptor number of an open pipe. Closure of the pipe |
| 1053 | signals the final completion of the sequence of processes that are passing |
| 1054 | messages through the same SMTP connection. |
| 1055 | .TP 10 |
| 1056 | \fB\-MCS\fP |
| 1057 | This option is not intended for use by external callers. It is used internally |
| 1058 | by Exim in conjunction with the \fB\-MC\fP option, and passes on the fact that the |
| 1059 | SMTP SIZE option should be used on messages delivered down the existing |
| 1060 | connection. |
| 1061 | .TP 10 |
| 1062 | \fB\-MCT\fP |
| 1063 | This option is not intended for use by external callers. It is used internally |
| 1064 | by Exim in conjunction with the \fB\-MC\fP option, and passes on the fact that the |
| 1065 | host to which Exim is connected supports TLS encryption. |
| 1066 | .TP 10 |
| 1067 | \fB\-MCt\fP <\fIIP address\fP> <\fIport\fP> <\fIcipher\fP> |
| 1068 | This option is not intended for use by external callers. It is used internally |
| 1069 | by Exim in conjunction with the \fB\-MC\fP option, and passes on the fact that the |
| 1070 | connection is being proxied by a parent process for handling TLS encryption. |
| 1071 | The arguments give the local address and port being proxied, and the TLS cipher. |
| 1072 | .TP 10 |
| 1073 | \fB\-Mc\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 1074 | This option requests Exim to run a delivery attempt on each message, in turn, |
| 1075 | but unlike the \fB\-M\fP option, it does check for retry hints, and respects any |
| 1076 | that are found. This option is not very useful to external callers. It is |
| 1077 | provided mainly for internal use by Exim when it needs to re\-invoke itself in |
| 1078 | order to regain root privilege for a delivery. |
| 1079 | However, \fB\-Mc\fP can be useful when testing, in order to run a delivery that |
| 1080 | respects retry times and other options such as \fBhold_domains\fP that are |
| 1081 | overridden when \fB\-M\fP is used. Such a delivery does not count as a queue run. |
| 1082 | If you want to run a specific delivery as if in a queue run, you should use |
| 1083 | \fB\-q\fP with a message id argument. A distinction between queue run deliveries |
| 1084 | and other deliveries is made in one or two places. |
| 1085 | .TP 10 |
| 1086 | \fB\-Mes\fP <\fImessage id\fP> <\fIaddress\fP> |
| 1087 | This option requests Exim to change the sender address in the message to the |
| 1088 | given address, which must be a fully qualified address or "<>" ("es" for |
| 1089 | "edit sender"). There must be exactly two arguments. The first argument must |
| 1090 | be a message id, and the second one an email address. However, if the message |
| 1091 | is active (in the middle of a delivery attempt), its status is not altered. |
| 1092 | This option can be used only by an admin user. |
| 1093 | .TP 10 |
| 1094 | \fB\-Mf\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 1095 | This option requests Exim to mark each listed message as "frozen". This |
| 1096 | prevents any delivery attempts taking place until the message is "thawed", |
| 1097 | either manually or as a result of the \fBauto_thaw\fP configuration option. |
| 1098 | However, if any of the messages are active (in the middle of a delivery |
| 1099 | attempt), their status is not altered. This option can be used only by an admin |
| 1100 | user. |
| 1101 | .TP 10 |
| 1102 | \fB\-Mg\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 1103 | This option requests Exim to give up trying to deliver the listed messages, |
| 1104 | including any that are frozen. However, if any of the messages are active, |
| 1105 | their status is not altered. For non\-bounce messages, a delivery error message |
| 1106 | is sent to the sender, containing the text "cancelled by administrator". |
| 1107 | Bounce messages are just discarded. This option can be used only by an admin |
| 1108 | user. |
| 1109 | .TP 10 |
| 1110 | \fB\-Mmad\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 1111 | This option requests Exim to mark all the recipient addresses in the messages |
| 1112 | as already delivered ("mad" for "mark all delivered"). However, if any |
| 1113 | message is active (in the middle of a delivery attempt), its status is not |
| 1114 | altered. This option can be used only by an admin user. |
| 1115 | .TP 10 |
| 1116 | \fB\-Mmd\fP <\fImessage id\fP> <\fIaddress\fP> <\fIaddress\fP> ... |
| 1117 | This option requests Exim to mark the given addresses as already delivered |
| 1118 | ("md" for "mark delivered"). The first argument must be a message id, and |
| 1119 | the remaining ones must be email addresses. These are matched to recipient |
| 1120 | addresses in the message in a case\-sensitive manner. If the message is active |
| 1121 | (in the middle of a delivery attempt), its status is not altered. This option |
| 1122 | can be used only by an admin user. |
| 1123 | .TP 10 |
| 1124 | \fB\-Mrm\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 1125 | This option requests Exim to remove the given messages from the queue. No |
| 1126 | bounce messages are sent; each message is simply forgotten. However, if any of |
| 1127 | the messages are active, their status is not altered. This option can be used |
| 1128 | only by an admin user or by the user who originally caused the message to be |
| 1129 | placed in the queue. |
| 1130 | .TP 10 |
| 1131 | \fB\-Mset\fP <\fImessage id\fP> |
| 1132 | This option is useful only in conjunction with \fB\-be\fP (that is, when testing |
| 1133 | string expansions). Exim loads the given message from its spool before doing |
| 1134 | the test expansions, thus setting message\-specific variables such as |
| 1135 | \fI$message_size\fP and the header variables. The \fI$recipients\fP variable is made |
| 1136 | available. This feature is provided to make it easier to test expansions that |
| 1137 | make use of these variables. However, this option can be used only by an admin |
| 1138 | user. See also \fB\-bem\fP. |
| 1139 | .TP 10 |
| 1140 | \fB\-Mt\fP <\fImessage id\fP> <\fImessage id\fP> ... |
| 1141 | This option requests Exim to "thaw" any of the listed messages that are |
| 1142 | "frozen", so that delivery attempts can resume. However, if any of the |
| 1143 | messages are active, their status is not altered. This option can be used only |
| 1144 | by an admin user. |
| 1145 | .TP 10 |
| 1146 | \fB\-Mvb\fP <\fImessage id\fP> |
| 1147 | This option causes the contents of the message body (\-D) spool file to be |
| 1148 | written to the standard output. This option can be used only by an admin user. |
| 1149 | .TP 10 |
| 1150 | \fB\-Mvc\fP <\fImessage id\fP> |
| 1151 | This option causes a copy of the complete message (header lines plus body) to |
| 1152 | be written to the standard output in RFC 2822 format. This option can be used |
| 1153 | only by an admin user. |
| 1154 | .TP 10 |
| 1155 | \fB\-Mvh\fP <\fImessage id\fP> |
| 1156 | This option causes the contents of the message headers (\-H) spool file to be |
| 1157 | written to the standard output. This option can be used only by an admin user. |
| 1158 | .TP 10 |
| 1159 | \fB\-Mvl\fP <\fImessage id\fP> |
| 1160 | This option causes the contents of the message log spool file to be written to |
| 1161 | the standard output. This option can be used only by an admin user. |
| 1162 | .TP 10 |
| 1163 | \fB\-m\fP |
| 1164 | This is apparently a synonym for \fB\-om\fP that is accepted by Sendmail, so Exim |
| 1165 | treats it that way too. |
| 1166 | .TP 10 |
| 1167 | \fB\-N\fP |
| 1168 | This is a debugging option that inhibits delivery of a message at the transport |
| 1169 | level. It implies \fB\-v\fP. Exim goes through many of the motions of delivery \- |
| 1170 | it just doesn't actually transport the message, but instead behaves as if it |
| 1171 | had successfully done so. However, it does not make any updates to the retry |
| 1172 | database, and the log entries for deliveries are flagged with "*>" rather |
| 1173 | than "=>". |
| 1174 | .sp |
| 1175 | Because \fB\-N\fP discards any message to which it applies, only root or the Exim |
| 1176 | user are allowed to use it with \fB\-bd\fP, \fB\-q\fP, \fB\-R\fP or \fB\-M\fP. In other |
| 1177 | words, an ordinary user can use it only when supplying an incoming message to |
| 1178 | which it will apply. Although transportation never fails when \fB\-N\fP is set, an |
| 1179 | address may be deferred because of a configuration problem on a transport, or a |
| 1180 | routing problem. Once \fB\-N\fP has been used for a delivery attempt, it sticks to |
| 1181 | the message, and applies to any subsequent delivery attempts that may happen |
| 1182 | for that message. |
| 1183 | .TP 10 |
| 1184 | \fB\-n\fP |
| 1185 | This option is interpreted by Sendmail to mean "no aliasing". |
| 1186 | For normal modes of operation, it is ignored by Exim. |
| 1187 | When combined with \fB\-bP\fP it makes the output more terse (suppresses |
| 1188 | option names, environment values and config pretty printing). |
| 1189 | .TP 10 |
| 1190 | \fB\-O\fP <\fIdata\fP> |
| 1191 | This option is interpreted by Sendmail to mean set option. It is ignored by |
| 1192 | Exim. |
| 1193 | .TP 10 |
| 1194 | \fB\-oA\fP <\fIfile name\fP> |
| 1195 | This option is used by Sendmail in conjunction with \fB\-bi\fP to specify an |
| 1196 | alternative alias filename. Exim handles \fB\-bi\fP differently; see the |
| 1197 | description above. |
| 1198 | .TP 10 |
| 1199 | \fB\-oB\fP <\fIn\fP> |
| 1200 | This is a debugging option which limits the maximum number of messages that can |
| 1201 | be delivered down one SMTP connection, overriding the value set in any smtp |
| 1202 | transport. If <\fIn\fP> is omitted, the limit is set to 1. |
| 1203 | .TP 10 |
| 1204 | \fB\-odb\fP |
| 1205 | This option applies to all modes in which Exim accepts incoming messages, |
| 1206 | including the listening daemon. It requests "background" delivery of such |
| 1207 | messages, which means that the accepting process automatically starts a |
| 1208 | delivery process for each message received, but does not wait for the delivery |
| 1209 | processes to finish. |
| 1210 | .sp |
| 1211 | When all the messages have been received, the reception process exits, |
| 1212 | leaving the delivery processes to finish in their own time. The standard output |
| 1213 | and error streams are closed at the start of each delivery process. |
| 1214 | This is the default action if none of the \fB\-od\fP options are present. |
| 1215 | .sp |
| 1216 | If one of the queueing options in the configuration file |
| 1217 | (\fBqueue_only\fP or \fBqueue_only_file\fP, for example) is in effect, \fB\-odb\fP |
| 1218 | overrides it if \fBqueue_only_override\fP is set true, which is the default |
| 1219 | setting. If \fBqueue_only_override\fP is set false, \fB\-odb\fP has no effect. |
| 1220 | .TP 10 |
| 1221 | \fB\-odf\fP |
| 1222 | This option requests "foreground" (synchronous) delivery when Exim has |
| 1223 | accepted a locally\-generated message. (For the daemon it is exactly the same as |
| 1224 | \fB\-odb\fP.) A delivery process is automatically started to deliver the message, |
| 1225 | and Exim waits for it to complete before proceeding. |
| 1226 | .sp |
| 1227 | The original Exim reception process does not finish until the delivery |
| 1228 | process for the final message has ended. The standard error stream is left open |
| 1229 | during deliveries. |
| 1230 | .sp |
| 1231 | However, like \fB\-odb\fP, this option has no effect if \fBqueue_only_override\fP is |
| 1232 | false and one of the queueing options in the configuration file is in effect. |
| 1233 | .sp |
| 1234 | If there is a temporary delivery error during foreground delivery, the |
| 1235 | message is left in the queue for later delivery, and the original reception |
| 1236 | process exits. |
| 1237 | .TP 10 |
| 1238 | \fB\-odi\fP |
| 1239 | This option is synonymous with \fB\-odf\fP. It is provided for compatibility with |
| 1240 | Sendmail. |
| 1241 | .TP 10 |
| 1242 | \fB\-odq\fP |
| 1243 | This option applies to all modes in which Exim accepts incoming messages, |
| 1244 | including the listening daemon. It specifies that the accepting process should |
| 1245 | not automatically start a delivery process for each message received. Messages |
| 1246 | are placed in the queue, and remain there until a subsequent queue runner |
| 1247 | process encounters them. There are several configuration options (such as |
| 1248 | \fBqueue_only\fP) that can be used to queue incoming messages under certain |
| 1249 | conditions. This option overrides all of them and also \fB\-odqs\fP. It always |
| 1250 | forces queueing. |
| 1251 | .TP 10 |
| 1252 | \fB\-odqs\fP |
| 1253 | This option is a hybrid between \fB\-odb\fP/\fB\-odi\fP and \fB\-odq\fP. |
| 1254 | However, like \fB\-odb\fP and \fB\-odi\fP, this option has no effect if |
| 1255 | \fBqueue_only_override\fP is false and one of the queueing options in the |
| 1256 | configuration file is in effect. |
| 1257 | .sp |
| 1258 | When \fB\-odqs\fP does operate, a delivery process is started for each incoming |
| 1259 | message, in the background by default, but in the foreground if \fB\-odi\fP is |
| 1260 | also present. The recipient addresses are routed, and local deliveries are done |
| 1261 | in the normal way. However, if any SMTP deliveries are required, they are not |
| 1262 | done at this time, so the message remains in the queue until a subsequent queue |
| 1263 | runner process encounters it. Because routing was done, Exim knows which |
| 1264 | messages are waiting for which hosts, and so a number of messages for the same |
| 1265 | host can be sent in a single SMTP connection. The \fBqueue_smtp_domains\fP |
| 1266 | configuration option has the same effect for specific domains. See also the |
| 1267 | \fB\-qq\fP option. |
| 1268 | .TP 10 |
| 1269 | \fB\-oee\fP |
| 1270 | If an error is detected while a non\-SMTP message is being received (for |
| 1271 | example, a malformed address), the error is reported to the sender in a mail |
| 1272 | message. |
| 1273 | .sp |
| 1274 | Provided |
| 1275 | this error message is successfully sent, the Exim receiving process |
| 1276 | exits with a return code of zero. If not, the return code is 2 if the problem |
| 1277 | is that the original message has no recipients, or 1 for any other error. |
| 1278 | This is the default \fB\-oe\fP\fIx\fP option if Exim is called as \fIrmail\fP. |
| 1279 | .TP 10 |
| 1280 | \fB\-oem\fP |
| 1281 | This is the same as \fB\-oee\fP, except that Exim always exits with a non\-zero |
| 1282 | return code, whether or not the error message was successfully sent. |
| 1283 | This is the default \fB\-oe\fP\fIx\fP option, unless Exim is called as \fIrmail\fP. |
| 1284 | .TP 10 |
| 1285 | \fB\-oep\fP |
| 1286 | If an error is detected while a non\-SMTP message is being received, the |
| 1287 | error is reported by writing a message to the standard error file (stderr). |
| 1288 | The return code is 1 for all errors. |
| 1289 | .TP 10 |
| 1290 | \fB\-oeq\fP |
| 1291 | This option is supported for compatibility with Sendmail, but has the same |
| 1292 | effect as \fB\-oep\fP. |
| 1293 | .TP 10 |
| 1294 | \fB\-oew\fP |
| 1295 | This option is supported for compatibility with Sendmail, but has the same |
| 1296 | effect as \fB\-oem\fP. |
| 1297 | .TP 10 |
| 1298 | \fB\-oi\fP |
| 1299 | This option, which has the same effect as \fB\-i\fP, specifies that a dot on a |
| 1300 | line by itself should not terminate an incoming, non\-SMTP message. Otherwise, a |
| 1301 | single dot does terminate, though Exim does no special processing for other |
| 1302 | lines that start with a dot. This option is set by default if Exim is called as |
| 1303 | \fIrmail\fP. See also \fB\-ti\fP. |
| 1304 | .TP 10 |
| 1305 | \fB\-oitrue\fP |
| 1306 | This option is treated as synonymous with \fB\-oi\fP. |
| 1307 | .TP 10 |
| 1308 | \fB\-oMa\fP <\fIhost address\fP> |
| 1309 | A number of options starting with \fB\-oM\fP can be used to set values associated |
| 1310 | with remote hosts on locally\-submitted messages (that is, messages not received |
| 1311 | over TCP/IP). These options can be used by any caller in conjunction with the |
| 1312 | \fB\-bh\fP, \fB\-be\fP, \fB\-bf\fP, \fB\-bF\fP, \fB\-bt\fP, or \fB\-bv\fP testing options. In |
| 1313 | other circumstances, they are ignored unless the caller is trusted. |
| 1314 | .sp |
| 1315 | The \fB\-oMa\fP option sets the sender host address. This may include a port |
| 1316 | number at the end, after a full stop (period). For example: |
| 1317 | .sp |
| 1318 | exim \-bs \-oMa 10.9.8.7.1234 |
| 1319 | .sp |
| 1320 | An alternative syntax is to enclose the IP address in square brackets, |
| 1321 | followed by a colon and the port number: |
| 1322 | .sp |
| 1323 | exim \-bs \-oMa [10.9.8.7]:1234 |
| 1324 | .sp |
| 1325 | The IP address is placed in the \fI$sender_host_address\fP variable, and the |
| 1326 | port, if present, in \fI$sender_host_port\fP. If both \fB\-oMa\fP and \fB\-bh\fP |
| 1327 | are present on the command line, the sender host IP address is taken from |
| 1328 | whichever one is last. |
| 1329 | .TP 10 |
| 1330 | \fB\-oMaa\fP <\fIname\fP> |
| 1331 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMaa\fP |
| 1332 | option sets the value of \fI$sender_host_authenticated\fP (the authenticator |
| 1333 | name). |
| 1334 | This option can be used with \fB\-bh\fP and \fB\-bs\fP to set up an |
| 1335 | authenticated SMTP session without actually using the SMTP AUTH command. |
| 1336 | .TP 10 |
| 1337 | \fB\-oMai\fP <\fIstring\fP> |
| 1338 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMai\fP |
| 1339 | option sets the value of \fI$authenticated_id\fP (the id that was authenticated). |
| 1340 | This overrides the default value (the caller's login id, except with \fB\-bh\fP, |
| 1341 | where there is no default) for messages from local sources. |
| 1342 | .TP 10 |
| 1343 | \fB\-oMas\fP <\fIaddress\fP> |
| 1344 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMas\fP |
| 1345 | option sets the authenticated sender value in \fI$authenticated_sender\fP. It |
| 1346 | overrides the sender address that is created from the caller's login id for |
| 1347 | messages from local sources, except when \fB\-bh\fP is used, when there is no |
| 1348 | default. For both \fB\-bh\fP and \fB\-bs\fP, an authenticated sender that is |
| 1349 | specified on a MAIL command overrides this value. |
| 1350 | .TP 10 |
| 1351 | \fB\-oMi\fP <\fIinterface address\fP> |
| 1352 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMi\fP |
| 1353 | option sets the IP interface address value. A port number may be included, |
| 1354 | using the same syntax as for \fB\-oMa\fP. The interface address is placed in |
| 1355 | \fI$received_ip_address\fP and the port number, if present, in \fI$received_port\fP. |
| 1356 | .TP 10 |
| 1357 | \fB\-oMm\fP <\fImessage reference\fP> |
| 1358 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMm\fP |
| 1359 | option sets the message reference, e.g. message\-id, and is logged during |
| 1360 | delivery. This is useful when some kind of audit trail is required to tie |
| 1361 | messages together. The format of the message reference is checked and will |
| 1362 | abort if the format is invalid. The option will only be accepted if exim is |
| 1363 | running in trusted mode, not as any regular user. |
| 1364 | .sp |
| 1365 | The best example of a message reference is when Exim sends a bounce message. |
| 1366 | The message reference is the message\-id of the original message for which Exim |
| 1367 | is sending the bounce. |
| 1368 | .TP 10 |
| 1369 | \fB\-oMr\fP <\fIprotocol name\fP> |
| 1370 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMr\fP |
| 1371 | option sets the received protocol value that is stored in |
| 1372 | \fI$received_protocol\fP. However, it does not apply (and is ignored) when \fB\-bh\fP |
| 1373 | or \fB\-bs\fP is used. For \fB\-bh\fP, the protocol is forced to one of the standard |
| 1374 | SMTP protocol names. For \fB\-bs\fP, the protocol is always "local\-" followed by |
| 1375 | one of those same names. For \fB\-bS\fP (batched SMTP) however, the protocol can |
| 1376 | be set by \fB\-oMr\fP. Repeated use of this option is not supported. |
| 1377 | .TP 10 |
| 1378 | \fB\-oMs\fP <\fIhost name\fP> |
| 1379 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMs\fP |
| 1380 | option sets the sender host name in \fI$sender_host_name\fP. When this option is |
| 1381 | present, Exim does not attempt to look up a host name from an IP address; it |
| 1382 | uses the name it is given. |
| 1383 | .TP 10 |
| 1384 | \fB\-oMt\fP <\fIident string\fP> |
| 1385 | See \fB\-oMa\fP above for general remarks about the \fB\-oM\fP options. The \fB\-oMt\fP |
| 1386 | option sets the sender ident value in \fI$sender_ident\fP. The default setting for |
| 1387 | local callers is the login id of the calling process, except when \fB\-bh\fP is |
| 1388 | used, when there is no default. |
| 1389 | .TP 10 |
| 1390 | \fB\-om\fP |
| 1391 | In Sendmail, this option means "me too", indicating that the sender of a |
| 1392 | message should receive a copy of the message if the sender appears in an alias |
| 1393 | expansion. Exim always does this, so the option does nothing. |
| 1394 | .TP 10 |
| 1395 | \fB\-oo\fP |
| 1396 | This option is ignored. In Sendmail it specifies "old style headers", |
| 1397 | whatever that means. |
| 1398 | .TP 10 |
| 1399 | \fB\-oP\fP <\fIpath\fP> |
| 1400 | This option is useful only in conjunction with \fB\-bd\fP or \fB\-q\fP with a time |
| 1401 | value. The option specifies the file to which the process id of the daemon is |
| 1402 | written. When \fB\-oX\fP is used with \fB\-bd\fP, or when \fB\-q\fP with a time is used |
| 1403 | without \fB\-bd\fP, this is the only way of causing Exim to write a pid file, |
| 1404 | because in those cases, the normal pid file is not used. |
| 1405 | .TP 10 |
| 1406 | \fB\-or\fP <\fItime\fP> |
| 1407 | This option sets a timeout value for incoming non\-SMTP messages. If it is not |
| 1408 | set, Exim will wait forever for the standard input. The value can also be set |
| 1409 | by the \fBreceive_timeout\fP option. |
| 1410 | .TP 10 |
| 1411 | \fB\-os\fP <\fItime\fP> |
| 1412 | This option sets a timeout value for incoming SMTP messages. The timeout |
| 1413 | applies to each SMTP command and block of data. The value can also be set by |
| 1414 | the \fBsmtp_receive_timeout\fP option; it defaults to 5 minutes. |
| 1415 | .TP 10 |
| 1416 | \fB\-ov\fP |
| 1417 | This option has exactly the same effect as \fB\-v\fP. |
| 1418 | .TP 10 |
| 1419 | \fB\-oX\fP <\fInumber or string\fP> |
| 1420 | This option is relevant only when the \fB\-bd\fP (start listening daemon) option |
| 1421 | is also given. It controls which ports and interfaces the daemon uses. When \fB\-oX\fP is used to start a daemon, no pid |
| 1422 | file is written unless \fB\-oP\fP is also present to specify a pid filename. |
| 1423 | .TP 10 |
| 1424 | \fB\-pd\fP |
| 1425 | This option applies when an embedded Perl interpreter is linked with Exim. It overrides the setting of the \fBperl_at_start\fP |
| 1426 | option, forcing the starting of the interpreter to be delayed until it is |
| 1427 | needed. |
| 1428 | .TP 10 |
| 1429 | \fB\-ps\fP |
| 1430 | This option applies when an embedded Perl interpreter is linked with Exim. It overrides the setting of the \fBperl_at_start\fP |
| 1431 | option, forcing the starting of the interpreter to occur as soon as Exim is |
| 1432 | started. |
| 1433 | .TP 10 |
| 1434 | \fB\-p\fP<\fIrval\fP>:<\fIsval\fP> |
| 1435 | For compatibility with Sendmail, this option is equivalent to |
| 1436 | .sp |
| 1437 | \-oMr <\fIrval\fP> \-oMs <\fIsval\fP> |
| 1438 | .sp |
| 1439 | It sets the incoming protocol and host name (for trusted callers). The |
| 1440 | host name and its colon can be omitted when only the protocol is to be set. |
| 1441 | Note the Exim already has two private options, \fB\-pd\fP and \fB\-ps\fP, that refer |
| 1442 | to embedded Perl. It is therefore impossible to set a protocol value of d |
| 1443 | or s using this option (but that does not seem a real limitation). |
| 1444 | Repeated use of this option is not supported. |
| 1445 | .TP 10 |
| 1446 | \fB\-q\fP |
| 1447 | This option is normally restricted to admin users. However, there is a |
| 1448 | configuration option called \fBprod_requires_admin\fP which can be set false to |
| 1449 | relax this restriction (and also the same requirement for the \fB\-M\fP, \fB\-R\fP, |
| 1450 | and \fB\-S\fP options). |
| 1451 | .sp |
| 1452 | If other commandline options do not specify an action, |
| 1453 | the \fB\-q\fP option starts one queue runner process. This scans the queue of |
| 1454 | waiting messages, and runs a delivery process for each one in turn. It waits |
| 1455 | for each delivery process to finish before starting the next one. A delivery |
| 1456 | process may not actually do any deliveries if the retry times for the addresses |
| 1457 | have not been reached. Use \fB\-qf\fP (see below) if you want to override this. |
| 1458 | .sp |
| 1459 | If |
| 1460 | the delivery process spawns other processes to deliver other messages down |
| 1461 | passed SMTP connections, the queue runner waits for these to finish before |
| 1462 | proceeding. |
| 1463 | .sp |
| 1464 | When all the queued messages have been considered, the original queue runner |
| 1465 | process terminates. In other words, a single pass is made over the waiting |
| 1466 | mail, one message at a time. Use \fB\-q\fP with a time (see below) if you want |
| 1467 | this to be repeated periodically. |
| 1468 | .sp |
| 1469 | Exim processes the waiting messages in an unpredictable order. It isn't very |
| 1470 | random, but it is likely to be different each time, which is all that matters. |
| 1471 | If one particular message screws up a remote MTA, other messages to the same |
| 1472 | MTA have a chance of getting through if they get tried first. |
| 1473 | .sp |
| 1474 | It is possible to cause the messages to be processed in lexical message id |
| 1475 | order, which is essentially the order in which they arrived, by setting the |
| 1476 | \fBqueue_run_in_order\fP option, but this is not recommended for normal use. |
| 1477 | .TP 10 |
| 1478 | \fB\-q\fP<\fIqflags\fP> |
| 1479 | The \fB\-q\fP option may be followed by one or more flag letters that change its |
| 1480 | behaviour. They are all optional, but if more than one is present, they must |
| 1481 | appear in the correct order. Each flag is described in a separate item below. |
| 1482 | .TP 10 |
| 1483 | \fB\-qq...\fP |
| 1484 | An option starting with \fB\-qq\fP requests a two\-stage queue run. In the first |
| 1485 | stage, the queue is scanned as if the \fBqueue_smtp_domains\fP option matched |
| 1486 | every domain. Addresses are routed, local deliveries happen, but no remote |
| 1487 | transports are run. |
| 1488 | .sp |
| 1489 | The hints database that remembers which messages are waiting for specific hosts |
| 1490 | is updated, as if delivery to those hosts had been deferred. After this is |
| 1491 | complete, a second, normal queue scan happens, with routing and delivery taking |
| 1492 | place as normal. Messages that are routed to the same host should mostly be |
| 1493 | delivered down a single SMTP |
| 1494 | connection because of the hints that were set up during the first queue scan. |
| 1495 | This option may be useful for hosts that are connected to the Internet |
| 1496 | intermittently. |
| 1497 | .TP 10 |
| 1498 | \fB\-q[q]i...\fP |
| 1499 | If the \fIi\fP flag is present, the queue runner runs delivery processes only for |
| 1500 | those messages that haven't previously been tried. (\fIi\fP stands for "initial |
| 1501 | delivery".) This can be helpful if you are putting messages in the queue using |
| 1502 | \fB\-odq\fP and want a queue runner just to process the new messages. |
| 1503 | .TP 10 |
| 1504 | \fB\-q[q][i]f...\fP |
| 1505 | If one \fIf\fP flag is present, a delivery attempt is forced for each non\-frozen |
| 1506 | message, whereas without \fIf\fP only those non\-frozen addresses that have passed |
| 1507 | their retry times are tried. |
| 1508 | .TP 10 |
| 1509 | \fB\-q[q][i]ff...\fP |
| 1510 | If \fIff\fP is present, a delivery attempt is forced for every message, whether |
| 1511 | frozen or not. |
| 1512 | .TP 10 |
| 1513 | \fB\-q[q][i][f[f]]l\fP |
| 1514 | The \fIl\fP (the letter "ell") flag specifies that only local deliveries are to |
| 1515 | be done. If a message requires any remote deliveries, it remains in the queue |
| 1516 | for later delivery. |
| 1517 | .TP 10 |
| 1518 | \fB\-q[q][i][f[f]][l][G<name>[/<time>]]]\fP |
| 1519 | If the \fIG\fP flag and a name is present, the queue runner operates on the |
| 1520 | queue with the given name rather than the default queue. |
| 1521 | The name should not contain a \fI/\fP character. |
| 1522 | For a periodic queue run (see below) |
| 1523 | append to the name a slash and a time value. |
| 1524 | .sp |
| 1525 | If other commandline options specify an action, a \fI\-qG<name>\fP option |
| 1526 | will specify a queue to operate on. |
| 1527 | For example: |
| 1528 | .sp |
| 1529 | exim \-bp \-qGquarantine |
| 1530 | mailq \-qGquarantine |
| 1531 | exim \-qGoffpeak \-Rf @special.domain.example |
| 1532 | .TP 10 |
| 1533 | \fB\-q\fP<\fIqflags\fP> <\fIstart id\fP> <\fIend id\fP> |
| 1534 | When scanning the queue, Exim can be made to skip over messages whose ids are |
| 1535 | lexically less than a given value by following the \fB\-q\fP option with a |
| 1536 | starting message id. For example: |
| 1537 | .sp |
| 1538 | exim \-q 0t5C6f\-0000c8\-00 |
| 1539 | .sp |
| 1540 | Messages that arrived earlier than 0t5C6f\-0000c8\-00 are not inspected. If a |
| 1541 | second message id is given, messages whose ids are lexically greater than it |
| 1542 | are also skipped. If the same id is given twice, for example, |
| 1543 | .sp |
| 1544 | exim \-q 0t5C6f\-0000c8\-00 0t5C6f\-0000c8\-00 |
| 1545 | .sp |
| 1546 | just one delivery process is started, for that message. This differs from |
| 1547 | \fB\-M\fP in that retry data is respected, and it also differs from \fB\-Mc\fP in |
| 1548 | that it counts as a delivery from a queue run. Note that the selection |
| 1549 | mechanism does not affect the order in which the messages are scanned. There |
| 1550 | are also other ways of selecting specific sets of messages for delivery in a |
| 1551 | queue run \- see \fB\-R\fP and \fB\-S\fP. |
| 1552 | .TP 10 |
| 1553 | \fB\-q\fP<\fIqflags\fP><\fItime\fP> |
| 1554 | When a time value is present, the \fB\-q\fP option causes Exim to run as a daemon, |
| 1555 | starting a queue runner process at intervals specified by the given time value. This form of the |
| 1556 | \fB\-q\fP option is commonly combined with the \fB\-bd\fP option, in which case a |
| 1557 | single daemon process handles both functions. A common way of starting up a |
| 1558 | combined daemon at system boot time is to use a command such as |
| 1559 | .sp |
| 1560 | /usr/exim/bin/exim \-bd \-q30m |
| 1561 | .sp |
| 1562 | Such a daemon listens for incoming SMTP calls, and also starts a queue runner |
| 1563 | process every 30 minutes. |
| 1564 | .sp |
| 1565 | When a daemon is started by \fB\-q\fP with a time value, but without \fB\-bd\fP, no |
| 1566 | pid file is written unless one is explicitly requested by the \fB\-oP\fP option. |
| 1567 | .TP 10 |
| 1568 | \fB\-qR\fP<\fIrsflags\fP> <\fIstring\fP> |
| 1569 | This option is synonymous with \fB\-R\fP. It is provided for Sendmail |
| 1570 | compatibility. |
| 1571 | .TP 10 |
| 1572 | \fB\-qS\fP<\fIrsflags\fP> <\fIstring\fP> |
| 1573 | This option is synonymous with \fB\-S\fP. |
| 1574 | .TP 10 |
| 1575 | \fB\-R\fP<\fIrsflags\fP> <\fIstring\fP> |
| 1576 | The <\fIrsflags\fP> may be empty, in which case the white space before the string |
| 1577 | is optional, unless the string is \fIf\fP, \fIff\fP, \fIr\fP, \fIrf\fP, or \fIrff\fP, |
| 1578 | which are the possible values for <\fIrsflags\fP>. White space is required if |
| 1579 | <\fIrsflags\fP> is not empty. |
| 1580 | .sp |
| 1581 | This option is similar to \fB\-q\fP with no time value, that is, it causes Exim to |
| 1582 | perform a single queue run, except that, when scanning the messages on the |
| 1583 | queue, Exim processes only those that have at least one undelivered recipient |
| 1584 | address containing the given string, which is checked in a case\-independent |
| 1585 | way. If the <\fIrsflags\fP> start with \fIr\fP, <\fIstring\fP> is interpreted as a |
| 1586 | regular expression; otherwise it is a literal string. |
| 1587 | .sp |
| 1588 | If you want to do periodic queue runs for messages with specific recipients, |
| 1589 | you can combine \fB\-R\fP with \fB\-q\fP and a time value. For example: |
| 1590 | .sp |
| 1591 | exim \-q25m \-R @special.domain.example |
| 1592 | .sp |
| 1593 | This example does a queue run for messages with recipients in the given domain |
| 1594 | every 25 minutes. Any additional flags that are specified with \fB\-q\fP are |
| 1595 | applied to each queue run. |
| 1596 | .sp |
| 1597 | Once a message is selected for delivery by this mechanism, all its addresses |
| 1598 | are processed. For the first selected message, Exim overrides any retry |
| 1599 | information and forces a delivery attempt for each undelivered address. This |
| 1600 | means that if delivery of any address in the first message is successful, any |
| 1601 | existing retry information is deleted, and so delivery attempts for that |
| 1602 | address in subsequently selected messages (which are processed without forcing) |
| 1603 | will run. However, if delivery of any address does not succeed, the retry |
| 1604 | information is updated, and in subsequently selected messages, the failing |
| 1605 | address will be skipped. |
| 1606 | .sp |
| 1607 | If the <\fIrsflags\fP> contain \fIf\fP or \fIff\fP, the delivery forcing applies to |
| 1608 | all selected messages, not just the first; frozen messages are included when |
| 1609 | \fIff\fP is present. |
| 1610 | .sp |
| 1611 | The \fB\-R\fP option makes it straightforward to initiate delivery of all messages |
| 1612 | to a given domain after a host has been down for some time. When the SMTP |
| 1613 | command ETRN is accepted by its ACL, its default |
| 1614 | effect is to run Exim with the \fB\-R\fP option, but it can be configured to run |
| 1615 | an arbitrary command instead. |
| 1616 | .TP 10 |
| 1617 | \fB\-r\fP |
| 1618 | This is a documented (for Sendmail) obsolete alternative name for \fB\-f\fP. |
| 1619 | .TP 10 |
| 1620 | \fB\-S\fP<\fIrsflags\fP> <\fIstring\fP> |
| 1621 | This option acts like \fB\-R\fP except that it checks the string against each |
| 1622 | message's sender instead of against the recipients. If \fB\-R\fP is also set, both |
| 1623 | conditions must be met for a message to be selected. If either of the options |
| 1624 | has \fIf\fP or \fIff\fP in its flags, the associated action is taken. |
| 1625 | .TP 10 |
| 1626 | \fB\-Tqt\fP <\fItimes\fP> |
| 1627 | This is an option that is exclusively for use by the Exim testing suite. It is not |
| 1628 | recognized when Exim is run normally. It allows for the setting up of explicit |
| 1629 | "queue times" so that various warning/retry features can be tested. |
| 1630 | .TP 10 |
| 1631 | \fB\-t\fP |
| 1632 | When Exim is receiving a locally\-generated, non\-SMTP message on its standard |
| 1633 | input, the \fB\-t\fP option causes the recipients of the message to be obtained |
| 1634 | from the \fITo:\fP, \fICc:\fP, and \fIBcc:\fP header lines in the message instead of |
| 1635 | from the command arguments. The addresses are extracted before any rewriting |
| 1636 | takes place and the \fIBcc:\fP header line, if present, is then removed. |
| 1637 | .sp |
| 1638 | If the command has any arguments, they specify addresses to which the message |
| 1639 | is \fInot\fP to be delivered. That is, the argument addresses are removed from |
| 1640 | the recipients list obtained from the headers. This is compatible with Smail 3 |
| 1641 | and in accordance with the documented behaviour of several versions of |
| 1642 | Sendmail, as described in man pages on a number of operating systems (e.g. |
| 1643 | Solaris 8, IRIX 6.5, HP\-UX 11). However, some versions of Sendmail \fIadd\fP |
| 1644 | argument addresses to those obtained from the headers, and the O'Reilly |
| 1645 | Sendmail book documents it that way. Exim can be made to add argument addresses |
| 1646 | instead of subtracting them by setting the option |
| 1647 | \fBextract_addresses_remove_arguments\fP false. |
| 1648 | .sp |
| 1649 | If there are any \fBResent\-\fP header lines in the message, Exim extracts |
| 1650 | recipients from all \fIResent\-To:\fP, \fIResent\-Cc:\fP, and \fIResent\-Bcc:\fP header |
| 1651 | lines instead of from \fITo:\fP, \fICc:\fP, and \fIBcc:\fP. This is for compatibility |
| 1652 | with Sendmail and other MTAs. (Prior to release 4.20, Exim gave an error if |
| 1653 | \fB\-t\fP was used in conjunction with \fBResent\-\fP header lines.) |
| 1654 | .sp |
| 1655 | RFC 2822 talks about different sets of \fBResent\-\fP header lines (for when a |
| 1656 | message is resent several times). The RFC also specifies that they should be |
| 1657 | added at the front of the message, and separated by \fIReceived:\fP lines. It is |
| 1658 | not at all clear how \fB\-t\fP should operate in the present of multiple sets, |
| 1659 | nor indeed exactly what constitutes a "set". |
| 1660 | In practice, it seems that MUAs do not follow the RFC. The \fBResent\-\fP lines |
| 1661 | are often added at the end of the header, and if a message is resent more than |
| 1662 | once, it is common for the original set of \fBResent\-\fP headers to be renamed as |
| 1663 | \fBX\-Resent\-\fP when a new set is added. This removes any possible ambiguity. |
| 1664 | .TP 10 |
| 1665 | \fB\-ti\fP |
| 1666 | This option is exactly equivalent to \fB\-t\fP \fB\-i\fP. It is provided for |
| 1667 | compatibility with Sendmail. |
| 1668 | .TP 10 |
| 1669 | \fB\-tls\-on\-connect\fP |
| 1670 | This option is available when Exim is compiled with TLS support. It forces all |
| 1671 | incoming SMTP connections to behave as if the incoming port is listed in the |
| 1672 | \fBtls_on_connect_ports\fP option. |
| 1673 | .TP 10 |
| 1674 | \fB\-U\fP |
| 1675 | Sendmail uses this option for "initial message submission", and its |
| 1676 | documentation states that in future releases, it may complain about |
| 1677 | syntactically invalid messages rather than fixing them when this flag is not |
| 1678 | set. Exim ignores this option. |
| 1679 | .TP 10 |
| 1680 | \fB\-v\fP |
| 1681 | This option causes Exim to write information to the standard error stream, |
| 1682 | describing what it is doing. In particular, it shows the log lines for |
| 1683 | receiving and delivering a message, and if an SMTP connection is made, the SMTP |
| 1684 | dialogue is shown. Some of the log lines shown may not actually be written to |
| 1685 | the log if the setting of \fBlog_selector\fP discards them. Any relevant |
| 1686 | selectors are shown with each log line. If none are shown, the logging is |
| 1687 | unconditional. |
| 1688 | .TP 10 |
| 1689 | \fB\-x\fP |
| 1690 | AIX uses \fB\-x\fP for a private purpose ("mail from a local mail program has |
| 1691 | National Language Support extended characters in the body of the mail item"). |
| 1692 | It sets \fB\-x\fP when calling the MTA from its \fBmail\fP command. Exim ignores |
| 1693 | this option. |
| 1694 | .TP 10 |
| 1695 | \fB\-X\fP <\fIlogfile\fP> |
| 1696 | This option is interpreted by Sendmail to cause debug information to be sent |
| 1697 | to the named file. It is ignored by Exim. |
| 1698 | .TP 10 |
| 1699 | \fB\-z\fP <\fIlog\-line\fP> |
| 1700 | This option writes its argument to Exim's logfile. |
| 1701 | Use is restricted to administrators; the intent is for operational notes. |
| 1702 | Quotes should be used to maintain a multi\-word item as a single argument, |
| 1703 | under most shells. |
| 1704 | .sp |
| 1705 | . |
| 1706 | .SH "SEE ALSO" |
| 1707 | .rs |
| 1708 | .sp |
| 1709 | The full Exim specification, the Exim book, and the Exim wiki. |