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 acl ACL interpretation
885 auth authenticators
886 deliver general delivery logic
887 dns DNS lookups (see also resolver)
888 dnsbl DNS black list (aka RBL) code
889 exec arguments for execv() calls
890 expand detailed debugging for string expansions
891 filter filter handling
892 hints_lookup hints data lookups
893 host_lookup all types of name-to-IP address handling
894 ident ident lookup
895 interface lists of local interfaces
896 lists matching things in lists
897 load system load checks
898 local_scan can be used by local_scan()
899 lookup general lookup code and all lookups
900 memory memory handling
901 noutf8 modifier: avoid UTF-8 line-drawing
902 pid modifier: add pid to debug output lines
903 process_info setting info for the process log
904 queue_run queue runs
905 receive general message reception logic
906 resolver turn on the DNS resolver's debugging output
907 retry retry handling
908 rewrite address rewriting"
909 route address routing
910 timestamp modifier: add timestamp to debug output lines
911 tls TLS logic
912 transport transports
913 uid changes of uid/gid and looking up uid/gid
914 verify address verification logic
915 all almost all of the above (see below), and also -v
916
917 The all option excludes memory when used as +all, but in‐
918 cludes it for -all. The reason for this is that +all is some‐
919 thing that people tend to use when generating debug output
920 for Exim maintainers. If +memory is included, an awful lot of
921 output that is very rarely of interest is generated, so it
922 now has to be explicitly requested. However, -all does turn
923 everything off.
924
925 The resolver option produces output only if the DNS resolver
926 was compiled with DEBUG enabled. This is not the case in some
927 operating systems. Also, unfortunately, debugging output from
928 the DNS resolver is written to stdout rather than stderr.
929
930 The default (-d with no argument) omits expand, filter, in‐
931 terface, load, memory, pid, resolver, and timestamp. How‐
932 ever, the pid selector is forced when debugging is turned on
933 for a daemon, which then passes it on to any re-executed Ex‐
934 ims. Exim also automatically adds the pid to debug lines when
935 several remote deliveries are run in parallel.
936
937 The timestamp selector causes the current time to be inserted
938 at the start of all debug output lines. This can be useful
939 when trying to track down delays in processing.
940
941 The noutf8 selector disables the use of UTF-8 line-drawing
942 characters to group related information. When disabled.
943 ascii-art is used instead. Using the +all option does not
944 set this modifier,
945
946 If the debug_print option is set in any driver, it produces
947 output whenever any debugging is selected, or if -v is used.
948
949 -dd<debug options>
950 This option behaves exactly like -d except when used on a
951 command that starts a daemon process. In that case, debugging
952 is turned off for the subprocesses that the daemon creates.
953 Thus, it is useful for monitoring the behaviour of the daemon
954 without creating as much output as full debugging does.
955
956 -dropcr This is an obsolete option that is now a no-op. It used to
957 affect the way Exim handled CR and LF characters in incoming
958 messages.
959
960 -E This option specifies that an incoming message is a lo‐
961 cally-generated delivery failure report. It is used inter‐
962 nally by Exim when handling delivery failures and is not in‐
963 tended for external use. Its only effect is to stop Exim gen‐
964 erating certain messages to the postmaster, as otherwise mes‐
965 sage cascades could occur in some situations. As part of the
966 same option, a message id may follow the characters -E. If it
967 does, the log entry for the receipt of the new message con‐
968 tains the id, following "R=", as a cross-reference.
969
970 -ex There are a number of Sendmail options starting with -oe
971 which seem to be called by various programs without the lead‐
972 ing o in the option. For example, the vacation program uses
973 -eq. Exim treats all options of the form -ex as synonymous
974 with the corresponding -oex options.
975
976 -F <string>
977 This option sets the sender's full name for use when a lo‐
978 cally-generated message is being accepted. In the absence of
979 this option, the user's gecos entry from the password data is
980 used. As users are generally permitted to alter their gecos
981 entries, no security considerations are involved. White space
982 between -F and the <string> is optional.
983
984 -f <address>
985 This option sets the address of the envelope sender of a lo‐
986 cally-generated message (also known as the return path). The
987 option can normally be used only by a trusted user, but un‐
988 trusted_set_sender can be set to allow untrusted users to use
989 it.
990
991 Processes running as root or the Exim user are always
992 trusted. Other trusted users are defined by the trusted_users
993 or trusted_groups options. In the absence of -f, or if the
994 caller is not trusted, the sender of a local message is set
995 to the caller's login name at the default qualify domain.
996
997 There is one exception to the restriction on the use of -f:
998 an empty sender can be specified by any user, trusted or not,
999 to create a message that can never provoke a bounce. An empty
1000 sender can be specified either as an empty string, or as a
1001 pair of angle brackets with nothing between them, as in these
1002 examples of shell commands:
1003
1004 exim -f '<>' user@domain
1005 exim -f "" user@domain
1006
1007 In addition, the use of -f is not restricted when testing a
1008 filter file with -bf or when testing or verifying addresses
1009 using the -bt or -bv options.
1010
1011 Allowing untrusted users to change the sender address does
1012 not of itself make it possible to send anonymous mail. Exim
1013 still checks that the From: header refers to the local user,
1014 and if it does not, it adds a Sender: header, though this can
1015 be overridden by setting no_local_from_check.
1016
1017 White space between -f and the <address> is optional (that
1018 is, they can be given as two arguments or one combined argu‐
1019 ment). The sender of a locally-generated message can also be
1020 set (when permitted) by an initial "From " line in the mes‐
1021 sage - see the description of -bm above - but if -f is also
1022 present, it overrides "From ".
1023
1024 -G This option is equivalent to an ACL applying:
1025
1026 control = suppress_local_fixups
1027
1028 for every message received. Note that Sendmail will complain
1029 about such bad formatting, where Exim silently just does not
1030 fix it up. This may change in future.
1031
1032 As this affects audit information, the caller must be a
1033 trusted user to use this option.
1034
1035 -h <number>
1036 This option is accepted for compatibility with Sendmail, but
1037 has no effect. (In Sendmail it overrides the "hop count" ob‐
1038 tained by counting Received: headers.)
1039
1040 -i This option, which has the same effect as -oi, specifies that
1041 a dot on a line by itself should not terminate an incoming,
1042 non-SMTP message. Solaris 2.4 (SunOS 5.4) Sendmail has a
1043 similar -i processing option https://docs.ora‐
1044 cle.com/cd/E19457-01/801-6680-1M/801-6680-1M.pdf, p. 1M-529),
1045 and therefore a -oi command line option, which both are used
1046 by its mailx command.
1047
1048 -L <tag> This option is equivalent to setting syslog_processname in
1049 the config file and setting log_file_path to syslog. Its use
1050 is restricted to administrators. The configuration file has
1051 to be read and parsed, to determine access rights, before
1052 this is set and takes effect, so early configuration file er‐
1053 rors will not honour this flag.
1054
1055 The tag should not be longer than 32 characters.
1056
1057 -M <message id> <message id> ...
1058 This option requests Exim to run a delivery attempt on each
1059 message in turn. If any of the messages are frozen, they are
1060 automatically thawed before the delivery attempt. The set‐
1061 tings of queue_domains, queue_smtp_domains, and hold_domains
1062 are ignored.
1063
1064 Retry hints for any of the addresses are overridden - Exim
1065 tries to deliver even if the normal retry time has not yet
1066 been reached. This option requires the caller to be an admin
1067 user. However, there is an option called prod_requires_admin
1068 which can be set false to relax this restriction (and also
1069 the same requirement for the -q, -R, and -S options).
1070
1071 The deliveries happen synchronously, that is, the original
1072 Exim process does not terminate until all the delivery at‐
1073 tempts have finished. No output is produced unless there is a
1074 serious error. If you want to see what is happening, use the
1075 -v option as well, or inspect Exim's main log.
1076
1077 -Mar <message id> <address> <address> ...
1078 This option requests Exim to add the addresses to the list of
1079 recipients of the message ("ar" for "add recipients"). The
1080 first argument must be a message id, and the remaining ones
1081 must be email addresses. However, if the message is active
1082 (in the middle of a delivery attempt), it is not altered.
1083 This option can be used only by an admin user.
1084
1085 -MC <transport> <hostname> <host IP> <sequence number> <message id>
1086 This option is not intended for use by external callers. It
1087 is used internally by Exim to invoke another instance of it‐
1088 self to deliver a waiting message using an existing SMTP con‐
1089 nection, which is passed as the standard input. This must be
1090 the final option, and the caller must be root or the Exim
1091 user in order to use it.
1092
1093 -MCA This option is not intended for use by external callers. It
1094 is used internally by Exim in conjunction with the -MC op‐
1095 tion. It signifies that the connection to the remote host has
1096 been authenticated.
1097
1098 -MCD This option is not intended for use by external callers. It
1099 is used internally by Exim in conjunction with the -MC op‐
1100 tion. It signifies that the remote host supports the ESMTP
1101 DSN extension.
1102
1103 -MCd This option is not intended for use by external callers. It
1104 is used internally by Exim in conjunction with the -d option
1105 to pass on an information string on the purpose of the
1106 process.
1107
1108 -MCG <queue name>
1109 This option is not intended for use by external callers. It
1110 is used internally by Exim in conjunction with the -MC op‐
1111 tion. It signifies that an alternate queue is used, named by
1112 the following argument.
1113
1114 -MCK This option is not intended for use by external callers. It
1115 is used internally by Exim in conjunction with the -MC op‐
1116 tion. It signifies that a remote host supports the ESMTP
1117 CHUNKING extension.
1118
1119 -MCL This option is not intended for use by external callers. It
1120 is used internally by Exim in conjunction with the -MC op‐
1121 tion. It signifies that the server to which Exim is connected
1122 advertised limits on numbers of mails, recipients or recipi‐
1123 ent domains. The limits are given by the following three ar‐
1124 guments.
1125
1126 -MCP This option is not intended for use by external callers. It
1127 is used internally by Exim in conjunction with the -MC op‐
1128 tion. It signifies that the server to which Exim is connected
1129 supports pipelining.
1130
1131 -MCp This option is not intended for use by external callers. It
1132 is used internally by Exim in conjunction with the -MC op‐
1133 tion. It signifies that the connection t a remote server is
1134 via a SOCKS proxy, using addresses and ports given by the
1135 following four arguments.
1136
1137 -MCQ <process id> <pipe fd>
1138 This option is not intended for use by external callers. It
1139 is used internally by Exim in conjunction with the -MC option
1140 when the original delivery was started by a queue runner. It
1141 passes on the process id of the queue runner, together with
1142 the file descriptor number of an open pipe. Closure of the
1143 pipe signals the final completion of the sequence of pro‐
1144 cesses that are passing messages through the same SMTP con‐
1145 nection.
1146
1147 -MCq <recipient address> <size>
1148 This option is not intended for use by external callers. It
1149 is used internally by Exim to implement quota checking for
1150 local users.
1151
1152 -MCS This option is not intended for use by external callers. It
1153 is used internally by Exim in conjunction with the -MC op‐
1154 tion, and passes on the fact that the ESMTP SIZE option
1155 should be used on messages delivered down the existing con‐
1156 nection.
1157
1158 -MCT This option is not intended for use by external callers. It
1159 is used internally by Exim in conjunction with the -MC op‐
1160 tion, and passes on the fact that the host to which Exim is
1161 connected supports TLS encryption.
1162
1163 -MCr <SNI>
1164 -MCs <SNI> These options are not intended for use by external
1165 callers. It is used internally by Exim in conjunction with
1166 the -MCt option, and passes on the fact that a TLS Server
1167 Name Indication was sent as part of the channel establish‐
1168 ment. The argument gives the SNI string. The "r" variant
1169 indicates a DANE-verified connection.
1170
1171 -MCt <IP address> <port> <cipher>
1172 This option is not intended for use by external callers. It
1173 is used internally by Exim in conjunction with the -MC op‐
1174 tion, and passes on the fact that the connection is being
1175 proxied by a parent process for handling TLS encryption. The
1176 arguments give the local address and port being proxied, and
1177 the TLS cipher.
1178
1179 -Mc <message id> <message id> ...
1180 This option requests Exim to run a delivery attempt on each
1181 message, in turn, but unlike the -M option, it does check for
1182 retry hints, and respects any that are found. This option is
1183 not very useful to external callers. It is provided mainly
1184 for internal use by Exim when it needs to re-invoke itself in
1185 order to regain root privilege for a delivery. However, -Mc
1186 can be useful when testing, in order to run a delivery that
1187 respects retry times and other options such as hold_domains
1188 that are overridden when -M is used. Such a delivery does not
1189 count as a queue run. If you want to run a specific delivery
1190 as if in a queue run, you should use -q with a message id ar‐
1191 gument. A distinction between queue run deliveries and other
1192 deliveries is made in one or two places.
1193
1194 -Mes <message id> <address>
1195 This option requests Exim to change the sender address in the
1196 message to the given address, which must be a fully qualified
1197 address or "<>" ("es" for "edit sender"). There must be ex‐
1198 actly two arguments. The first argument must be a message id,
1199 and the second one an email address. However, if the message
1200 is active (in the middle of a delivery attempt), its status
1201 is not altered. This option can be used only by an admin
1202 user.
1203
1204 -Mf <message id> <message id> ...
1205 This option requests Exim to mark each listed message as
1206 "frozen". This prevents any delivery attempts taking place
1207 until the message is "thawed", either manually or as a result
1208 of the auto_thaw configuration option. However, if any of
1209 the messages are active (in the middle of a delivery at‐
1210 tempt), their status is not altered. This option can be used
1211 only by an admin user.
1212
1213 -Mg <message id> <message id> ...
1214 This option requests Exim to give up trying to deliver the
1215 listed messages, including any that are frozen. However, if
1216 any of the messages are active, their status is not altered.
1217 For non-bounce messages, a delivery error message is sent to
1218 the sender, containing the text "cancelled by administrator".
1219 Bounce messages are just discarded. This option can be used
1220 only by an admin user.
1221
1222 -MG <queue name> <message id> <message id> ...
1223 This option requests that each listed message be moved from
1224 its current queue to the given named queue. The destination
1225 queue name argument is required, but can be an empty string
1226 to define the default queue. If the messages are not cur‐
1227 rently located in the default queue, a -qG<name> option will
1228 be required to define the source queue.
1229
1230 -Mmad <message id> <message id> ...
1231 This option requests Exim to mark all the recipient addresses
1232 in the messages as already delivered ("mad" for "mark all de‐
1233 livered"). However, if any message is active (in the middle
1234 of a delivery attempt), its status is not altered. This op‐
1235 tion can be used only by an admin user.
1236
1237 -Mmd <message id> <address> <address> ...
1238 This option requests Exim to mark the given addresses as al‐
1239 ready delivered ("md" for "mark delivered"). The first argu‐
1240 ment must be a message id, and the remaining ones must be
1241 email addresses. These are matched to recipient addresses in
1242 the message in a case-sensitive manner. If the message is ac‐
1243 tive (in the middle of a delivery attempt), its status is not
1244 altered. This option can be used only by an admin user.
1245
1246 -Mrm <message id> <message id> ...
1247 This option requests Exim to remove the given messages from
1248 the queue. No bounce messages are sent; each message is sim‐
1249 ply forgotten. However, if any of the messages are active,
1250 their status is not altered. This option can be used only by
1251 an admin user or by the user who originally caused the mes‐
1252 sage to be placed in the queue.
1253
1254 -Mset <message id>
1255 This option is useful only in conjunction with -be (that is,
1256 when testing string expansions). Exim loads the given message
1257 from its spool before doing the test expansions, thus setting
1258 message-specific variables such as $message_size and the
1259 header variables. The $recipients variable is made available.
1260 This feature is provided to make it easier to test expansions
1261 that make use of these variables. However, this option can be
1262 used only by an admin user. See also -bem.
1263
1264 -Mt <message id> <message id> ...
1265 This option requests Exim to "thaw" any of the listed mes‐
1266 sages that are "frozen", so that delivery attempts can re‐
1267 sume. However, if any of the messages are active, their sta‐
1268 tus is not altered. This option can be used only by an admin
1269 user.
1270
1271 -Mvb <message id>
1272 This option causes the contents of the message body (-D)
1273 spool file to be written to the standard output. This option
1274 can be used only by an admin user.
1275
1276 -Mvc <message id>
1277 This option causes a copy of the complete message (header
1278 lines plus body) to be written to the standard output in RFC
1279 2822 format. This option can be used only by an admin user.
1280
1281 -Mvh <message id>
1282 This option causes the contents of the message headers (-H)
1283 spool file to be written to the standard output. This option
1284 can be used only by an admin user.
1285
1286 -Mvl <message id>
1287 This option causes the contents of the message log spool file
1288 to be written to the standard output. This option can be used
1289 only by an admin user.
1290
1291 -m This is a synonym for -om that is accepted by Sendmail
1292 (https://docs.ora‐
1293 cle.com/cd/E19457-01/801-6680-1M/801-6680-1M.pdf p. 1M-258),
1294 so Exim treats it that way too.
1295
1296 -N This is a debugging option that inhibits delivery of a mes‐
1297 sage at the transport level. It implies -v. Exim goes through
1298 many of the motions of delivery - it just doesn't actually
1299 transport the message, but instead behaves as if it had suc‐
1300 cessfully done so. However, it does not make any updates to
1301 the retry database, and the log entries for deliveries are
1302 flagged with "*>" rather than "=>".
1303
1304 Because -N discards any message to which it applies, only
1305 root or the Exim user are allowed to use it with -bd, -q, -R
1306 or -M. In other words, an ordinary user can use it only when
1307 supplying an incoming message to which it will apply. Al‐
1308 though transportation never fails when -N is set, an address
1309 may be deferred because of a configuration problem on a
1310 transport, or a routing problem. Once -N has been used for a
1311 delivery attempt, it sticks to the message, and applies to
1312 any subsequent delivery attempts that may happen for that
1313 message.
1314
1315 -n This option is interpreted by Sendmail to mean "no aliasing".
1316 For normal modes of operation, it is ignored by Exim. When
1317 combined with -bP it makes the output more terse (suppresses
1318 option names, environment values and config pretty printing).
1319
1320 -O <data> This option is interpreted by Sendmail to mean set option. It
1321 is ignored by Exim.
1322
1323 -oA <file name>
1324 This option is used by Sendmail in conjunction with -bi to
1325 specify an alternative alias filename. Exim handles -bi dif‐
1326 ferently; see the description above.
1327
1328 -oB <n> This is a debugging option which limits the maximum number of
1329 messages that can be delivered down one SMTP connection,
1330 overriding the value set in any smtp transport. If <n> is
1331 omitted, the limit is set to 1.
1332
1333 -odb This option applies to all modes in which Exim accepts incom‐
1334 ing messages, including the listening daemon. It requests
1335 "background" delivery of such messages, which means that the
1336 accepting process automatically starts a delivery process for
1337 each message received, but does not wait for the delivery
1338 processes to finish.
1339
1340 When all the messages have been received, the reception
1341 process exits, leaving the delivery processes to finish in
1342 their own time. The standard output and error streams are
1343 closed at the start of each delivery process. This is the
1344 default action if none of the -od options are present.
1345
1346 If one of the queueing options in the configuration file
1347 (queue_only or queue_only_file, for example) is in effect,
1348 -odb overrides it if queue_only_override is set true, which
1349 is the default setting. If queue_only_override is set false,
1350 -odb has no effect.
1351
1352 -odf This option requests "foreground" (synchronous) delivery when
1353 Exim has accepted a locally-generated message. (For the dae‐
1354 mon it is exactly the same as -odb.) A delivery process is
1355 automatically started to deliver the message, and Exim waits
1356 for it to complete before proceeding.
1357
1358 The original Exim reception process does not finish until the
1359 delivery process for the final message has ended. The stan‐
1360 dard error stream is left open during deliveries.
1361
1362 However, like -odb, this option has no effect if
1363 queue_only_override is false and one of the queueing options
1364 in the configuration file is in effect.
1365
1366 If there is a temporary delivery error during foreground de‐
1367 livery, the message is left in the queue for later delivery,
1368 and the original reception process exits.
1369
1370 -odi This option is synonymous with -odf. It is provided for com‐
1371 patibility with Sendmail.
1372
1373 -odq This option applies to all modes in which Exim accepts incom‐
1374 ing messages, including the listening daemon. It specifies
1375 that the accepting process should not automatically start a
1376 delivery process for each message received. Messages are
1377 placed in the queue, and remain there until a subsequent
1378 queue runner process encounters them. There are several con‐
1379 figuration options (such as queue_only) that can be used to
1380 queue incoming messages under certain conditions. This option
1381 overrides all of them and also -odqs. It always forces queue‐
1382 ing.
1383
1384 -odqs This option is a hybrid between -odb/-odi and -odq. However,
1385 like -odb and -odi, this option has no effect if
1386 queue_only_override is false and one of the queueing options
1387 in the configuration file is in effect.
1388
1389 When -odqs does operate, a delivery process is started for
1390 each incoming message, in the background by default, but in
1391 the foreground if -odi is also present. The recipient ad‐
1392 dresses are routed, and local deliveries are done in the nor‐
1393 mal way. However, if any SMTP deliveries are required, they
1394 are not done at this time, so the message remains in the
1395 queue until a subsequent queue runner process encounters it.
1396 Because routing was done, Exim knows which messages are wait‐
1397 ing for which hosts, and so a number of messages for the same
1398 host can be sent in a single SMTP connection. The
1399 queue_smtp_domains configuration option has the same effect
1400 for specific domains. See also the -qq option.
1401
1402 -oee If an error is detected while a non-SMTP message is being re‐
1403 ceived (for example, a malformed address), the error is re‐
1404 ported to the sender in a mail message.
1405
1406 Provided this error message is successfully sent, the Exim
1407 receiving process exits with a return code of zero. If not,
1408 the return code is 2 if the problem is that the original mes‐
1409 sage has no recipients, or 1 for any other error. This is
1410 the default -oex option if Exim is called as rmail.
1411
1412 -oem This is the same as -oee, except that Exim always exits with
1413 a non-zero return code, whether or not the error message was
1414 successfully sent. This is the default -oex option, unless
1415 Exim is called as rmail.
1416
1417 -oep If an error is detected while a non-SMTP message is being re‐
1418 ceived, the error is reported by writing a message to the
1419 standard error file (stderr). The return code is 1 for all
1420 errors.
1421
1422 -oeq This option is supported for compatibility with Sendmail, but
1423 has the same effect as -oep.
1424
1425 -oew This option is supported for compatibility with Sendmail, but
1426 has the same effect as -oem.
1427
1428 -oi This option, which has the same effect as -i, specifies that
1429 a dot on a line by itself should not terminate an incoming,
1430 non-SMTP message. Otherwise, a single dot does terminate,
1431 though Exim does no special processing for other lines that
1432 start with a dot. This option is set by default if Exim is
1433 called as rmail. See also -ti.
1434
1435 -oitrue This option is treated as synonymous with -oi.
1436
1437 -oMa <host address>
1438 A number of options starting with -oM can be used to set val‐
1439 ues associated with remote hosts on locally-submitted mes‐
1440 sages (that is, messages not received over TCP/IP). These op‐
1441 tions can be used by any caller in conjunction with the -bh,
1442 -be, -bf, -bF, -bt, or -bv testing options. In other circum‐
1443 stances, they are ignored unless the caller is trusted.
1444
1445 The -oMa option sets the sender host address. This may in‐
1446 clude a port number at the end, after a full stop (period).
1447 For example:
1448
1449 exim -bs -oMa 10.9.8.7.1234
1450
1451 An alternative syntax is to enclose the IP address in square
1452 brackets, followed by a colon and the port number:
1453
1454 exim -bs -oMa [10.9.8.7]:1234
1455
1456 The IP address is placed in the $sender_host_address vari‐
1457 able, and the port, if present, in $sender_host_port. If both
1458 -oMa and -bh are present on the command line, the sender host
1459 IP address is taken from whichever one is last.
1460
1461 -oMaa <name>
1462 See -oMa above for general remarks about the -oM options. The
1463 -oMaa option sets the value of $sender_host_authenticated
1464 (the authenticator name). This option can be used with -bh
1465 and -bs to set up an authenticated SMTP session without actu‐
1466 ally using the SMTP AUTH command.
1467
1468 -oMai <string>
1469 See -oMa above for general remarks about the -oM options. The
1470 -oMai option sets the value of $authenticated_id (the id that
1471 was authenticated). This overrides the default value (the
1472 caller's login id, except with -bh, where there is no de‐
1473 fault) for messages from local sources.
1474
1475 -oMas <address>
1476 See -oMa above for general remarks about the -oM options. The
1477 -oMas option sets the authenticated sender value in $authen‐
1478 ticated_sender. It overrides the sender address that is cre‐
1479 ated from the caller's login id for messages from local
1480 sources, except when -bh is used, when there is no default.
1481 For both -bh and -bs, an authenticated sender that is speci‐
1482 fied on a MAIL command overrides this value.
1483
1484 -oMi <interface address>
1485 See -oMa above for general remarks about the -oM options. The
1486 -oMi option sets the IP interface address value. A port num‐
1487 ber may be included, using the same syntax as for -oMa. The
1488 interface address is placed in $received_ip_address and the
1489 port number, if present, in $received_port.
1490
1491 -oMm <message reference>
1492 See -oMa above for general remarks about the -oM options. The
1493 -oMm option sets the message reference, e.g. message-id, and
1494 is logged during delivery. This is useful when some kind of
1495 audit trail is required to tie messages together. The format
1496 of the message reference is checked and will abort if the
1497 format is invalid. The option will only be accepted if exim
1498 is running in trusted mode, not as any regular user.
1499
1500 The best example of a message reference is when Exim sends a
1501 bounce message. The message reference is the message-id of
1502 the original message for which Exim is sending the bounce.
1503
1504 -oMr <protocol name>
1505 See -oMa above for general remarks about the -oM options. The
1506 -oMr option sets the received protocol value that is stored
1507 in $received_protocol. However, it does not apply (and is ig‐
1508 nored) when -bh or -bs is used. For -bh, the protocol is
1509 forced to one of the standard SMTP protocol names. For -bs,
1510 the protocol is always "local-" followed by one of those same
1511 names. For -bS (batched SMTP) however, the protocol can be
1512 set by -oMr. Repeated use of this option is not supported.
1513
1514 -oMs <host name>
1515 See -oMa above for general remarks about the -oM options. The
1516 -oMs option sets the sender host name in $sender_host_name.
1517 When this option is present, Exim does not attempt to look up
1518 a host name from an IP address; it uses the name it is given.
1519
1520 -oMt <ident string>
1521 See -oMa above for general remarks about the -oM options. The
1522 -oMt option sets the sender ident value in $sender_ident. The
1523 default setting for local callers is the login id of the
1524 calling process, except when -bh is used, when there is no
1525 default.
1526
1527 -om In Sendmail, this option means "me too", indicating that the
1528 sender of a message should receive a copy of the message if
1529 the sender appears in an alias expansion. Exim always does
1530 this, so the option does nothing.
1531
1532 -oo This option is ignored. In Sendmail it specifies "old style
1533 headers", whatever that means.
1534
1535 -oP <path>
1536 This option is useful only in conjunction with -bd or -q with
1537 a time value. The option specifies the file to which the
1538 process id of the daemon is written. When -oX is used with
1539 -bd, or when -q with a time is used without -bd, this is the
1540 only way of causing Exim to write a pid file, because in
1541 those cases, the normal pid file is not used.
1542
1543 -oPX This option is not intended for general use. The daemon uses
1544 it when terminating due to a SIGTEM, possibly in combination
1545 with -oP <path>. It causes the pid file to be removed.
1546
1547 -or <time>
1548 This option sets a timeout value for incoming non-SMTP mes‐
1549 sages. If it is not set, Exim will wait forever for the stan‐
1550 dard input. The value can also be set by the receive_timeout
1551 option.
1552
1553 -os <time>
1554 This option sets a timeout value for incoming SMTP messages.
1555 The timeout applies to each SMTP command and block of data.
1556 The value can also be set by the smtp_receive_timeout option;
1557 it defaults to 5 minutes.
1558
1559 -ov This option has exactly the same effect as -v.
1560
1561 -oX <number or string>
1562 This option is relevant only when the -bd (start listening
1563 daemon) option is also given. It controls which ports and in‐
1564 terfaces the daemon uses. When -oX is used to start a daemon,
1565 no pid file is written unless -oP is also present to specify
1566 a pid filename.
1567
1568 -oY This option controls the creation of an inter-process commu‐
1569 nications endpoint by the Exim daemon. It is only relevant
1570 when the -bd (start listening daemon) option is also given.
1571 Normally the daemon creates this socket, unless a -oX and no
1572 -oP option is also present. If this option is given then the
1573 socket will not be created. This could be required if the
1574 system is running multiple daemons.
1575
1576 The socket is currently used for
1577
1578 fast ramp-up of queue runner processes
1579
1580 obtaining a current queue size
1581
1582 -pd This option applies when an embedded Perl interpreter is
1583 linked with Exim. It overrides the setting of the
1584 perl_at_start option, forcing the starting of the interpreter
1585 to be delayed until it is needed.
1586
1587 -ps This option applies when an embedded Perl interpreter is
1588 linked with Exim. It overrides the setting of the
1589 perl_at_start option, forcing the starting of the interpreter
1590 to occur as soon as Exim is started.
1591
1592 -p<rval>:<sval>
1593 For compatibility with Sendmail, this option is equivalent to
1594
1595 -oMr <rval> -oMs <sval>
1596
1597 It sets the incoming protocol and host name (for trusted
1598 callers). The host name and its colon can be omitted when
1599 only the protocol is to be set. Note the Exim already has
1600 two private options, -pd and -ps, that refer to embedded
1601 Perl. It is therefore impossible to set a protocol value of d
1602 or s using this option (but that does not seem a real limita‐
1603 tion). Repeated use of this option is not supported.
1604
1605 -q This option is normally restricted to admin users. However,
1606 there is a configuration option called prod_requires_admin
1607 which can be set false to relax this restriction (and also
1608 the same requirement for the -M, -R, and -S options).
1609
1610 If other commandline options do not specify an action, the -q
1611 option starts one queue runner process. This scans the queue
1612 of waiting messages, and runs a delivery process for each one
1613 in turn. It waits for each delivery process to finish before
1614 starting the next one. A delivery process may not actually do
1615 any deliveries if the retry times for the addresses have not
1616 been reached. Use -qf (see below) if you want to override
1617 this.
1618
1619 If the delivery process spawns other processes to deliver
1620 other messages down passed SMTP connections, the queue runner
1621 waits for these to finish before proceeding.
1622
1623 When all the queued messages have been considered, the origi‐
1624 nal queue runner process terminates. In other words, a single
1625 pass is made over the waiting mail, one message at a time.
1626 Use -q with a time (see below) if you want this to be re‐
1627 peated periodically.
1628
1629 Exim processes the waiting messages in an unpredictable or‐
1630 der. It isn't very random, but it is likely to be different
1631 each time, which is all that matters. If one particular mes‐
1632 sage screws up a remote MTA, other messages to the same MTA
1633 have a chance of getting through if they get tried first.
1634
1635 It is possible to cause the messages to be processed in lexi‐
1636 cal message id order, which is essentially the order in which
1637 they arrived, by setting the queue_run_in_order option, but
1638 this is not recommended for normal use.
1639
1640 -q<qflags>
1641 The -q option may be followed by one or more flag letters
1642 that change its behaviour. They are all optional, but if more
1643 than one is present, they must appear in the correct order.
1644 Each flag is described in a separate item below.
1645
1646 -qq... An option starting with -qq requests a two-stage queue run.
1647 In the first stage, the queue is scanned as if the
1648 queue_smtp_domains option matched every domain. Addresses are
1649 routed, local deliveries happen, but no remote transports are
1650 run.
1651
1652 Performance will be best if the queue_run_in_order option is
1653 false. If that is so and the queue_fast_ramp option is true
1654 then in the first phase of the run, once a threshold number
1655 of messages are routed for a given host, a delivery process
1656 is forked in parallel with the rest of the scan.
1657
1658 The hints database that remembers which messages are waiting
1659 for specific hosts is updated, as if delivery to those hosts
1660 had been deferred. After this is complete, a second, normal
1661 queue scan happens, with routing and delivery taking place as
1662 normal. Messages that are routed to the same host should
1663 mostly be delivered down a single SMTP connection because of
1664 the hints that were set up during the first queue scan. This
1665 option may be useful for hosts that are connected to the In‐
1666 ternet intermittently.
1667
1668 -q[q]i... If the i flag is present, the queue runner runs delivery pro‐
1669 cesses only for those messages that haven't previously been
1670 tried. (i stands for "initial delivery".) This can be helpful
1671 if you are putting messages in the queue using -odq and want
1672 a queue runner just to process the new messages.
1673
1674 -q[q][i]f...
1675 If one f flag is present, a delivery attempt is forced for
1676 each non-frozen message, whereas without f only those
1677 non-frozen addresses that have passed their retry times are
1678 tried.
1679
1680 -q[q][i]ff...
1681 If ff is present, a delivery attempt is forced for every mes‐
1682 sage, whether frozen or not.
1683
1684 -q[q][i][f[f]]l
1685 The l (the letter "ell") flag specifies that only local de‐
1686 liveries are to be done. If a message requires any remote de‐
1687 liveries, it remains in the queue for later delivery.
1688
1689 -q[q][i][f[f]][l][G<name>[/<time>]]]
1690 If the G flag and a name is present, the queue runner oper‐
1691 ates on the queue with the given name rather than the default
1692 queue. The name should not contain a / character. For a pe‐
1693 riodic queue run (see below) append to the name a slash and a
1694 time value.
1695
1696 If other commandline options specify an action, a -qG<name>
1697 option will specify a queue to operate on. For example:
1698
1699 exim -bp -qGquarantine
1700 mailq -qGquarantine
1701 exim -qGoffpeak -Rf @special.domain.example
1702
1703 -q<qflags> <start id> <end id>
1704 When scanning the queue, Exim can be made to skip over mes‐
1705 sages whose ids are lexically less than a given value by fol‐
1706 lowing the -q option with a starting message id. For example:
1707
1708 exim -q 0t5C6f-0000c8-00
1709
1710 Messages that arrived earlier than 0t5C6f-0000c8-00 are not
1711 inspected. If a second message id is given, messages whose
1712 ids are lexically greater than it are also skipped. If the
1713 same id is given twice, for example,
1714
1715 exim -q 0t5C6f-0000c8-00 0t5C6f-0000c8-00
1716
1717 just one delivery process is started, for that message. This
1718 differs from -M in that retry data is respected, and it also
1719 differs from -Mc in that it counts as a delivery from a queue
1720 run. Note that the selection mechanism does not affect the
1721 order in which the messages are scanned. There are also other
1722 ways of selecting specific sets of messages for delivery in a
1723 queue run - see -R and -S.
1724
1725 -q<qflags><time>
1726 When a time value is present, the -q option causes Exim to
1727 run as a daemon, starting a queue runner process at intervals
1728 specified by the given time value. This form of the -q option
1729 is commonly combined with the -bd option, in which case a
1730 single daemon process handles both functions. A common way of
1731 starting up a combined daemon at system boot time is to use a
1732 command such as
1733
1734 /usr/exim/bin/exim -bd -q30m
1735
1736 Such a daemon listens for incoming SMTP calls, and also
1737 starts a queue runner process every 30 minutes.
1738
1739 When a daemon is started by -q with a time value, but without
1740 -bd, no pid file is written unless one is explicitly re‐
1741 quested by the -oP option.
1742
1743 -qR<rsflags> <string>
1744 This option is synonymous with -R. It is provided for Send‐
1745 mail compatibility.
1746
1747 -qS<rsflags> <string>
1748 This option is synonymous with -S.
1749
1750 -R<rsflags> <string>
1751 The <rsflags> may be empty, in which case the white space be‐
1752 fore the string is optional, unless the string is f, ff, r,
1753 rf, or rff, which are the possible values for <rsflags>.
1754 White space is required if <rsflags> is not empty.
1755
1756 This option is similar to -q with no time value, that is, it
1757 causes Exim to perform a single queue run, except that, when
1758 scanning the messages on the queue, Exim processes only those
1759 that have at least one undelivered recipient address contain‐
1760 ing the given string, which is checked in a case-independent
1761 way. If the <rsflags> start with r, <string> is interpreted
1762 as a regular expression; otherwise it is a literal string.
1763
1764 If you want to do periodic queue runs for messages with spe‐
1765 cific recipients, you can combine -R with -q and a time
1766 value. For example:
1767
1768 exim -q25m -R @special.domain.example
1769
1770 This example does a queue run for messages with recipients in
1771 the given domain every 25 minutes. Any additional flags that
1772 are specified with -q are applied to each queue run.
1773
1774 Once a message is selected for delivery by this mechanism,
1775 all its addresses are processed. For the first selected mes‐
1776 sage, Exim overrides any retry information and forces a de‐
1777 livery attempt for each undelivered address. This means that
1778 if delivery of any address in the first message is success‐
1779 ful, any existing retry information is deleted, and so deliv‐
1780 ery attempts for that address in subsequently selected mes‐
1781 sages (which are processed without forcing) will run. How‐
1782 ever, if delivery of any address does not succeed, the retry
1783 information is updated, and in subsequently selected mes‐
1784 sages, the failing address will be skipped.
1785
1786 If the <rsflags> contain f or ff, the delivery forcing ap‐
1787 plies to all selected messages, not just the first; frozen
1788 messages are included when ff is present.
1789
1790 The -R option makes it straightforward to initiate delivery
1791 of all messages to a given domain after a host has been down
1792 for some time. When the SMTP command ETRN is accepted by its
1793 ACL, its default effect is to run Exim with the -R option,
1794 but it can be configured to run an arbitrary command instead.
1795
1796 -r This is a documented (for Sendmail) obsolete alternative name
1797 for -f.
1798
1799 -S<rsflags> <string>
1800 This option acts like -R except that it checks the string
1801 against each message's sender instead of against the recipi‐
1802 ents. If -R is also set, both conditions must be met for a
1803 message to be selected. If either of the options has f or ff
1804 in its flags, the associated action is taken.
1805
1806 -Tqt <times>
1807 This is an option that is exclusively for use by the Exim
1808 testing suite. It is not recognized when Exim is run nor‐
1809 mally. It allows for the setting up of explicit "queue times"
1810 so that various warning/retry features can be tested.
1811
1812 -t When Exim is receiving a locally-generated, non-SMTP message
1813 on its standard input, the -t option causes the recipients of
1814 the message to be obtained from the To:, Cc:, and Bcc: header
1815 lines in the message instead of from the command arguments.
1816 The addresses are extracted before any rewriting takes place
1817 and the Bcc: header line, if present, is then removed.
1818
1819 If the command has any arguments, they specify addresses to
1820 which the message is not to be delivered. That is, the argu‐
1821 ment addresses are removed from the recipients list obtained
1822 from the headers. This is compatible with Smail 3 and in ac‐
1823 cordance with the documented behaviour of several versions of
1824 Sendmail, as described in man pages on a number of operating
1825 systems (e.g. Solaris 8, IRIX 6.5, HP-UX 11). However, some
1826 versions of Sendmail add argument addresses to those obtained
1827 from the headers, and the O'Reilly Sendmail book documents it
1828 that way. Exim can be made to add argument addresses instead
1829 of subtracting them by setting the option extract_ad‐
1830 dresses_remove_arguments false.
1831
1832 If there are any Resent- header lines in the message, Exim
1833 extracts recipients from all Resent-To:, Resent-Cc:, and Re‐
1834 sent-Bcc: header lines instead of from To:, Cc:, and Bcc:.
1835 This is for compatibility with Sendmail and other MTAs.
1836 (Prior to release 4.20, Exim gave an error if -t was used in
1837 conjunction with Resent- header lines.)
1838
1839 RFC 2822 talks about different sets of Resent- header lines
1840 (for when a message is resent several times). The RFC also
1841 specifies that they should be added at the front of the mes‐
1842 sage, and separated by Received: lines. It is not at all
1843 clear how -t should operate in the present of multiple sets,
1844 nor indeed exactly what constitutes a "set". In practice, it
1845 seems that MUAs do not follow the RFC. The Resent- lines are
1846 often added at the end of the header, and if a message is re‐
1847 sent more than once, it is common for the original set of Re‐
1848 sent- headers to be renamed as X-Resent- when a new set is
1849 added. This removes any possible ambiguity.
1850
1851 -ti This option is exactly equivalent to -t -i. It is provided
1852 for compatibility with Sendmail.
1853
1854 -tls-on-connect
1855 This option is available when Exim is compiled with TLS sup‐
1856 port. It forces all incoming SMTP connections to behave as if
1857 the incoming port is listed in the tls_on_connect_ports op‐
1858 tion.
1859
1860 -U Sendmail uses this option for "initial message submission",
1861 and its documentation states that in future releases, it may
1862 complain about syntactically invalid messages rather than
1863 fixing them when this flag is not set. Exim ignores this op‐
1864 tion.
1865
1866 -v This option causes Exim to write information to the standard
1867 error stream, describing what it is doing. In particular, it
1868 shows the log lines for receiving and delivering a message,
1869 and if an SMTP connection is made, the SMTP dialogue is
1870 shown. Some of the log lines shown may not actually be writ‐
1871 ten to the log if the setting of log_selector discards them.
1872 Any relevant selectors are shown with each log line. If none
1873 are shown, the logging is unconditional.
1874
1875 -x AIX uses -x for a private purpose ("mail from a local mail
1876 program has National Language Support extended characters in
1877 the body of the mail item"). It sets -x when calling the MTA
1878 from its mail command. Exim ignores this option.
1879
1880 -X <logfile>
1881 This option is interpreted by Sendmail to cause debug infor‐
1882 mation to be sent to the named file. It is ignored by Exim.
1883
1884 -z <log-line>
1885 This option writes its argument to Exim's logfile. Use is
1886 restricted to administrators; the intent is for operational
1887 notes. Quotes should be used to maintain a multi-word item
1888 as a single argument, under most shells.
1889
1890
1892
1893 The full Exim specification, the Exim book, and the Exim wiki.
1894
1895
1896
1897 EXIM(8)