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

SEE ALSO

1854
1855       The full Exim specification, the Exim book, and the Exim wiki.
1856
1857
1858
1859                                                                       EXIM(8)
Impressum