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