1EXIM(8)                     System Manager's Manual                    EXIM(8)
2
3
4

NAME

6       exim - a Mail Transfer Agent
7

SYNOPSIS

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

DESCRIPTION

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

DEFAULT ACTION

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

SETTING OPTIONS BY PROGRAM NAME

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

OPTIONS

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

SEE ALSO

1892
1893       The full Exim specification, the Exim book, and the Exim wiki.
1894
1895
1896
1897                                                                       EXIM(8)
Impressum