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

SEE ALSO

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