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