exim



EXIM(8)                                                                EXIM(8)




NAME

       exim - a Mail Transfer Agent


SYNOPSIS

       exim [options] arguments ...
       mailq [options] arguments ...
       rsmtp [options] arguments ...
       rmail [options] arguments ...
       runq [options] arguments ...
       newaliases [options] arguments ...



DESCRIPTION

       Exim is a mail transfer agent (MTA) developed at the University of Cam-
       bridge.  It is a large program with very many facilities.  For  a  full
       specification,  see the reference manual. This man page contains only a
       description of the command line options. It has been automatically gen-
       erated from the reference manual source, which is why the formatting is
       poor in some places.



SETTING OPTIONS BY PROGRAM NAME

       mailq     Behave as if the option -bp were  present  before  any  other
                 options. The -bp option requests a listing of the contents of
                 the mail queue on the standard output.

       rsmtp     Behaves as if the option -bS were present  before  any  other
                 options, for compatibility with Smail. The -bS option is used
                 for reading in a number of messages in batched SMTP format.

       rmail     Behave as if the -i and -oee options were present before  any
                 other  options,  for compatibility with Smail. The name rmail
                 is used as an interface by some UUCP systems. The  -i  option
                 specifies that a dot on a line by itself does not terminate a
                 non-SMTP message; -oee requests that errors detected in  non-
                 SMTP messages be reported by emailing the sender.

       runq      Behave  as  if  the  option  -q were present before any other
                 options, for compatibility with Smail. The -q option causes a
                 single  queue  runner process to be started. It processes the
                 queue once, then exits.

       newaliases
                 Behave as if the option -bi were  present  before  any  other
                 options, for compatibility with Sendmail. This option is used
                 for rebuilding Sendmail’s alias file. Exim does not have  the
                 concept  of a single alias file, but can be configured to run
                 a specified command if called with the -bi option.




OPTIONS

       --        This is a pseudo-option whose only purpose  is  to  terminate
                 the  options  and  therefore to cause subsequent command line
                 items to be treated as arguments rather than options, even if
                 they begin with hyphens.

       --help    This  option  causes  Exim  to output a few sentences stating
                 what it is.  The same output is generated if the Exim  binary
                 is called with no options and no arguments.

       -B <type> This  is  a Sendmail option for selecting 7 or 8 bit process-
                 ing. Exim is 8-bit clean; it ignores this option.

       -bd       This option runs Exim as a  daemon,  awaiting  incoming  SMTP
                 connections.  Usually  the  -bd  option  is combined with the
                 -q<time> option, to specify that the daemon should also  ini-
                 tiate periodic queue runs.

                 The  -bd  option can be used only by an admin user. If either
                 of the -d (debugging) or -v (verifying) options are set,  the
                 daemon  does  not  disconnect  from the controlling terminal.
                 When running this way, it can be stopped by pressing  ctrl-C.

                 By  default,  Exim  listens  for  incoming connections to the
                 standard SMTP port on all the host’s running interfaces. How-
                 ever,  it  is  possible to listen on other ports, on multiple
                 ports, and only on specific interfaces.

                 When a listening daemon is started without  the  use  of  -oX
                 (that  is,  without  overriding the normal configuration), it
                 writes its process id to a  file  called  exim-daemon.pid  in
                 Exim’s  spool  directory.  This location can be overridden by
                 setting PID_FILE_PATH in Local/Makefile. The file is  written
                 while Exim is still running as root.

                 When  -oX  is  used  on the command line to start a listening
                 daemon, the process id is not written to the normal pid  file
                 path.  However, -oP can be used to specify a path on the com-
                 mand line if a pid file is required.

                 The SIGHUP signal can be used to cause the daemon to  re-exec
                 itself.  This  should  be  done whenever Exim’s configuration
                 file, or any file that is incorporated into it  by  means  of
                 the  ".include" facility, is changed, and also whenever a new
                 version of Exim is installed. It is not necessary to do  this
                 when  other  files that are referenced from the configuration
                 (for example, alias files) are  changed,  because  these  are
                 reread each time they are used.

       -bdf      This  option  has the same effect as -bd except that it never
                 disconnects from  the  controlling  terminal,  even  when  no
                 debugging is specified.

       -be       Run  Exim  in  expansion testing mode. Exim discards its root
                 privilege, to prevent ordinary users from using this mode  to
                 read otherwise inaccessible files. If no arguments are given,
                 Exim runs interactively, prompting for lines  of  data.  Long
                 expressions  can  be  split over several lines by using back-
                 slash continuations.  As in Exim’s  run  time  configuration,
                 whitespace at the start of continuation lines is ignored.

                 Each  argument  or  data  line  is  passed through the string
                 expansion mechanism, and the result is output. Variable  val-
                 ues   from   the  configuration  file  (for  example,  $qual-
                 ify_domain) are available,  but  no  message-specific  values
                 (such  as  $domain) are set, because no message is being pro-
                 cessed.

       -bF  <filename>
                 This option is the same as -bf except that  it  assumes  that
                 the  filter  being  tested is a system filter. The additional
                 commands that are available only in system filters are recog-
                 nized.

       -bf  <filename>
                 This option runs Exim in filter testing mode; the file is the
                 filter file to be tested, and a test message must be supplied
                 on  the  standard  input.  If  there are no message-dependent
                 tests in the filter, an empty file  can  be  supplied.  If  a
                 system  filter  file  is  being  tested,  -bF  should be used
                 instead of -bf. If the test file does not begin with  one  of
                 the special lines

                   # Exim filter
                   # Sieve filter

                 it  is  taken to be a normal .forward file, and is tested for
                 validity under that interpretation.

                 The result of an Exim command  that  uses  -bf,  provided  no
                 errors are detected, is a list of the actions that Exim would
                 try to take if presented with  the  message  for  real.  More
                 details  of filter testing are given in the separate document
                 entitled Exim’s interfaces to mail filtering.

                 When testing a filter file, the envelope sender can be set by
                 the  -f option, or by a ‘From ’ line at the start of the test
                 message. Various parameters that would normally be taken from
                 the  envelope  recipient address of the message can be set by
                 means of additional command line options. These are:

                   -bfd  <domain>             default is the qualify domain
                   -bfl  <local_part>         default is the logged in user
                   -bfp  <local_part_prefix>  default is null
                   -bfs  <local_part_suffix>  default is null

                 The local part should always be set to the  incoming  address
                 with  any  prefix  or suffix stripped, because that is how it
                 appears to the filter when a message is actually being deliv-
                 ered.

       -bh  <IP address>
                 This  option runs a fake SMTP session as if from the given IP
                 address, using the standard input and output. The IP  address
                 may  include a port number at the end, after a full stop. For
                 example:

                   exim -bh 10.9.8.7.1234
                   exim -bh fe80::a00:20ff:fe86:a061.5678

                 Comments as to what is going on are written to  the  standard
                 error file. These include lines beginning with ‘LOG’ for any-
                 thing that would have been logged.  This facility is provided
                 for  testing  configuration options for incoming messages, to
                 make sure they implement the required  policy.  For  example,
                 you can test your relay controls using -bh.

                 Warning 1: You cannot test features of the configuration that
                 rely on ident (RFC 1413) callouts. These cannot be done  when
                 testing  using  -bh because there is no incoming SMTP connec-
                 tion.

                 Warning 2: Address verification  callouts  are  also  skipped
                 when  testing using -bh. If you want these callouts to occur,
                 use -bhc instead.

                 Messages supplied during the testing session  are  discarded,
                 and  nothing  is  written to any of the real log files. There
                 may be pauses when DNS (and other) lookups are taking  place,
                 and of course these may time out. The -oMi option can be used
                 to specify a specific IP interface and port if this is impor-
                 tant.

                 The  exim_checkaccess  utility is a ‘packaged’ version of -bh
                 whose output just states whether a  given  recipient  address
                 from a given host is acceptable or not.

       -bhc  <IP address>
                 This  option  operates  in  the  same way as -bh, except that
                 address verification callouts are performed if required. This
                 includes  consulting and updating the callout cache database.

       -bi       Sendmail interprets the -bi option as a  request  to  rebuild
                 its  alias  file.  Exim does not have the concept of a single
                 alias file, and so it cannot mimic this  behaviour.  However,
                 calls to /usr/lib/sendmail with the -bi option tend to appear
                 in various scripts such as NIS make files, so the option must
                 be recognized.

                 If  -bi is encountered, the command specified by the "bi_com-
                 mand" configuration option is run, under the uid and  gid  of
                 the  caller  of Exim. If the -oA option is used, its value is
                 passed to the command as an argument.   The  command  set  by
                 "bi_command"  may  not contain arguments. The command can use
                 the exim_dbmbuild utility, or some other  means,  to  rebuild
                 alias  files  if this is required. If the "bi_command" option
                 is not set, calling Exim with -bi is a no-op.

       -bm       This option runs an Exim receiving process  that  accepts  an
                 incoming, locally-generated message on the current input. The
                 recipients are given as the command arguments (except when -t
                 is  also present -- see below). Each argument can be a comma-
                 separated list of RFC 2822 addresses.  This  is  the  default
                 option  for  selecting the overall action of an Exim call; it
                 is assumed if no other conflicting option is present.

                 If any addresses in the  message  are  unqualified  (have  no
                 domain),  they  are  qualified  by  the  values of the "qual-
                 ify_domain" or "qualify_recipient" options,  as  appropriate.
                 The  -bnq  option  (see  below) provides a way of suppressing
                 this for special cases.

                 Policy checks on  the  contents  of  local  messages  can  be
                 enforced  by  means  of the non-SMTP ACL.  The return code is
                 zero if the message is successfully accepted. Otherwise,  the
                 action is controlled by the -oex option setting -- see below.

                 The format of the message must be as  defined  in  RFC  2822,
                 except  that,  for  compatibility  with Sendmail and Smail, a
                 line in one of the forms

                   From sender Fri Jan  5 12:55 GMT 1997
                   From sender Fri, 5 Jan 97 12:55:01

                 (with the weekday optional, and possibly with additional text
                 after  the  date)  is permitted to appear at the start of the
                 message. There appears to be no  authoritative  specification
                 of  the  format  of this line. Exim recognizes it by matching
                 against the regular expression defined by the "uucp_from_pat-
                 tern"  option, which can be changed if necessary.  The speci-
                 fied sender is treated as if it were given as the argument to
                 the  -f option, but if a -f option is also present, its argu-
                 ment is used in preference to the address taken from the mes-
                 sage.  The  caller  of  Exim  must  be a trusted user for the
                 sender of a message to be set in this way.

       -bnq      By  default,   Exim   automatically   qualifies   unqualified
                 addresses  (those  without  domains)  that appear in messages
                 that are submitted locally (that is, not over  TCP/IP).  This
                 qualification  applies  both  to  addresses in envelopes, and
                 addresses in header lines.  Sender  addresses  are  qualified
                 using  "qualify_domain", and recipient addresses using "qual-
                 ify_recipient"   (which   defaults   to    the    value    of
                 "qualify_domain").

                 Sometimes,  qualification  is not wanted. For example, if -bS
                 (batch SMTP) is being used to re-submit messages that  origi-
                 nally  came  from  remote  hosts  after content scanning, you
                 probably do not want  to  qualify  unqualified  addresses  in
                 header  lines.  (Such  lines will be present only if you have
                 not enabled a header syntax check in the appropriate ACL.)

                 The -bnq option suppresses all qualification  of  unqualified
                 addresses  in messages that originate on the local host. When
                 this is used, unqualified addresses in the  envelope  provoke
                 errors  (causing message rejection) and unqualified addresses
                 in header lines are left alone.

       -bP       If this option is given with no arguments, it causes the val-
                 ues of all Exim’s main configuration options to be written to
                 the standard output. The  values  of  one  or  more  specific
                 options  can be requested by giving their names as arguments,
                 for example:

                   exim -bP qualify_domain hold_domains

                 However, any option setting that  is  preceded  by  the  word
                 ‘hide’ in the configuration file is not shown in full, except
                 to an admin user. For other users, the output is as  in  this
                 example:

                   mysql_servers = <value not displayable>

                 If  "configure_file" is given as an argument, the name of the
                 run time configuration file is output.  If a list of configu-
                 ration  files  was supplied, the value that is output here is
                 the name of the file that was actually used.

                 If "log_file_path" or "pid_file_path" are given, the names of
                 the  directories  where  log  files  and daemon pid files are
                 written are output, respectively. If these values are  unset,
                 log  files are written in a sub-directory of the spool direc-
                 tory called "log", and the pid file is written directly  into
                 the spool directory.

                 If -bP is followed by a name preceded by +, for example,

                   exim -bP +local_domains

                 it  searches  for  a matching named list of any type (domain,
                 host, address, or local part) and outputs what it finds.

                 If one of the words "router", "transport", or "authenticator"
                 is  given,  followed  by  the  name  of an appropriate driver
                 instance, the option settings for that driver are output. For
                 example:

                   exim -bP transport local_delivery

                 The  generic driver options are output first, followed by the
                 driver’s private options. A list of the names of drivers of a
                 particular  type  can  be  obtained by using one of the words
                 "router_list", "transport_list", or "authenticator_list", and
                 a complete list of all drivers with their option settings can
                 be obtained by using "routers", "transports", or "authentica-
                 tors".

       -bp       This  option  requests  a listing of the contents of the mail
                 queue on the standard output. If the -bp option  is  followed
                 by  a list of message ids, just those messages are listed. By
                 default, this option can be used only by an admin user.  How-
                 ever, the "queue_list_requires_admin" option can be set false
                 to allow any user to see the queue.

                 Each message on the queue is displayed as  in  the  following
                 example:

                   25m  2.9K 0t5C6f-0000c8-00 <alice@wonderland.fict.example>
                             red.king@looking-glass.fict.example
                             <other addresses>

                 The  first  line  contains the length of time the message has
                 been on the queue (in this case 25 minutes), the size of  the
                 message  (2.9K), the unique local identifier for the message,
                 and the message sender, as contained  in  the  envelope.  For
                 bounce  messages, the sender address is empty, and appears as
                 ‘<>’. If the message was submitted locally  by  an  untrusted
                 user  who  overrode  the  default  sender address, the user’s
                 login name is shown in parentheses before the sender address.
                 If  the  message  is  frozen (attempts to deliver it are sus-
                 pended) then the text ‘*** frozen ***’ is  displayed  at  the
                 end of this line.

                 The  recipients  of the message (taken from the envelope, not
                 the  headers)  are  displayed  on  subsequent  lines.   Those
                 addresses to which the message has already been delivered are
                 marked with  the  letter  D.  If  an  original  address  gets
                 expanded into several addresses via an alias or forward file,
                 the original is displayed with a D only when  deliveries  for
                 all of its child addresses are complete.

       -bpa      This  option  operates  like  -bp,  but  in addition it shows
                 delivered addresses that were generated from the original top
                 level  address(es)  in  each  message  by alias or forwarding
                 operations. These addresses are flagged with ‘+D’ instead  of
                 just ‘D’.

       -bpc      This  option  counts the number of messages on the queue, and
                 writes the total to the standard output. It is restricted  to
                 admin users, unless "queue_list_requires_admin" is set false.

       -bpr      This option operates like -bp, but the output is  not  sorted
                 into  chronological  order of message arrival. This can speed
                 it up when there are lots of messages on the  queue,  and  is
                 particularly  useful  if  the output is going to be post-pro-
                 cessed in a way that doesn’t need the sorting.

       -bpra     This option is a combination of -bpr and -bpa.

       -bpru     This option is a combination of -bpr and -bpu.

       -bpu      This option operates like -bp but shows only undelivered top-
                 level  addresses for each message displayed. Addresses gener-
                 ated by aliasing or forwarding are not shown, unless the mes-
                 sage  was  deferred  after  processing  by  a router with the
                 "one_time" option set.

       -brt      This option is for testing retry rules, and it must  be  fol-
                 lowed  by up to three arguments. It causes Exim to look for a
                 retry rule that matches the values and to  write  it  to  the
                 standard output. For example:

                   exim -brt bach.comp.mus.example
                   Retry rule: *.comp.mus.example  F,2h,15m; F,4d,30m;

                 The  first  argument,  which  is  required, can be a complete
                 address in the form local_part@domain, or it can  be  just  a
                 domain name. The second argument is an optional second domain
                 name; if no retry rule is found for the first  argument,  the
                 second  is  tried.  This  ties  in with Exim’s behaviour when
                 looking for retry rules for remote hosts --  if  no  rule  is
                 found that matches the host, one that matches the mail domain
                 is sought. The final argument  is  the  name  of  a  specific
                 delivery  error, as used in setting up retry rules, for exam-
                 ple ‘quota_3d’.

       -brw      This option is for testing address rewriting  rules,  and  it
                 must be followed by a single argument, consisting of either a
                 local part without a domain, or a  complete  address  with  a
                 fully  qualified  domain. Exim outputs how this address would
                 be rewritten for each possible place it might appear.

       -bS       This option is used for  batched  SMTP  input,  which  is  an
                 alternative  interface for non-interactive local message sub-
                 mission. A number of messages can be submitted  in  a  single
                 run.  However,  despite  its  name,  this  is not really SMTP
                 input. Exim reads each message’s envelope from SMTP  commands
                 on  the  standard  input,  but generates no responses. If the
                 caller is trusted,  or  "untrusted_set_sender"  is  set,  the
                 senders in the SMTP MAIL commands are believed; otherwise the
                 sender is always the caller of Exim.

                 The message itself is read from the standard input,  in  SMTP
                 format  (leading dots doubled), terminated by a line contain-
                 ing just a single dot. An error is provoked if the  terminat-
                 ing dot is missing. A further message may then follow.

                 As  for  other  local  message  submissions,  the contents of
                 incoming batch SMTP messages can be checked  using  the  non-
                 SMTP  ACL.  Unqualified addresses are automatically qualified
                 using "qualify_domain" and "qualify_recipient", as  appropri-
                 ate, unless the -bnq option is used.

                 Some  other  SMTP  commands are recognized in the input. HELO
                 and EHLO act as RSET; VRFY, EXPN, ETRN, and HELP act as NOOP;
                 QUIT quits, ignoring the rest of the standard input.

                 If any error is encountered, reports are written to the stan-
                 dard output and error streams, and Exim gives up immediately.
                 The return code is 0 if no error was detected; it is 1 if one
                 or more messages were accepted before the error was detected;
                 otherwise it is 2.


       -bs       This  option  causes  Exim  to accept one or more messages by
                 reading SMTP commands on the standard  input,  and  producing
                 SMTP replies on the standard output. SMTP policy controls, as
                 defined in ACLs are applied.

                 Some user agents use this  interface  as  a  way  of  passing
                 locally-generated messages to the MTA.  In this usage, if the
                 caller of Exim is trusted, or "untrusted_set_sender" is  set,
                 the  senders  of  messages  are taken from the SMTP MAIL com-
                 mands.  Otherwise the content of these  commands  is  ignored
                 and  the  sender  is  set up as the calling user. Unqualified
                 addresses are automatically qualified using  "qualify_domain"
                 and  "qualify_recipient",  as  appropriate,  unless  the -bnq
                 option is used.

                 The -bs option is also used to run Exim  from  inetd,  as  an
                 alternative to using a listening daemon. Exim can distinguish
                 the two cases by checking whether the  standard  input  is  a
                 TCP/IP  socket. When Exim is called from inetd, the source of
                 the mail is assumed to be  remote,  and  the  comments  above
                 concerning  senders  and  qualification do not apply. In this
                 situation, Exim behaves in exactly the same way  as  it  does
                 when receiving a message via the listening daemon.

       -bt       This  option runs Exim in address testing mode, in which each
                 argument is taken as an address to be tested for deliverabil-
                 ity.  The  results  are written to the standard output.  If a
                 test fails, and the caller is not an admin user,  no  details
                 of the failure are output, because these might contain sensi-
                 tive information such as usernames and passwords for database
                 lookups.

                 If  no  arguments are given, Exim runs in an interactive man-
                 ner, prompting with a right angle bracket for addresses to be
                 tested.  Each  address is handled as if it were the recipient
                 address of a message (compare the -bv option). It  is  passed
                 to the routers and the result is written to the standard out-
                 put.  However, any router that has "no_address_test"  set  is
                 bypassed. This can make -bt easier to use for genuine routing
                 tests if your first router passes  everything  to  a  scanner
                 program.

                 The  return code is 2 if any address failed outright; it is 1
                 if no address failed outright but at least one could  not  be
                 resolved  for  some  reason. Return code 0 is given only when
                 all addresses succeed.

                 Warning: -bt can only do relatively simple testing. If any of
                 the  routers  in  the  configuration  makes  any tests on the
                 sender address of a message, you can use the -f option to set
                 an appropriate sender when running -bt tests. Without it, the
                 sender is assumed to be the calling user at the default qual-
                 ifying  domain.  However,  if  you  have set up (for example)
                 routers whose behaviour depends on the contents of an  incom-
                 ing  message, you cannot test those conditions using -bt. The
                 -N option provides a possible way of doing such tests.

       -bV       This option causes Exim to write the current version  number,
                 compilation  number,  and compilation date of the exim binary
                 to the standard output.  It also lists the DBM  library  this
                 is  being used, the optional modules (such as specific lookup
                 types), the drivers that are included in the binary, and  the
                 name of the run time configuration file that is in use.

       -bv       This  option runs Exim in address verification mode, in which
                 each argument is taken as an address to be  verified.  During
                 normal  operation,  verification  happens  mostly as a conse-
                 quence processing a "verify" condition in an ACL. If you want
                 to test an entire ACL, see the -bh option.

                 If  verification  fails, and the caller is not an admin user,
                 no details of the failure are  output,  because  these  might
                 contain sensitive information such as usernames and passwords
                 for database lookups.

                 If no arguments are given, Exim runs in an  interactive  man-
                 ner, prompting with a right angle bracket for addresses to be
                 verified. Verification differs from address testing (the  -bt
                 option)  in  that  routers  that  have  "no_verify"  set  are
                 skipped, and if the address is accepted by a router that  has
                 "fail_verify"  set,  verification fails. The address is veri-
                 fied as a recipient if -bv is used; to test verification  for
                 a sender address, -bvs should be used.

                 If  the -v option is not set, the output consists of a single
                 line for each address, stating whether  it  was  verified  or
                 not,  and giving a reason in the latter case. Otherwise, more
                 details are given of how the address has been handled, and in
                 the  case of address redirection, all the generated addresses
                 are also considered. Without -v,  generating  more  than  one
                 address  by  redirection  causes  verification to end sucess-
                 fully.

                 The return code is 2 if any address failed outright; it is  1
                 if  no  address failed outright but at least one could not be
                 resolved for some reason. Return code 0 is  given  only  when
                 all addresses succeed.

                 If any of the routers in the configuration makes any tests on
                 the sender address of a message, you should use the -f option
                 to  set an appropriate sender when running -bv tests. Without
                 it, the sender is assumed to  be  the  calling  user  at  the
                 default qualifying domain.

       -bvs      This  option  acts  like  -bv,  but verifies the address as a
                 sender rather than a  recipient  address.  This  affects  any
                 rewriting and qualification that might happen.

       -C  <filelist>
                 This  option  causes  Exim to find the run time configuration
                 file from the given list instead of from the  list  specified
                 by the CONFIGURE_FILE compile-time setting. Usually, the list
                 will consist of just a single file name,  but  it  can  be  a
                 colon-separated  list  of names. In this case, the first file
                 that exists is used. Failure to open an existing  file  stops
                 Exim from proceeding any further along the list, and an error
                 is generated.

                 When this option is used by a caller other than root  or  the
                 Exim  user,  and  the  list is different from the compiled-in
                 list, Exim gives up its root privilege immediately, and  runs
                 with  the  real and effective uid and gid set to those of the
                 caller.   However,  if  ALT_CONFIG_ROOT_ONLY  is  defined  in
                 Local/Makefile, root privilege is retained for -C only if the
                 caller of Exim is root.  This option is not set by default.

                 Setting ALT_CONFIG_ROOT_ONLY locks  out  the  possibility  of
                 testing a configuration using -C right through message recep-
                 tion and delivery, even if the caller is root. The  reception
                 works, but by that time, Exim is running as the Exim user, so
                 when it re-execs to regain privilege for  the  delivery,  the
                 use of -C causes privilege to be lost. However, root can test
                 reception and delivery using two separate  commands  (one  to
                 put a message on the queue, using -odq, and another to do the
                 delivery, using -M).

                 If ALT_CONFIG_PREFIX is defined in Local/Makefile, it  speci-
                 fies  a  prefix string with which any file named in a -C com-
                 mand line option must start. In addition, the file name  must
                 not  contain the sequence /../.  However, if the value of the
                 -C option is identical to  the  value  of  CONFIGURE_FILE  in
                 Local/Makefile,  Exim ignores -C and proceeds as usual. There
                 is no default  setting  for  ALT_CONFIG_PREFIX;  when  it  is
                 unset, any file name can be used with -C.

                 ALT_CONFIG_PREFIX can be used to confine alternative configu-
                 ration files to a directory to which only  root  has  access.
                 This  prevents  someone  who has broken into the Exim account
                 from running a privileged Exim with an  arbitrary  configura-
                 tion file.

                 The  -C  facility  is  useful for ensuring that configuration
                 files are syntactically correct, but cannot be used for  test
                 deliveries,  unless the caller is privileged, or unless it is
                 an exotic configuration that does not require  privilege.  No
                 check is made on the owner or group of the files specified by
                 this option.

       -D <macro>=<value>
                 This option can be used to override macro definitions in  the
                 configuration  file.  However,  like  -C, if it is used by an
                 unprivileged caller, it causes Exim to give up its root priv-
                 ilege.  If DISABLE_D_OPTION is defined in Local/Makefile, the
                 use of -D is completely disabled, and its use causes an imme-
                 diate error exit.

                 The entire option (including equals sign if present) must all
                 be within one command line item. -D can be used  to  set  the
                 value  of  a  macro  to  the  empty string, in which case the
                 equals sign is optional. These two commands are synonymous:

                   exim -DABC  ...
                   exim -DABC= ...

                 To include spaces in a macro definition item, quotes must  be
                 used.  If  you  use  quotes,  spaces are permitted around the
                 macro name and the equals sign. For example:

                   exim ’-D ABC = something’ ...

                 -D may be repeated up to 10 times on a command line.

       -d <debug options>
                 This option causes debugging information to be written to the
                 standard  error  stream.  It  is  restricted  to  admin users
                 because debugging output may show database queries that  con-
                 tain password information. Also, the details of users’ filter
                 files should be protected. When -d is used, -v is assumed. If
                 -d  is  given on its own, a lot of standard debugging data is
                 output. This can be reduced, or  increased  to  include  some
                 more rarely needed information, by following -d with a string
                 made up of names preceded by plus or minus characters.  These
                 add or remove sets of debugging data, respectively. For exam-
                 ple, -d+filter adds filter debugging,  whereas  -d-all+filter
                 selects  only filter debugging. The available debugging cate-
                 gories are:

                   acl            ACL interpretation
                   auth           authenticators
                   deliver        general delivery logic
                   dns            DNS lookups (see also resolver)
                   dnsbl          DNS black list (aka RBL) code
                   exec           arguments for "execv()" calls
                   expand         detailed debugging for string expansions
                   filter         filter handling
                   hints_lookup   hints data lookups
                   host_lookup    all types of name-to-IP address handling
                   ident          ident lookup
                   interface      lists of local interfaces
                   lists          matching things in lists
                   load           system load checks
                   local_scan     can be used by local_scan()
                   lookup         general lookup code and all lookups
                   memory         memory handling
                   pid            add pid to debug output lines
                   process_info   setting info for the process log
                   queue_run      queue runs
                   receive        general message reception logic
                   resolver       turn on the DNS resolver’s debugging output
                   retry          retry handling
                   rewrite        address rewriting
                   route          address routing
                   timestamp      add timestamp to debug output lines
                   tls            TLS logic
                   transport      transports
                   uid            changes of uid/gid and looking up uid/gid
                   verify         address verification logic

                   all            all of the above, and also -v

                 Unfortunately, debugging output  from  the  DNS  resolver  is
                 written to stdout rather than stderr.

                 The  default  (-d  with  no  argument)  omits expand, filter,
                 interface, load, memory, pid, resolver, and timestamp.   How-
                 ever,  the pid selector is forced when debugging is turned on
                 for a daemon, which then passes  it  on  to  any  re-executed
                 Exims.  Exim  also  automatically adds the pid to debug lines
                 when several remote deliveries are run in parallel.

                 The timestamp selector causes the current time to be inserted
                 at  the  start  of all debug output lines. This can be useful
                 when trying to track down delays in processing.

                 If the "debug_print" option is set in any driver, it produces
                 output  whenever any debugging is selected, or if -v is used.

       -dropcr   This is an obsolete option that is now a no-op.  It  used  to
                 affect  the way Exim handled CR and LF characters in incoming
                 messages.

       -E        This option specifies that an incoming message is a  locally-
                 generated  delivery  failure report. It is used internally by
                 Exim when handling delivery failures and is not intended  for
                 external use. Its only effect is to stop Exim generating cer-
                 tain messages to the postmaster, as  otherwise  message  cas-
                 cades  could  occur  in  some situations. As part of the same
                 option, a message id may follow  the  characters  -E.  If  it
                 does,  the  log entry for the receipt of the new message con-
                 tains the id, following ‘R=’, as a cross-reference.

       -ex       There are a number of  Sendmail  options  starting  with  -oe
                 which seem to be called by various programs without the lead-
                 ing "o" in the option. For example,  the  "vacation"  program
                 uses  -eq. Exim treats all options of the form -ex as synony-
                 mous with the corresponding -oex options.

       -F  <string>
                 This option sets the  sender’s  full  name  for  use  when  a
                 locally-generated  message  is being accepted. In the absence
                 of this option, the user’s gecos entry from the password data
                 is  used.  As  users  are  generally permitted to alter their
                 gecos entries, no security considerations are involved. White
                 space between -F and the <string> is optional.

       -f  <address>
                 This  option  sets  the  address  of the envelope sender of a
                 locally-generated message (also known as  the  return  path).
                 The  option  can normally be used only by a trusted user, but
                 "untrusted_set_sender" can be set to allow untrusted users to
                 use it. In the absence of -f, or if the caller is not allowed
                 to use it, the sender of  a  local  message  is  set  to  the
                 caller’s login name at the default qualify domain.

                 There  is  one exception to the restriction on the use of -f:
                 an empty sender can be specified by any  user,  to  create  a
                 message  that can never provoke a bounce. An empty sender can
                 be specified either as an empty string, or as a pair of angle
                 brackets  with  nothing between them, as in these examples of
                 shell commands:

                   exim -f ’<>’ user@domain
                   exim -f "" user@domain

                 In addition, the use of -f is not restricted when  testing  a
                 filter  file  with -bf or when testing or verifying addresses
                 using the -bt or -bv options.

                 Allowing untrusted users to change the  sender  address  does
                 not  of  itself make it possible to send anonymous mail. Exim
                 still checks that the From: header refers to the local  user,
                 and if it does not, it adds a Sender: header, though this can
                 be overridden by setting "no_local_from_check".

                 White space between -f and the <address>  is  optional  (that
                 is,  they can be given as two arguments or one combined argu-
                 ment).  The sender of a locally-generated message can also be
                 set  (when  permitted) by an initial ‘From ’ line in the mes-
                 sage -- see the description of -bm above -- but if -f is also
                 present, it overrides ‘From’.

       -G        This is a Sendmail option which is ignored by Exim.

       -h  <number>
                 This  option is accepted for compatibility with Sendmail, but
                 has no effect. (In Sendmail  it  overrides  the  ‘hop  count’
                 obtained by counting Received: headers.)

       -i        This option, which has the same effect as -oi, specifies that
                 a dot on a line by itself should not terminate  an  incoming,
                 non-SMTP message. I can find no documentation for this option
                 in Solaris 2.4 Sendmail, but the mailx command in Solaris 2.4
                 uses it. See also -ti.

       -M  <message id> <message id> ...
                 This  option  requests Exim to run a delivery attempt on each
                 message in turn. If any of the messages are frozen, they  are
                 automatically  thawed  before  the delivery attempt. The set-
                 tings   of   "queue_domains",    "queue_smtp_domains",    and
                 "hold_domains"  are  ignored.   Retry  hints  for  any of the
                 addresses are overridden -- Exim tries to deliver even if the
                 normal  retry  time  has  not  yet  been reached. This option
                 requires the caller to be an admin user. However, there is an
                 option called "prod_requires_admin" which can be set false to
                 relax this restriction (and also the same requirement for the
                 -q, -R, and -S options).

       -Mar  <message id> <address> <address> ...
                 This option requests Exim to add the addresses to the list of
                 recipients of the message (‘ar’ for  ‘add  recipients’).  The
                 first  argument  must be a message id, and the remaining ones
                 must be email addresses. However, if the  message  is  active
                 (in  the  middle  of  a delivery attempt), it is not altered.
                 This option can be used only by an admin user.

       -MC  <transport> <hostname> <sequence number> <message id>
                 This option is not intended for use by external  callers.  It
                 is  used  internally  by  Exim  to invoke another instance of
                 itself to deliver a waiting message using  an  existing  SMTP
                 connection,  which is passed as the standard input. This must
                 be the final option, and the caller must be root or the  Exim
                 user in order to use it.

       -MCA      This  option  is not intended for use by external callers. It
                 is used internally  by  Exim  in  conjunction  with  the  -MC
                 option.  It  signifies that the connection to the remote host
                 has been authenticated.

       -MCP      This option is not intended for use by external  callers.  It
                 is  used  internally  by  Exim  in  conjunction  with the -MC
                 option. It signifies that the server to which  Exim  is  con-
                 nected supports pipelining.

       -MCQ  <process id> <pipe fd>
                 This  option  is not intended for use by external callers. It
                 is used internally by Exim in conjunction with the -MC option
                 when  the original delivery was started by a queue runner. It
                 passes on the process id of the queue runner,  together  with
                 the  file  descriptor  number of an open pipe. Closure of the
                 pipe signals the final completion of  the  sequence  of  pro-
                 cesses  that  are passing messages through the same SMTP con-
                 nection.

       -MCS      This option is not intended for use by external  callers.  It
                 is  used  internally  by  Exim  in  conjunction  with the -MC
                 option, and passes on the fact  that  the  SMTP  SIZE  option
                 should  be  used on messages delivered down the existing con-
                 nection.

       -MCT      This option is not intended for use by external  callers.  It
                 is  used  internally  by  Exim  in  conjunction  with the -MC
                 option, and passes on the fact that the host to which Exim is
                 connected supports TLS encryption.

       -Mc  <message id> <message id> ...
                 This  option  requests Exim to run a delivery attempt on each
                 message in turn, but unlike the -M option, it does check  for
                 retry  hints, and respects any that are found. This option is
                 not very useful to external callers. It  is  provided  mainly
                 for internal use by Exim when it needs to re-invoke itself in
                 order to regain root privilege for a delivery.  However,  -Mc
                 can  be  useful when testing, in order to run a delivery that
                 respects retry times and other options such as "hold_domains"
                 that are overridden when -M is used. Such a delivery does not
                 count as a queue run.  If you want to run a specific delivery
                 as  if  in  a  queue run, you should use -q with a message id
                 argument. A distinction  between  queue  run  deliveries  and
                 other deliveries is made in one or two places.

       -Mes  <message id> <address>
                 This option requests Exim to change the sender address in the
                 message to the given address, which must be a fully qualified
                 address  or  ‘<>’  (‘es’  for  ‘edit  sender’). There must be
                 exactly two arguments. The first argument must be  a  message
                 id, and the second one an email address. However, if the mes-
                 sage is active (in the middle of  a  delivery  attempt),  its
                 status  is  not  altered.  This option can be used only by an
                 admin user.

       -Mf  <message id> <message id> ...
                 This option requests Exim to  mark  each  listed  message  as
                 ‘frozen’.  This  prevents  any delivery attempts taking place
                 until the message is ‘thawed’, either manually or as a result
                 of  the "auto_thaw" configuration option.  However, if any of
                 the  messages  are  active  (in  the  middle  of  a  delivery
                 attempt),  their  status  is  not altered. This option can be
                 used only by an admin user.

       -Mg  <message id> <message id> ...
                 This option requests Exim to give up trying  to  deliver  the
                 listed  messages,  including any that are frozen. However, if
                 any of the messages are active, their status is not  altered.
                 For  non-bounce messages, a delivery error message is sent to
                 the sender, containing the text ‘cancelled by administrator’.
                 Bounce  messages are just discarded.  This option can be used
                 only by an admin user.

       -Mmad  <message id> <message id> ...
                 This option requests Exim to mark all the recipient addresses
                 in  the  messages  as  already delivered (‘mad’ for ‘mark all
                 delivered’). However, if any message is active (in the middle
                 of  a  delivery  attempt),  its  status is not altered.  This
                 option can be used only by an admin user.

       -Mmd  <message id> <address> <address> ...
                 This option requests Exim to  mark  the  given  addresses  as
                 already  delivered  (‘md’  for  ‘mark  delivered’). The first
                 argument must be a message id, and the remaining ones must be
                 email  addresses. These are matched to recipient addresses in
                 the message in a case-sensitive manner.  If  the  message  is
                 active  (in  the middle of a delivery attempt), its status is
                 not altered. This option can be used only by an admin user.

       -Mrm  <message id> <message id> ...
                 This option requests Exim to remove the given  messages  from
                 the  queue. No bounce messages are sent; each message is sim-
                 ply forgotten. However, if any of the  messages  are  active,
                 their  status is not altered. This option can be used only by
                 an admin user or by the user who originally caused  the  mes-
                 sage to be placed on the queue.

       -Mt  <message id> <message id> ...
                 This  option  requests  Exim to ‘thaw’ any of the listed mes-
                 sages that  are  ‘frozen’,  so  that  delivery  attempts  can
                 resume.  However,  if  any  of the messages are active, their
                 status is not altered. This option can be  used  only  by  an
                 admin user.

       -Mvb  <message id>
                 This  option  causes  the  contents  of the message body (-D)
                 spool file to be written to the standard output. This  option
                 can be used only by an admin user.

       -Mvh  <message id>
                 This  option  causes the contents of the message headers (-H)
                 spool file to be written to the standard output. This  option
                 can be used only by an admin user.

       -Mvl  <message id>
                 This option causes the contents of the message log spool file
                 to be written to the standard output. This option can be used
                 only by an admin user.

       -m        This  is  apparently  a  synonym  for -om that is accepted by
                 Sendmail, so Exim treats it that way too.

       -N        This is a debugging option that inhibits delivery of  a  mes-
                 sage at the transport level. It implies -v. Exim goes through
                 many of the motions of delivery -- it just  doesn’t  actually
                 transport  the message, but instead behaves as if it had suc-
                 cessfully done so. However, it does not make any  updates  to
                 the  retry  database,  and the log entries for deliveries are
                 flagged with ‘*>’ rather than ‘=>’.

                 Because -N discards any message to  which  it  applies,  only
                 root  or the Exim user are allowed to use it with -bd, -q, -R
                 or -M. In other words, an ordinary user can use it only  when
                 supplying  an  incoming  message  to  which  it  will  apply.
                 Although transportation  never  fails  when  -N  is  set,  an
                 address may be deferred because of a configuration problem on
                 a transport, or a routing problem. Once -N has been used  for
                 a  delivery attempt, it sticks to the message, and applies to
                 any subsequent delivery attempts that  may  happen  for  that
                 message.

       -n        This option is interpreted by Sendmail to mean ‘no aliasing’.
                 It is ignored by Exim.

       -O  <data>
                 This option is interpreted by Sendmail to mean ‘set  option‘.
                 It is ignored by Exim.

       -oA  <file name>
                 This  option  is  used by Sendmail in conjunction with -bi to
                 specify an alternative alias file name. Exim handles -bi dif-
                 ferently; see the description above.

       -oB  <n>  This is a debugging option which limits the maximum number of
                 messages that can be  delivered  down  one  SMTP  connection,
                 overriding  the  value set in any "smtp" transport. If <n> is
                 omitted, the limit is set to 1.

       -odb      This option applies to all modes in which Exim accepts incom-
                 ing  messages,  including  the  listening daemon. It requests
                 ‘background’ delivery of such messages, which means that  the
                 accepting  process  automatically starts delivery process for
                 each message received, but does not  wait  for  the  delivery
                 process  to  complete.  This is the default action if none of
                 the -od options are present.

                 If one of the queueing  options  in  the  configuration  file
                 ("queue_only"   or  "queue_only_file",  for  example)  is  in
                 effect, -odb overrides it  if  "queue_only_override"  is  set
                 true,  which is the default setting. If "queue_only_override"
                 is set false, -odb has no effect.

       -odf      This option requests ‘foreground’ (synchronous) delivery when
                 Exim  has accepted a locally-generated message. (For the dae-
                 mon it is exactly the same as -odb.) A  delivery  process  is
                 automatically  started to deliver the message, and Exim waits
                 for it to complete before proceeding.   However,  like  -odb,
                 this  option  has no effect if "queue_only_override" is false
                 and one of the queueing options in the configuration file  is
                 in effect.

       -odi      This  option is synonymous with -odf. It is provided for com-
                 patibility with Sendmail.

       -odq      This option applies to all modes in which Exim accepts incom-
                 ing  messages,  including  the listening daemon. It specifies
                 that the accepting process should not automatically  start  a
                 delivery  process  for  each  message  received. Messages are
                 placed on the queue, and  remain  there  until  a  subsequent
                 queue runner process encounters them.  There are several con-
                 figuration options (such as "queue_only") that can be used to
                 queue incoming messages under certain conditions. This option
                 overrides all of them and also -odqs. It always forces queue-
                 ing.

       -odqs     This option is a hybrid between -odb/-odi and -odq.  However,
                 like  -odb  and  -odi,  this  option   has   no   effect   if
                 "queue_only_override"  is  false  and  one  of  the  queueing
                 options in the configuration file is in effect.

                 When -odqs does operate, a delivery process  is  started  for
                 each  incoming  message, in the background by default, but in
                 the foreground  if  -odi  is  also  present.   The  recipient
                 addresses  are  routed,  and local deliveries are done in the
                 normal way. However, if any  SMTP  deliveries  are  required,
                 they are not done at this time, so the message remains on the
                 queue until a subsequent queue runner process encounters  it.
                 Because routing was done, Exim knows which messages are wait-
                 ing for which hosts, and so a number of messages for the same
                 host   can   be   sent  in  a  single  SMTP  connection.  The
                 "queue_smtp_domains" configuration option has the same effect
                 for specific domains. See also the -qq option.

       -oee      If  an  error  is  detected while a non-SMTP message is being
                 received (for example, a malformed  address),  the  error  is
                 reported  to  the  sender  in  a mail message.  Provided this
                 error message is successfully sent, the Exim  receiving  pro-
                 cess  exits  with  a  return code of zero. If not, the return
                 code is 2 if the problem is that the original message has  no
                 recipients,  or  1  any other error. This is the default -oex
                 option if Exim is called as rmail.

       -oem      This is the same as -oee, except that Exim always exits  with
                 a  non-zero return code, whether or not the error message was
                 successfully sent.  This is the default -oex  option,  unless
                 Exim is called as rmail.

       -oep      If  an  error  is  detected while a non-SMTP message is being
                 received, the error is reported by writing a message  to  the
                 standard  error  file (stderr).  The return code is 1 for all
                 errors.

       -oeq      This option is supported for compatibility with Sendmail, but
                 has the same effect as -oep.

       -oew      This option is supported for compatibility with Sendmail, but
                 has the same effect as -oem.

       -oi       This option, which has the same effect as -i, specifies  that
                 a  dot  on a line by itself should not terminate an incoming,
                 non-SMTP message.  This is the default if Exim is  called  as
                 rmail. See also -ti.

       -oitrue   This option is treated as synonymous with -oi.

       -oMa  <host address>
                 A number of options starting with -oM can be used to set val-
                 ues associated with remote hosts  on  locally-submitted  mes-
                 sages  (that  is,  messages  not received over TCP/IP). These
                 options can be used by any caller  in  conjunction  with  the
                 -bh,  -be,  -bf,  -bF,  -bt, or -bv testing options. In other
                 circumstances, they are ignored unless the caller is trusted.

                 The  -oMa  option  sets  the  sender  host  address. This may
                 include a port number at the end, after a full stop (period).
                 For example:

                   exim -bs -oMa 10.9.8.7.1234

                 An  alternative syntax is to enclose the IP address in square
                 brackets, followed by a colon and the port number:

                   exim -bs -oMa [10.9.8.7]:1234

                 The IP address is placed in  the  $sender_host_address  vari-
                 able, and the port, if present, in $sender_host_port.

       -oMaa  <name>
                 See -oMa above for general remarks about the -oM options. The
                 -oMaa option sets  the  value  of  $sender_host_authenticated
                 (the authenticator name).

       -oMai  <string>
                 See -oMa above for general remarks about the -oM options. The
                 -oMai option sets the value of $authenticated_id (the id that
                 was  authenticated).   This  overrides the default value (the
                 caller’s login id) for messages from local sources.

       -oMas  <address>
                 See -oMa above for general remarks about the -oM options. The
                 -oMas  option sets the authenticated sender value in $authen-
                 ticated_sender.  It overrides the sender address that is cre-
                 ated  from  the  caller’s  login  id  for messages from local
                 sources.

       -oMi  <interface address>
                 See -oMa above for general remarks about the -oM options. The
                 -oMi  option sets the IP interface address value. A port num-
                 ber may be included, using the same syntax as for -oMa.   The
                 interface  address  is  placed  in $interface_address and the
                 port number, if present, in $interface_port.

       -oMr  <protocol name>
                 See -oMa above for general remarks about the -oM options. The
                 -oMr   option   sets   the   received   protocol   value   in
                 $received_protocol.  However, this applies only when  -bs  is
                 not  used. For interactive SMTP input, the protocol is deter-
                 mined by whether EHLO or HELO is used, and is  always  either
                 ‘local-esmtp’  or ‘local-smtp’. For -bS (batch SMTP) however,
                 the protocol can be set by -oMr.

       -oMs  <host name>
                 See -oMa above for general remarks about the -oM options. The
                 -oMs  option  sets the sender host name in $sender_host_name.
                 When this option is present, Exim does not attempt to look up
                 a host name from an IP address; it uses the name it is given.

       -oMt  <ident string>
                 See -oMa above for general remarks about the -oM options. The
                 -oMt  option  sets  the  sender ident value in $sender_ident.
                 The default setting for local callers is the login id of  the
                 calling process.

       -om       In  Sendmail, this option means ‘me too’, indicating that the
                 sender of a message should receive a copy of the  message  if
                 the  sender  appears  in an alias expansion. Exim always does
                 this, so the option does nothing.

       -oo       This option is ignored. In Sendmail it specifies  ‘old  style
                 headers’, whatever that means.

       -oP  <path>
                 This option is useful only in conjunction with -bd or -q with
                 a time value. The option specifies the file to which the pro-
                 cess  id of the daemon is written. When -oX is used with -bd,
                 or when -q with a time is used without -bd, this is the  only
                 way  of  causing  Exim  to write a pid file, because in those
                 cases, the normal pid file is not used.

       -or  <time>
                 This option sets a timeout value for incoming  non-SMTP  mes-
                 sages. If it is not set, Exim will wait forever for the stan-
                 dard input. The value can also be set by  the  "receive_time-
                 out" option.

       -os  <time>
                 This  option sets a timeout value for incoming SMTP messages.
                 The timeout applies to each SMTP command and block  of  data.
                 The  value  can  also  be  set  by the "smtp_receive_timeout"
                 option; it defaults to 5 minutes.

       -ov       This option has exactly the same effect as -v.

       -oX  <number or string>
                 This option is relevant only when the  -bd  (start  listening
                 daemon)  option  is  also  given. It controls which ports and
                 interfaces the daemon uses. When -oX is used to start a  dae-
                 mon,  no  pid  file  is written unless -oP is also present to
                 specify a pid file name.

       -pd       This option applies when  an  embedded  Perl  interpreter  is
                 linked   with   Exim.   It   overrides  the  setting  of  the
                 "perl_at_start" option, forcing the starting  of  the  inter-
                 preter to be delayed until it is needed.

       -ps       This  option  applies  when  an  embedded Perl interpreter is
                 linked  with  Exim.  It  overrides   the   setting   of   the
                 "perl_at_start"  option,  forcing  the starting of the inter-
                 preter to occur as soon as Exim is started.

       -q        This option is normally restricted to admin  users.  However,
                 there  is a configuration option called "prod_requires_admin"
                 which can be set false to relax this  restriction  (and  also
                 the same requirement for the -M, -R, and -S options).

                 The -q option starts one queue runner process. This scans the
                 queue of waiting messages, and runs a  delivery  process  for
                 each  one in turn. It waits for each delivery process to fin-
                 ish before starting the next one. A delivery process may  not
                 actually  do  any  deliveries  if  the  retry  times  for the
                 addresses have not been reached. Use -qf (see below)  if  you
                 want  to override this.  If the delivery process spawns other
                 processes to deliver other messages down passed SMTP  connec-
                 tions, the queue runner waits for these to finish before pro-
                 ceeding.

                 When all the queued messages have been considered, the origi-
                 nal queue runner process terminates. In other words, a single
                 pass is made over the waiting mail, one message  at  a  time.
                 Use  -q  with  a  time  (see  below)  if  you want this to be
                 repeated periodically.

                 Exim processes  the  waiting  messages  in  an  unpredictable
                 order. It isn’t very random, but it is likely to be different
                 each time, which is all that matters.  If one particular mes-
                 sage  screws  up a remote MTA, other messages to the same MTA
                 have a chance of getting through if they get tried first.

                 It is possible to cause the messages to be processed in lexi-
                 cal message id order, which is essentially the order in which
                 they arrived, by setting the "queue_run_in_order" option, but
                 this is not recommended for normal use.

       -q <qflags>
                 The  -q  option  may  be followed by one or more flag letters
                 that change its behaviour. They are all optional, but if more
                 than  one  is present, they must appear in the correct order.
                 Each flag is described in a separate item below.

       -qq...    An option starting with -qq requests a two-stage  queue  run.
                 In   the  first  stage,  the  queue  is  scanned  as  if  the
                 "queue_smtp_domains" option matched every  domain.  Addresses
                 are routed, local deliveries happen, but no remote transports
                 are run.  The hints database that  remembers  which  messages
                 are  waiting for specific hosts is updated, as if delivery to
                 those hosts had been deferred.  After  this  is  complete,  a
                 second,  normal queue scan happens, with routing and delivery
                 taking place as normal. Messages that are routed to the  same
                 host should mostly be delivered down a single SMTP connection
                 because of the hints that were set up during the first  queue
                 scan.  This option may be useful for hosts that are connected
                 to the Internet intermittently.

       -q[q]i... If the i flag is present, the queue runner runs delivery pro-
                 cesses  only  for those messages that haven’t previously been
                 tried. (i stands for ‘initial delivery’.) This can be helpful
                 if  you are putting messages on the queue using -odq and want
                 a queue runner just to process the new messages.

       -q[q][i]f...
                 If one f flag is present, a delivery attempt  is  forced  for
                 each  non-frozen message, whereas without "f" only those non-
                 frozen addresses that  have  passed  their  retry  times  are
                 tried.

       -q[q][i]ff...
                 If ff is present, a delivery attempt is forced for every mes-
                 sage, whether frozen or not.

       -q[q][i][f[f]]l
                 The l (the letter  ‘ell’)  flag  specifies  that  only  local
                 deliveries  are  to be done. If a message requires any remote
                 deliveries, it remains on the queue for later delivery.

       -q <qflags> <start id> <end id>
                 When scanning the queue, Exim can be made to skip  over  mes-
                 sages whose ids are lexically less than a given value by fol-
                 lowing the -q option with a starting message id. For example:

                   exim -q 0t5C6f-0000c8-00

                 Messages  that  arrived earlier than 0t5C6f-0000c8-00 are not
                 inspected. If a second message id is  given,  messages  whose
                 ids  are  lexically  greater than it are also skipped. If the
                 same id is given twice, for example,

                   exim -q 0t5C6f-0000c8-00 0t5C6f-0000c8-00

                 just one delivery process is started, for that message.  This
                 differs  from -M in that retry data is respected, and it also
                 differs from -Mc in that it counts as a delivery from a queue
                 run.  Note  that  the selection mechanism does not affect the
                 order in which the messages are scanned. There are also other
                 ways of selecting specific sets of messages for delivery in a
                 queue run -- see -R and -S.

       -q <qflags><time>
                 When a time value is present, the -q option  causes  Exim  to
                 run as a daemon, starting a queue runner process at intervals
                 specified by the given time value. This form of the -q option
                 is  commonly  combined  with  the -bd option, in which case a
                 single daemon process handles both functions. A common way of
                 starting up a combined daemon at system boot time is to use a
                 command such as

                   /usr/exim/bin/exim -bd -q30m

                 Such a daemon listens  for  incoming  SMTP  calls,  and  also
                 starts a queue runner process every 30 minutes.

                 When a daemon is started by -q with a time value, but without
                 -bd,  no  pid  file  is  written  unless  one  is  explicitly
                 requested by the -oP option.

       -qR <rsflags> <string>
                 This  option  is synonymous with -R. It is provided for Send-
                 mail compatibility.

       -qS <rsflags> <string>
                 This option is synonymous with -S.

       -R <rsflags> <string>
                 The <rsflags> may be empty, in which  case  the  white  space
                 before the string is optional, unless the string is f, ff, r,
                 rf, or rff, which are  the  possible  values  for  <rsflags>.
                 White space is required if <rsflags> is not empty.

                 This  option is similar to -q with no time value, that is, it
                 causes Exim to perform a single queue run, except that,  when
                 scanning the messages on the queue, Exim processes only those
                 that have at least one undelivered recipient address contain-
                 ing  the given string, which is checked in a case-independent
                 way. If the <rsflags> start with r, <string>  is  interpreted
                 as a regular expression; otherwise it is a literal string.

                 Once  a message is selected, all its addresses are processed.
                 For the first selected  message,  Exim  overrides  any  retry
                 information  and  forces a delivery attempt for each undeliv-
                 ered address. This means that if delivery of any  address  in
                 the  first message is successful, any existing retry informa-
                 tion is deleted, and so delivery attempts for that address in
                 subsequently  selected  messages (which are processed without
                 forcing) will run. However, if delivery of any  address  does
                 not  succeed, the retry information is updated, and in subse-
                 quently  selected  messages,  the  failing  address  will  be
                 skipped.

                 If  the  <rsflags>  contain  f  or  ff,  the delivery forcing
                 applies to all selected messages, not just the first;  frozen
                 messages are included when ff is present.

                 The  -R  option makes it straightforward to initiate delivery
                 of all messages to a given domain after a host has been  down
                 for  some time. When the SMTP command ETRN is accepted by its
                 ACL, its default effect is to run Exim with  the  -R  option,
                 but it can be configured to run an arbitrary command instead.

       -r        This is a documented (for Sendmail) obsolete alternative name
                 for -f.

       -S <rsflags> <string>
                 This  option  acts  like  -R except that it checks the string
                 against each message’s sender instead of against the  recipi-
                 ents.  If  -R  is also set, both conditions must be met for a
                 message to be selected. If either of the options has f or  ff
                 in its flags, the associated action is taken.

       -t        When  Exim is receiving a locally-generated, non-SMTP message
                 on its standard input, the -t option causes the recipients of
                 the message to be obtained from the To:, Cc:, and Bcc: header
                 lines in the message instead of from the  command  arguments.
                 The addresses are extracted before any rewriting takes place.

                 If the command has any arguments, they specify  addresses  to
                 which  the message is not to be delivered. That is, the argu-
                 ment addresses are removed from the recipients list  obtained
                 from  the  headers.  This  is  compatible with Smail 3 and in
                 accordance with the documented behaviour of several  versions
                 of Sendmail, as described in man pages on a number of operat-
                 ing systems (e.g.  Solaris 8, IRIX 6.5, HP-UX  11).  However,
                 some  versions  of  Sendmail  add argument addresses to those
                 obtained from the headers, and  the  O’Reilly  Sendmail  book
                 documents  it  that  way.  Exim  can  be made to add argument
                 addresses instead of subtracting them by setting  the  option
                 "extract_addresses_remove_arguments" false.

                 If a Bcc: header line is present, it is removed from the mes-
                 sage unless there is no To: or Cc:, in which case a Bcc: line
                 with  no  data  is  created. This is necessary for conformity
                 with the original RFC 822 standard; the requirement has  been
                 removed in RFC 2822, but that is still very new.

                 If  there are any "Resent-" header lines in the message, Exim
                 extracts recipients  from  all  Resent-To:,  Resent-Cc:,  and
                 Resent-Bcc:  header lines instead of from To:, Cc:, and Bcc:.
                 This is for  compatibility  with  Sendmail  and  other  MTAs.
                 (Prior  to release 4.20, Exim gave an error if -t was used in
                 conjunction with "Resent-" header lines.)

                 RFC 2822 talks about different sets of "Resent-" header lines
                 (for  when  a  message is resent several times). The RFC also
                 specifies that they should be added at the front of the  mes-
                 sage,  and  separated  by  Received:  lines. It is not at all
                 clear how -t should operate in the present of multiple  sets,
                 nor indeed exactly what constitutes a ‘set’.  In practice, it
                 seems that MUAs do not follow the RFC.  The  "Resent-"  lines
                 are often added at the end of the header, and if a message is
                 resent more than once, it is common for the original  set  of
                 "Resent-" headers to be renamed as "X-Resent-" when a new set
                 is added. This removes any possible ambiguity.

       -ti       This option is exactly equivalent to -t -i.  It  is  provided
                 for compatibility with Sendmail.

       -tls-on-connect
                 This  option is available when Exim is compiled with TLS sup-
                 port. It makes it possible to support legacy clients that  do
                 not support the STARTTLS command, but instead expect to start
                 up a TLS session as soon as a connection  to  the  server  is
                 established. These clients use a special port (usually called
                 the ‘ssmtp’ port) instead of the normal  SMTP  port  25.  The
                 -tls-on-connect  option  can  be used to run Exim in this way
                 from inetd, and it can also be used to run a  special  daemon
                 that  operates  in this manner (use -oX to specify the port).
                 However, although it is possible to run one daemon that  lis-
                 tens  on  several  ports,  it is not possible to have some of
                 them operate one way and some the  other.  With  only  a  few
                 clients  that  need the legacy support, a convenient approach
                 is to use a daemon for normal SMTP (with or without STARTTLS)
                 and inetd with -tls-on-connect for the legacy clients.

       -U        Sendmail  uses  this option for ‘initial message submission’,
                 and its documentation states that in future releases, it  may
                 complain  about  syntactically  invalid  messages rather than
                 fixing them when this flag is  not  set.  Exim  ignores  this
                 option.

       -v        This  option causes Exim to write information to the standard
                 error stream, describing what it is doing. In particular,  it
                 shows  the  log lines for receiving and delivering a message,
                 and if an SMTP connection  is  made,  the  SMTP  dialogue  is
                 shown.  Some of the log lines shown may not actually be writ-
                 ten to the log if  the  setting  of  "log_selector"  discards
                 them. Any relevant selectors are shown with each log line. If
                 none are shown, the logging is unconditional.

       -x        AIX uses -x for a private purpose (‘mail from  a  local  mail
                 program  has National Language Support extended characters in
                 the body of the mail item’).  It sets -x when calling the MTA
                 from its "mail" command. Exim ignores this option.


Man(1) output converted with man2html