Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
EXIM(8) 		     System Manager's Manual			 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 speci-
     fication, see the reference manual. This man page contains only a	descrip-
     tion  of the command line options. It has been automatically generated from
     the reference manual source, hopefully without too much mangling.

     Like other MTAs, Exim replaces Sendmail, and is  normally	called	by  user
     agents  (MUAs)  using the path /usr/sbin/sendmail when they submit messages
     for delivery (some operating systems use /usr/lib/sendmail). This	path  is
     normally  set up as a symbolic link to the Exim binary. It may also be used
     by boot scripts to start the Exim daemon. Many of Exim's command  line  op-
     tions are compatible with Sendmail so that it can act as a drop-in replace-
     ment.

DEFAULT ACTION

     If  no options are present that require a specific action (such as starting
     the daemon or a queue runner, testing an address, receiving a message in  a
     specific  format,	or listing the queue), and there are no arguments on the
     command line, Exim outputs a brief message about itself and exits.

     However, if there is at least one command line argument, -bm (accept a  lo-
     cal message on the standard input, with the arguments specifying the recip-
     ients)  is  assumed.  Thus, for example, if Exim is installed in /usr/sbin,
     you can send a message from the command line like this:

       /usr/sbin/exim -i <recipient-address(es)>
       <message content, including all the header lines>
       CTRL-D

     The -i option prevents a line containing just a dot  from	terminating  the
     message.  Only  an  end-of-file (generated by typing CTRL-D if the input is
     from a terminal) does so.

SETTING OPTIONS BY PROGRAM NAME

     If an Exim binary is called using one of the names listed in  this  section
     (typically via a symbolic link), certain options are assumed.

     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  re-
	    quests  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  ex-
	    its.

     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.

     --version
	       This option is an alias for -bV and causes version information to
	       be displayed.

     -Ac       -Am  These  options are used by Sendmail for selecting configura-
	       tion files and are ignored by Exim.

     -atrn <host>
	       This option requests an ODMR customer connection.

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

     -bd       This option runs Exim as a daemon, awaiting incoming SMTP connec-
	       tions.  Usually	the -bd option is combined with the -q<time> op-
	       tion, to specify that the daemon should	also  initiate	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.	However,  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 di-
	       rectory. This location can be overridden by setting PID_FILE_PATH
	       in Local/Makefile. The file is written while Exim is  still  run-
	       ning 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. How-
	       ever, -oP can be used to specify a path on the command line if  a
	       pid file is required.

	       The  SIGHUP  signal can be used to cause the daemon to re-execute
	       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.

	       Either a SIGTERM or a SIGINT signal should be used to  cause  the
	       daemon to cleanly shut down.  Subprocesses handling recceiving or
	       delivering  messages,  or for scanning the queue, will not be af-
	       fected by the termination of the daemon process.

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

     -be       Run Exim in expansion testing mode. Exim discards its root privi-
	       lege, to prevent ordinary users from using this mode to read oth-
	       erwise  inaccessible  files. If no arguments are given, Exim runs
	       interactively,  prompting  for  lines  of  data.  Otherwise,   it
	       processes each argument in turn.

	       If  Exim  was  built  with USE_READLINE=yes in Local/Makefile, it
	       tries to load the libreadline library  dynamically  whenever  the
	       -be option is used without command line arguments. If successful,
	       it   uses  the  readline()  function,  which  provides  extensive
	       line-editing facilities, for reading the test data. A  line  his-
	       tory is supported.

	       Long expansion expressions can be split over several lines by us-
	       ing  backslash continuations. As in Exim's runtime configuration,
	       white space 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  values  from  the
	       configuration  file (for example, $qualify_domain) are available,
	       but no message-specific values  (such  as  $message_exim_id)  are
	       set,  because  no  message  is  being processed (but see -bem and
	       -Mset).

	       Note: If you use this mechanism to test lookups, and  you  change
	       the  data  files  or  databases	you are using, you must exit and
	       restart Exim before trying the same lookup again. Otherwise,  be-
	       cause  each  Exim process caches the results of lookups, you will
	       just get the same result as before.

	       Macro processing is done on lines  before  string-expansion:  new
	       macros  can  be	defined  and  macros  will be expanded.  Because
	       macros in the config file are often used for secrets,  those  are
	       only available to admin users.

	       The  word  "set"  at  the  start  of a line, followed by a single
	       space, is recognised specially as defining a value  for	a  vari-
	       able.   If  the	sequence  ",t" is inserted before the space, the
	       value is marked as tainted.  The syntax is otherwise the same  as
	       the ACL modifier "set =".

     -bem <filename>
	       This  option operates like -be except that it must be followed by
	       the name of a file. For example:

		 exim -bem /tmp/testmessage

	       The file is read as a message (as if receiving a  locally-submit-
	       ted non-SMTP message) before any of the test expansions are done.
	       Thus,   message-specific  variables  such  as  $message_size  and
	       $header_from: are available.  However,  no  Received:  header  is
	       added  to  the  message.  If the -t option is set, recipients are
	       read from the headers in the normal way, and  are  shown  in  the
	       $recipients variable. Note that recipients cannot be given on the
	       command	line,  because further arguments are taken as strings to
	       expand (just like -be).

     -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 recognized.

     -bf <filename>
	       This option runs Exim in user 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 you want to test a system filter file, use -bF instead of -bf.
	       You  can  use  both  -bF and -bf on the same command, in order to
	       test a system filter and a user filter in the same run. For exam-
	       ple:

		 exim -bF /system/filter -bf /user/filter </test/message

	       This is helpful when the system filter adds header lines or  sets
	       filter variables that are used by the user filter.

	       If  the	test  filter 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  va-
	       lidity 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 fil-
	       ter  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  addi-
	       tional command line options (see the next four options).

     -bfd <domain>
	       This  sets the domain of the recipient address when a filter file
	       is being tested by means of the -bf option. The	default  is  the
	       value of $qualify_domain.

     -bfl <local part>
	       This  sets  the local part of the recipient address when a filter
	       file is being tested by means of the -bf option. The  default  is
	       the  username of the process that calls Exim. A local part should
	       be specified with any prefix or suffix stripped, because that  is
	       how it appears to the filter when a message is actually being de-
	       livered.

     -bfp <prefix>
	       This  sets  the prefix of the local part of the recipient address
	       when a filter file is being tested by means of  the  -bf  option.
	       The default is an empty prefix.

     -bfs <suffix>
	       This  sets  the suffix of the local part of the recipient address
	       when a filter file is being tested by means of  the  -bf  option.
	       The default is an empty suffix.

     -bh <IP address>
	       This  option runs a fake SMTP session as if from the given IP ad-
	       dress, 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

	       When  an  IPv6  address	is given, it is converted into canonical
	       form. In the case of the  second  example  above,  the  value  of
	       $sender_host_address  after  conversion	to the canonical form is
	       fe80:0000:0000:0a00: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 anything  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 re-
	       lay controls using -bh.

	       Warning	1:  You can test features of the configuration that rely
	       on ident (RFC 1413) information by using the  -oMt  option.  How-
	       ever,  Exim cannot actually perform an ident callout when testing
	       using -bh because there is no incoming SMTP connection.

	       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 important, and -oMaa
	       and -oMai can be used to set parameters as if  the  SMTP  session
	       were authenticated.

	       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.

	       Features  such as authentication and encryption, where the client
	       input is not plain text, cannot easily be tested  with  -bh.  In-
	       stead,  you  should  use  a specialized SMTP test program such as
	       swaks.

     -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_command
	       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.

     -bI:help  We shall provide various options starting -bI: for querying  Exim
	       for  information.   The	output of many of these will be intended
	       for machine consumption.  This one is not.  The	-bI:help  option
	       asks  Exim  for	a  synopsis of supported options beginning -bI:.
	       Use of any of these options shall cause Exim to exit  after  pro-
	       ducing the requested output.

     -bI:dscp  This  option causes Exim to emit an alphabetically sorted list of
	       all recognised DSCP names.

     -bI:sieve
	       This option causes Exim to emit an alphabetically sorted list  of
	       all  supported Sieve protocol extensions on stdout, one per line.
	       This is anticipated to be useful for ManageSieve (RFC  5804)  im-
	       plementations,  in providing that protocol's SIEVE capability re-
	       sponse line.  As the precise list may  depend  upon  compile-time
	       build  options, which this option will adapt to, this is the only
	       way to guarantee a correct response.

     -bm       This option runs an Exim receiving process that accepts an incom-
	       ing, locally-generated message on the standard input. The recipi-
	       ents 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 qualify_domain or qual-
	       ify_recipient options, as appropriate. The -bnq option  (see  be-
	       low) 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 af-
	       ter 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_pattern option, which can be
	       changed if necessary.

	       The specified sender is treated as if it were given as the  argu-
	       ment  to  the  -f option, but if a -f option is also present, its
	       argument 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.

     -bmalware <filename>
	       This debugging option causes Exim to scan the given file  or  di-
	       rectory (depending on the used scanner interface), using the mal-
	       ware  scanning  framework.   The  option of av_scanner influences
	       this option, so if av_scanner's value is dependent upon an expan-
	       sion then the expansion should have defaults which apply to  this
	       invocation.  ACLs are not invoked, so if av_scanner references an
	       ACL  variable  then  that  variable  will  never be populated and
	       -bmalware will fail.

	       Exim will have changed working  directory  before  resolving  the
	       filename,  so using fully qualified pathnames is advisable.  Exim
	       will be running as the Exim user when it tries to open the  file,
	       rather  than  as  the  invoking user.  This option requires admin
	       privileges.

	       The -bmalware option will not be extended to  be  more  generally
	       useful,	there  are  better tools for file-scanning.  This option
	       exists to help administrators verify their Exim	and  AV  scanner
	       configuration.

     -bnq      By  default,  Exim  automatically qualifies unqualified addresses
	       (those without domains) that appear in messages that are  submit-
	       ted  locally  (that  is, not over TCP/IP). This qualification ap-
	       plies both to addresses in envelopes,  and  addresses  in  header
	       lines.  Sender  addresses are qualified using qualify_domain, and
	       recipient addresses using qualify_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  originally
	       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 syn-
	       tax check in the appropriate ACL.)

	       The -bnq option suppresses all qualification of	unqualified  ad-
	       dresses	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  values
	       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  ad-
	       min user. For other users, the output is as in this example:

		 mysql_servers = <value not displayable>

	       If  config  is  given as an argument, the config is output, as it
	       was parsed, any include file resolved, any comment removed.

	       If config_file is given as an argument, the name of  the  runtime
	       configuration  file  is	output.  (configure_file  works too, for
	       backward compatibility.)  If a list of  configuration  files  was
	       supplied,  the  value that is output here is the name of the file
	       that was actually used.

	       If the -n flag is given, then for most modes of -bP operation the
	       name will not be output.

	       If log_file_path or pid_file_path are given, the names of the di-
	       rectories 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 directory 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 op-
	       tion settings for that driver are output. For example:

		 exim -bP transport local_delivery

	       The generic driver options are output first, followed by the dri-
	       ver's private options. A list of the names of drivers of  a  par-
	       ticular	 type  can  be	obtained  by  using  one  of  the  words
	       router_list, transport_list, or authenticator_list,  and  a  com-
	       plete  list  of all drivers with their option settings can be ob-
	       tained by using routers, transports, or authenticators.

	       If environment is given as an argument, the  set  of  environment
	       variables  is  output, line by line. Using the -n flag suppresses
	       the value of the variables.

	       If invoked by an admin user, then macro,  macro_list  and  macros
	       are  available,	similarly  to  the  drivers.  Because macros are
	       sometimes used for storing passwords, this option is  restricted.
	       The  output  format  is	one  item  per line.  For the "-bP macro
	       <name>" form, if no such macro is found the exit status	will  be
	       nonzero.

     -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.  However,   the
	       queue_list_requires_admin  option  can  be set false to allow any
	       user to see the queue.

	       Each message in the queue is displayed as in the following  exam-
	       ple:

		 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
	       in the queue (in this case 25 minutes), the size of  the  message
	       (2.9K), the unique local identifier for the message, and the mes-
	       sage  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 de-
	       fault sender address, the user's login name is shown in parenthe-
	       ses before the sender address.

	       If the message is frozen (attempts to deliver it  are  suspended)
	       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 ad-
	       dresses 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  ad-
	       dress(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  in	the  queue,  and
	       writes  the total to the standard output. It is restricted to ad-
	       min users, unless queue_list_requires_admin is set false.

     -bpi      This option operates like -bp, but only outputs message ids  (one
	       per line).

     -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 in the queue, and is particularly use-
	       ful if the output is going to be post-processed	in  a  way  that
	       doesn't need the sorting.

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

     -bpri     This option is a combination of -bpr and -bpi.

     -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 message
	       was deferred after processing by a router with the  one_time  op-
	       tion set.

     -brt      This  option  is for testing retry rules, and it must be followed
	       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.
	       If the second argument contains a dot, it is  interpreted  as  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 be-
	       haviour 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. Finally, an argument that is the name of a spe-
	       cific delivery error, as used in setting up retry rules,  can  be
	       given. For example:

		 exim -brt haydn.comp.mus.example quota_3d
		 Retry rule: *@haydn.comp.mus.example quota_3d	F,1h,15m

     -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 quali-
	       fied 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	alterna-
	       tive  interface	for  non-interactive local message submission. A
	       number of messages can be submitted in a single run. However, de-
	       spite 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  un-
	       trusted_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  for-
	       mat  (leading dots doubled), terminated by a line containing just
	       a single dot. An error is provoked  if  the  terminating  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.   Un-
	       qualified addresses are automatically qualified using qualify_do-
	       main  and  qualify_recipient, as appropriate, unless the -bnq op-
	       tion is used.

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

	       If any error is encountered, reports are written to the	standard
	       output  and error streams, and Exim gives up immediately. The re-
	       turn 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 un-
	       trusted_set_sender is set, the senders of messages are taken from
	       the SMTP MAIL commands.	Otherwise the content of these	commands
	       is ignored and the sender is set up as the calling user. Unquali-
	       fied  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 alter-
	       native 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 qual-
	       ification do not apply. In this situation, Exim	behaves  in  ex-
	       actly  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  ar-
	       gument  is taken as a recipient address to be tested for deliver-
	       ability. 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 sensitive in-
	       formation such as usernames and passwords for database lookups.

	       If no arguments are given, Exim runs in	an  interactive  manner,
	       prompting with a right angle bracket for addresses to be tested.

	       Unlike  the  -be  test option, you cannot arrange for Exim to use
	       the readline() function, because it is running as root and  there
	       are security issues.

	       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 output. However, any router
	       that has no_address_test set is bypassed. This can make -bt  eas-
	       ier  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.

	       Note: When actually delivering a message, Exim removes  duplicate
	       recipient  addresses  after routing is complete, so that only one
	       delivery takes place.  This does not  happen  when  testing  with
	       -bt; the full results of routing are always shown.

	       Warning: -bt can only do relatively simple testing. If any of the
	       routers	in  the  configuration makes any tests on the sender ad-
	       dress of a message, you can use the -f option to set an appropri-
	       ate sender when running -bt tests. Without it, the sender is  as-
	       sumed  to  be  the calling user at the default qualifying domain.
	       However, if you have set up (for example) routers whose behaviour
	       depends on the contents of an incoming 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, com-
	       pilation  number,  and compilation date of the exim binary to the
	       standard output.  It also lists the DBM	library  that  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.

	       As part of its operation, -bV causes  Exim  to  read  and  syntax
	       check  its  configuration  file.  However, this is a static check
	       only. It cannot check values that are to be expanded.  For  exam-
	       ple,  although  a  misspelt ACL verb is detected, an error in the
	       verb's arguments is not. You cannot rely on -bV alone to discover
	       (for example) all the typos in the configuration; some  realistic
	       testing	is  needed.  The -bh and -N options provide more dynamic
	       testing facilities.

     -bv       This option runs Exim in address verification mode, in which each
	       argument is taken as a recipient address to be  verified  by  the
	       routers.  (This does not involve any verification callouts). Dur-
	       ing normal operation, verification happens  mostly  as  a  conse-
	       quence  processing  a  verify condition in an ACL. If you want to
	       test an entire ACL, possibly including callouts, see the -bh  and
	       -bhc options.

	       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 data-
	       base lookups.

	       If no arguments are given, Exim runs in	an  interactive  manner,
	       prompting  with	a  right angle bracket for addresses to be veri-
	       fied.

	       Unlike the -be test option, you cannot arrange for  Exim  to  use
	       the  readline() function, because it is running as exim and there
	       are security issues.

	       Verification differs from address testing  (the	-bt  option)  in
	       that  routers that have no_verify set are skipped, and if the ad-
	       dress is accepted by a router that has fail_verify set, verifica-
	       tion fails. The address is verified 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. Without -v, generating more
	       than one address by redirection causes verification to  end  suc-
	       cessfully,  without considering the generated addresses. However,
	       if just one address is generated, processing continues,	and  the
	       generated  address must verify successfully for the overall veri-
	       fication to succeed.

	       When -v is set, 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. Verification may succeed
	       for some and fail for others.

	       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	qualify-
	       ing 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.

     -bw       This option runs Exim as a daemon, awaiting incoming SMTP connec-
	       tions,  similarly  to the -bd option.  All port specifications on
	       the command-line and  in  the  configuration  file  are	ignored.
	       Queue-running may not be specified.

	       In  this mode, Exim expects to be passed a socket as fd 0 (stdin)
	       which is listening for connections.  This permits the  system  to
	       start up and have inetd (or equivalent) listen on the SMTP ports,
	       starting an Exim daemon for each port only when the first connec-
	       tion is received.

	       If  the	option is given as -bw<time> then the time is a timeout,
	       after which the daemon will exit, which	should	cause  inetd  to
	       listen once more.

     -C <filelist>
	       This  option  causes  Exim to find the runtime configuration file
	       from the given list instead of from the	list  specified  by  the
	       CONFIGURE_FILE  compile-time setting. Usually, the list will con-
	       sist of just a single filename, 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, 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  a
	       TRUSTED_CONFIG_LIST  file is defined in Local/Makefile, that file
	       contains a list of full pathnames, one per line,  for  configura-
	       tion  files which are trusted. Root privilege is retained for any
	       configuration file so listed, as long as the caller is  the  Exim
	       user  (or  the  user  specified in the CONFIGURE_OWNER option, if
	       any), and as long as the configuration file is not  writeable  by
	       inappropriate users or groups.

	       Leaving	TRUSTED_CONFIG_LIST  unset  precludes the possibility of
	       testing a configuration using -C right through message  reception
	       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-executes  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 in the
	       queue, using -odq, and another to do the delivery, using -M).

	       If ALT_CONFIG_PREFIX is defined in Local/Makefile, it specifies a
	       prefix string with which any file named in a -C command line  op-
	       tion  must  start. In addition, the filename must not contain the
	       sequence /../.  However, if the value of the -C option is identi-
	       cal to the value of CONFIGURE_FILE in  Local/Makefile,  Exim  ig-
	       nores  -C  and proceeds as usual. There is no default setting for
	       ALT_CONFIG_PREFIX; when it is unset, any  filename  can	be  used
	       with -C.

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

	       The -C facility is useful for ensuring that  configuration  files
	       are  syntactically  correct, but cannot be used for test deliver-
	       ies, 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 con-
	       figuration file. However, like -C, if it is used by  an	unprivi-
	       leged  caller,  it causes Exim to give up its root privilege.  If
	       DISABLE_D_OPTION is defined in Local/Makefile, the use of  -D  is
	       completely disabled, and its use causes an immediate error exit.

	       If WHITELIST_D_MACROS is defined in Local/Makefile then it should
	       be  a  colon-separated  list  of macros which are considered safe
	       and, if -D only supplies macros from this list,	and  the  values
	       are  acceptable, then Exim will not give up root privilege if the
	       caller is root, the Exim run-time user, or  the	CONFIGURE_OWNER,
	       if set.	This is a transition mechanism and is expected to be re-
	       moved  in  the  future.	Acceptable values for the macros satisfy
	       the regexp: ^[A-Za-z0-9_/.-]*$

	       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 op-
	       tional. 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.  Only  macro
	       names up to 22 letters long can be set.

     -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 contain password
	       information. Also, the details of users' filter files  should  be
	       protected. If a non-admin user uses -d, Exim writes an error mes-
	       sage  to  the standard error stream and exits with a non-zero re-
	       turn code.

	       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 in-
	       creased	to  include  some more rarely needed information, by di-
	       rectly 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 example, -d+filter adds filter debugging,
	       whereas -d-all+filter selects only filter debugging. Note that no
	       spaces are allowed in the debug setting. The available  debugging
	       categories 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
		   noutf8 modifier: avoid UTF-8 line-drawing
		   pid modifier: 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 modifier: 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 almost all of the above (see below), and also -v

	       The all option excludes memory when used as +all, but includes it
	       for -all. The reason for this is that +all is something that peo-
	       ple  tend  to use when generating debug output for Exim maintain-
	       ers. If +memory is included, an awful lot of output that is  very
	       rarely  of  interest is generated, so it now has to be explicitly
	       requested. However, -all does turn everything off.

	       The resolver option produces output only if the DNS resolver  was
	       compiled with DEBUG enabled. This is not the case in some operat-
	       ing  systems.  Also, unfortunately, debugging output from the DNS
	       resolver is written to stdout rather than stderr.

	       The default (-d with no argument) omits	expand,  filter,  inter-
	       face,  load,  memory, pid, resolver, and timestamp.  However, 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 auto-
	       matically  adds the pid to debug lines when several remote deliv-
	       eries 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 try-
	       ing to track down delays in processing.

	       The  noutf8 selector disables the use of UTF-8 line-drawing char-
	       acters to group related information.  When disabled. ascii-art is
	       used instead.  Using the +all option does not set this modifier.

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

     -dd<debug options>
	       This option behaves exactly like -d except when used on a command
	       that  starts  a daemon process. In that case, debugging is turned
	       off for the subprocesses that the daemon  creates.  Thus,  it  is
	       useful  for monitoring the behaviour of the daemon without creat-
	       ing as much output as full debugging does.

     -dp<size>
	       This option sets up a debug pretrigger buffer with given size (in
	       bytes).	The default is 16kB.

     -dt=<value>
	       This option sets additional reasons for debug  to  trigger,  over
	       ACL-initiated triggers.	A value with bit 0 set will trigger on a
	       write  to  the panic log.  If a pretrigger buffer had been set up
	       (cf. the -dp option above) the debug trail  leading  up	to  this
	       write will be available.

     -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.

     -dS       This  option enables debug during the startup of Exim, before the
	       completion of processing the configuration file(s).

     -E        This option specifies that an incoming message is a  locally-gen-
	       erated  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 certain messages
	       to the postmaster, as otherwise message cascades 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  re-
	       ceipt  of  the  new message contains 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 leading o in
	       the option. For example, the  vacation  program	uses  -eq.  Exim
	       treats  all options of the form -ex as synonymous with the corre-
	       sponding -oex options.

     -F <string>
	       This option sets the sender's  full  name  for  use  when  a  lo-
	       cally-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 lo-
	       cally-generated message (also known as the return path). The  op-
	       tion  can  normally  be	used  only  by	a  trusted user, but un-
	       trusted_set_sender can be set to allow untrusted users to use it.

	       Processes running as root or the Exim user  are	always	trusted.
	       Other   trusted	 users	are  defined  by  the  trusted_users  or
	       trusted_groups options. In the absence of -f, or if the caller is
	       not trusted, 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, trusted or not, 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  fil-
	       ter  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 argument). The
	       sender  of a locally-generated message can also be set (when per-
	       mitted) by an initial "From " line in the message - see	the  de-
	       scription  of -bm above - but if -f is also present, it overrides
	       "From ".

     -G        This option is equivalent to an ACL applying:

		 control = suppress_local_fixups

	       for every message received.  Note  that	Sendmail  will	complain
	       about  such bad formatting, where Exim silently just does not fix
	       it up.  This may change in future.

	       As this affects audit information, the caller must be  a  trusted
	       user to use this option.

     -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.  Solaris 2.4 (SunOS 5.4) Sendmail has a similar
	       -i	   processing	       option	      (https://docs.ora-
	       cle.com/cd/E19457-01/801-6680-1M/801-6680-1M.pdf, p. 1M-529), and
	       therefore a -oi command line option, which both are used  by  its
	       mailx command.

     -L <tag>  This  option  is  equivalent to setting syslog_processname in the
	       config file and setting log_file_path to syslog.  Its use is  re-
	       stricted  to  administrators.   The  configuration file has to be
	       read and parsed, to determine access rights, before this  is  set
	       and takes effect, so early configuration file errors will not ho-
	       nour this flag.

	       The tag should not be longer than 32 characters.

     -M <message id> <message id> ...
	       This  option requests Exim to run a delivery attempt on each mes-
	       sage in turn. If any of the messages are frozen, they  are  auto-
	       matically  thawed  before  the  delivery attempt. The settings 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  re-
	       quirement for the -q, -R, and -S options).

	       The  deliveries	happen synchronously, that is, the original Exim
	       process does not terminate until all the delivery  attempts  have
	       finished.  No output is produced unless there is a serious error.
	       If you want to see what is happening, use the -v option as  well,
	       or inspect Exim's main log.

     -Mar <message id> <address> <address> ...
	       This option requests Exim to add the addresses to the list of re-
	       cipients  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> <host IP>
	       <host port> <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 op-
	       tion,  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 authen-
	       ticated.

     -MCD      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 remote host supports the ESMTP DSN extension.

     -MCd      This option is not intended for use by external	callers.  It  is
	       used internally by Exim in conjunction with the -d option to pass
	       on an information string on the purpose of the process.

     -MCG <queue name>
	       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 an alternate queue is used, named by the following
	       argument.

     -MCK      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	a remote host supports the ESMTP CHUNKING exten-
	       sion.

     -MCL      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  connected  advertised
	       limits on numbers of mails, recipients or recipient domains.  The
	       limits are given by the following three arguments.

     -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 connected supports
	       pipelining.

     -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 connection t a remote server is  via	a  SOCKS
	       proxy,  using addresses and ports given by the following four ar-
	       guments.

     -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  de-
	       scriptor  number of an open pipe. Closure of the pipe signals the
	       final completion of the sequence of processes  that  are  passing
	       messages through the same SMTP connection.

     -MCq <recipient address> <size>
	       This  option  is  not intended for use by external callers. It is
	       used internally by Exim to implement  quota  checking  for  local
	       users.

     -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 ESMTP SIZE option should be used on
	       messages delivered down the existing connection.

     -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  sup-
	       ports TLS encryption.

     -MCr <SNI>
	       -MCs  <SNI>  These  options  are not intended for use by external
	       callers. It is used internally by Exim in  conjunction  with  the
	       -MCt  option, and passes on the fact that a TLS Server Name Indi-
	       cation was sent as part of the channel establishment.  The  argu-
	       ment gives the SNI string.  The "r" variant indicates a DANE-ver-
	       ified connection.

     -MCt <IP address> <port> <cipher>
	       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 connection is being proxied by a par-
	       ent  process for handling TLS encryption.  The arguments give the
	       local address and port being proxied, and the TLS cipher.

     -Mc <message id> <message id> ...
	       This option requests Exim to run a delivery attempt on each  mes-
	       sage,  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 ad-
	       dress or "<>" ("es" for "edit sender"). There must be exactly two
	       arguments.  The first argument must be a message id, and the sec-
	       ond one an email address. However, 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.

     -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.  Bounce
	       messages are just discarded. This option can be used only  by  an
	       admin user.

     -MG <queue name> <message id> <message id> ...
	       This  option  requests that each listed message be moved from its
	       current queue to the given named queue.	 The  destination  queue
	       name  argument  is required, but can be an empty string to define
	       the default queue.  If the messages are not currently located  in
	       the  default queue, a -qG<name> option will be required to define
	       the source queue.

     -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 deliv-
	       ered"). However, if any message is active (in the middle of a de-
	       livery 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  simply  for-
	       gotten.	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 message to be placed in the
	       queue.

     -Mset <message id>
	       This option is useful only in conjunction with -be (that is, when
	       testing string expansions). Exim loads the given message from its
	       spool before doing the test expansions, thus setting message-spe-
	       cific  variables  such as $message_size and the header variables.
	       The $recipients variable is made available. This feature is  pro-
	       vided to make it easier to test expansions that make use of these
	       variables.  However,  this  option  can	be used only by an admin
	       user. See also -bem.

     -Mt <message id> <message id> ...
	       This option requests Exim to "thaw" any of  the	listed	messages
	       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.

     -Mvc <message id>
	       This option causes a copy of the complete message  (header  lines
	       plus  body) to be written to the standard output in RFC 2822 for-
	       mat. 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  a  synonym  for  -om	that  is  accepted  by	Sendmail
	       (https://docs.oracle.com/cd/E19457-01/801-6680-1M/801-6680-1M.pdf
	       p. 1M-258), so Exim treats it that way too.

     -N        This is a debugging option that inhibits delivery of a message at
	       the transport level. It implies -v. Exim goes through many of the
	       motions of delivery - it just doesn't actually transport the mes-
	       sage, but instead behaves as if it had successfully done so. How-
	       ever, 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".
	       For  normal modes of operation, it is ignored by Exim.  When com-
	       bined with -bP it makes the output more terse (suppresses  option
	       names, environment values and config pretty printing).

     -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  spec-
	       ify  an alternative alias filename. Exim handles -bi differently;
	       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, overrid-
	       ing  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	incoming
	       messages,  including  the  listening  daemon.  It requests "back-
	       ground" delivery of such messages, which means that the accepting
	       process automatically starts a delivery process for each  message
	       received, but does not wait for the delivery processes to finish.

	       When  all  the messages have been received, the reception process
	       exits, leaving the delivery processes  to  finish  in  their  own
	       time.  The  standard  output  and error streams are closed at the
	       start of each delivery process.	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 de-
	       fault  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 daemon 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.

	       The original Exim reception process does not finish until the de-
	       livery  process for the final message has ended. The standard er-
	       ror stream is left open during deliveries.

	       However, like -odb, this option has no effect if queue_only_over-
	       ride is false and one of the queueing options in  the  configura-
	       tion file is in effect.

	       If  there  is a temporary delivery error during foreground deliv-
	       ery, the message is left in the queue for later delivery, and the
	       original reception process exits.

     -odi      This option is synonymous with -odf. It is provided for	compati-
	       bility with Sendmail.

     -odq      This  option  applies to all modes in which Exim accepts incoming
	       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  in  the
	       queue,  and  remain there until a subsequent queue runner process
	       encounters them. There are several configuration 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 queueing.

     -odqs     This option is a hybrid between	-odb/-odi  and	-odq.	However,
	       like -odb and -odi, this option has no effect if queue_only_over-
	       ride  is  false and one of the queueing options in the configura-
	       tion 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 fore-
	       ground 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 in	the  queue  until  a  subsequent
	       queue  runner  process  encounters  it. Because routing was done,
	       Exim knows which messages are waiting 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  re-
	       ceived  (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  re-
	       ceiving process exits with a return code of zero. If not, the re-
	       turn code is 2 if the problem is that the original message has no
	       recipients,  or	1 for 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 suc-
	       cessfully 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 re-
	       ceived, the error is reported by writing a message to  the  stan-
	       dard 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. Otherwise, a single dot does terminate, though
	       Exim does no special processing for other lines that start with a
	       dot. This option is set by 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 values
	       associated with remote hosts on locally-submitted messages  (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 un-
	       less 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 variable,
	       and the port, if present, in $sender_host_port. If both -oMa  and
	       -bh  are  present on the command line, the sender host IP address
	       is taken from whichever one is last.

     -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).  This option can be used with -bh and -bs to
	       set up an authenticated SMTP session without actually  using  the
	       SMTP AUTH command.

     -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,  except  with -bh, where there is no default) for mes-
	       sages from local sources.

     -oMas <address>
	       See -oMa above for general remarks about  the  -oM  options.  The
	       -oMas  option  sets  the authenticated sender value in $authenti-
	       cated_sender. It overrides the sender  address  that  is  created
	       from  the  caller's login id for messages from local sources, ex-
	       cept when -bh is used, when there is no default. For both -bh and
	       -bs, an authenticated sender that is specified on a MAIL  command
	       overrides this value.

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

     -oMm <message reference>
	       See  -oMa  above  for  general remarks about the -oM options. The
	       -oMm option sets the message reference, e.g. message-id,  and  is
	       logged  during  delivery.  This is useful when some kind of audit
	       trail is required to tie messages together.  The  format  of  the
	       message	reference is checked and will abort if the format is in-
	       valid. The option will only be accepted if  exim  is  running  in
	       trusted mode, not as any regular user.

	       The  best  example  of  a  message reference is when Exim sends a
	       bounce message.	The message reference is the message-id  of  the
	       original message for which Exim is sending the bounce.

     -oMr <protocol name>
	       See  -oMa  above  for  general remarks about the -oM options. The
	       -oMr option sets the received protocol value that  is  stored  in
	       $received_protocol.  However,  it does not apply (and is ignored)
	       when -bh or -bs is used. For -bh, the protocol is forced  to  one
	       of the standard SMTP protocol names. For -bs, the protocol is al-
	       ways  "local-"  followed  by  one  of  those  same names. For -bS
	       (batched SMTP) however, the protocol can be set by -oMr. Repeated
	       use of this option is not supported.

     -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 de-
	       fault setting for local callers is the login id	of  the  calling
	       process, except when -bh is used, when there is no default.

     -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 head-
	       ers", 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 process 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.

     -oPX      This option is not intended for general use.  The daemon uses  it
	       when  terminating  due  to a SIGTEM, possibly in combination with
	       -oP <path>.  It causes the pid file to be removed.

     -or <time>
	       This option sets a timeout value for incoming non-SMTP  messages.
	       If  it is not set, Exim will wait forever for the standard input.
	       The value can also be set by the receive_timeout 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  dae-
	       mon) option is also given. It controls which ports and interfaces
	       the  daemon uses. When -oX is used to start a daemon, no pid file
	       is written unless -oP is also present to specify a pid filename.

     -oY       This option controls the creation of an inter-process  communica-
	       tions  endpoint by the Exim daemon.  It is only relevant when the
	       -bd (start listening daemon) option is also given.  Normally  the
	       daemon  creates	this  socket,  unless a -oX and no -oP option is
	       also present.  If this option is given then the socket  will  not
	       be  created.   This is required if the system is running multiple
	       daemons, in which case it should be used on  all.   The	features
	       supported by the socket will not be available in such cases.

	       The socket is currently used for

	       fast ramp-up of queue runner processes

	       caching compiled regexes

	       obtaining a current queue size

     -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 interpreter 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 interpreter to occur as soon as Exim
	       is started.

     -p<rval>:<sval>
	       For compatibility with Sendmail, this option is equivalent to

		 -oMr <rval> -oMs <sval>

	       It  sets  the  incoming	protocol  and  host  name  (for  trusted
	       callers).  The  host  name and its colon can be omitted when only
	       the protocol is to be set.  Note the Exim already has two private
	       options, -pd and -ps, that refer to embedded Perl. It  is  there-
	       fore  impossible to set a protocol value of d or s using this op-
	       tion (but that does not seem a real limitation).  Repeated use of
	       this option is not supported.

     -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	require-
	       ment for the -M, -R, and -S options).

	       If other commandline options do not specify an action, the -q op-
	       tion  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 finish before start-
	       ing the next one. A delivery process may not actually do any  de-
	       liveries  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 connections, the queue runner waits for
	       these to finish before proceeding.

	       When  all  the queued messages have been considered, the original
	       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 message screws up a
	       remote MTA, other messages to the same MTA have a chance of  get-
	       ting through if they get tried first.

	       It  is  possible to cause the messages to be processed in lexical
	       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>
	       Perform a queue run.  The -q option may be  followed  by  one  or
	       more  flag  letters  that  change its behaviour. They are all op-
	       tional, 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_do-
	       mains  option  matched  every domain. Addresses are routed, local
	       deliveries happen, but no remote transports are run.

	       Performance will be best  if  the  queue_run_in_order  option  is
	       false.	If that is so and the queue_fast_ramp option is true and
	       a daemon-notifier socket is available then in the first phase  of
	       the  run,  once	a  threshold number of messages are routed for a
	       given host, a delivery process is forked  in  parallel  with  the
	       rest of the scan.

	       The  hints database that remembers which messages are waiting for
	       specific hosts is updated, as if delivery to those hosts had been
	       deferred.

	       After the first queue scan complete, a second, normal queue  scan
	       is  done, with routing and delivery taking place as normal.  Mes-
	       sages 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.

	       Two-phase queue runs should be used on systems which, even inter-
	       mittently,  have  a large queue (such as mailing-list operators).
	       They may also be useful for hosts that are connected to	the  In-
	       ternet intermittently.

     -q[q]i...
	       If  the	i  flag  is  present,  the  queue  runner  runs delivery
	       processes only for those messages that  haven't	previously  been
	       tried.  (i stands for "initial delivery".) This can be helpful if
	       you are putting messages in 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 ad-
	       dresses that have passed their retry times are tried.

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

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

     -q[q][i][f[f]][l][G<name>[/<time>]]]
	       If the G flag and a name is present, the queue runner operates on
	       the queue with the given name rather than the default queue.  The
	       name should not contain a / character.  For a periodic queue  run
	       (see below) append to the name a slash and a time value.

	       If  other  commandline options specify an action, a -qG<name> op-
	       tion will specify a queue to operate on.  For example:

		 exim -bp -qGquarantine
		 mailq -qGquarantine
		 exim -qGoffpeak -Rf @special.domain.example

     -q<qflags> <start id> <end id>
	       When scanning the queue, Exim can be made to skip  over	messages
	       whose  ids are lexically less than a given value by following 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  in-
	       spected.  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 dif-
	       fers 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.

	       It is possible to set up runners for multiple named queues within
	       one daemon, For example:

		 exim -qGhipri/2m -q10m -qqGmailinglist/1h

	       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 Sendmail
	       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  containing
	       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.

	       If  you want to do periodic queue runs for messages with specific
	       recipients, you can combine -R with -q and a time value. For  ex-
	       ample:

		 exim -q25m -R @special.domain.example

	       This example does a queue run for messages with recipients in the
	       given  domain  every  25  minutes.  Any additional flags that are
	       specified with -q are applied to each queue run.

	       Once a message is selected for delivery by  this  mechanism,  all
	       its addresses are processed. For the first selected message, Exim
	       overrides any retry information and forces a delivery attempt for
	       each  undelivered address. This means that if delivery of any ad-
	       dress in the first message is successful, any existing retry  in-
	       formation  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  subsequently
	       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 recipients. If -R is
	       also  set,  both  conditions  must be met for a message to be se-
	       lected. If either of the options has f or ff in	its  flags,  the
	       associated action is taken.

     -Tqt <times>
	       This is an option that is exclusively for use by the Exim testing
	       suite.  It is not recognized when Exim is run normally. It allows
	       for the setting up of explicit  "queue  times"  so  that  various
	       warning/retry features can be tested.

     -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  ad-
	       dresses	are  extracted	before any rewriting takes place and the
	       Bcc: header line, if present, is then removed.

	       If the command has any arguments, they specify addresses to which
	       the message is not to be delivered. That  is,  the  argument  ad-
	       dresses	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 de-
	       scribed in man pages on a number of operating systems (e.g.   So-
	       laris  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  there  are  any Resent- header lines in the message, Exim ex-
	       tracts  recipients  from  all  Resent-To:,  Resent-Cc:,	and  Re-
	       sent-Bcc:  header  lines instead of from To:, Cc:, and Bcc:. This
	       is for compatibility with Sendmail and other MTAs. (Prior to  re-
	       lease 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 message, and sepa-
	       rated 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 fol-
	       low 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-Re-
	       sent-  when a new set is added. This removes any possible ambigu-
	       ity.

     -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 support.
	       It forces all incoming SMTP connections to behave as if	the  in-
	       coming port is listed in the tls_on_connect_ports option.

     -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  er-
	       ror  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 written 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 un-
	       conditional.

     -x        AIX uses -x for a private purpose ("mail from a local  mail  pro-
	       gram  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.

     -X <logfile>
	       This option is interpreted by Sendmail to cause debug information
	       to be sent to the named file.  It is ignored by Exim.

     -z <log-line>
	       This  option  writes  its argument to Exim's logfile.  Use is re-
	       stricted to administrators; the intent is for operational  notes.
	       Quotes  should  be used to maintain a multi-word item as a single
	       argument, under most shells.

SEE ALSO

     The full Exim specification, the Exim book, and the Exim wiki.

									 EXIM(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=exim&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help