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
       specification, see the reference	manual.	This man page contains only  a
       description of the command line options.	It has been automatically gen-
       erated  from  the  reference  manual source, 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  mes-
       sages 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 options are	compatible with	Sendmail so that it can	act as
       a drop-in replacement.

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  it-
       self and	exits.

       However,	 if there is at	least one command line argument, -bm (accept a
       local message on	the standard input, with the arguments specifying  the
       recipients)  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 in-
       put 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 sec-
       tion (typically via a symbolic link), certain options are assumed.

       mailq  Behave as	if the option -bp were present before  any  other  op-
	      tions.  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 op-
	      tions, 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	speci-
	      fies that	a dot on  a  line  by  itself  does  not  terminate  a
	      non-SMTP message;	-oee requests that errors detected in non-SMTP
	      messages be reported by emailing the sender.

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

       newaliases
	      Behave  as  if  the option -bi were present before any other op-
	      tions, 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 informa-
		 tion to be displayed.

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

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

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

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

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

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

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

		 The  SIGHUP signal can	be used	to cause the daemon to re-exe-
		 cute itself. This should be done whenever  Exim's  configura-
		 tion  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  rec-
		 ceiving  or  delivering  messages, or for scanning the	queue,
		 will not  be  affected	 by  the  termination  of  the	daemon
		 process.

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

       -be	 Run  Exim  in	expansion testing mode.	Exim discards its root
		 privilege, to prevent ordinary	users from using this mode  to
		 read otherwise	inaccessible files. If no arguments are	given,
		 Exim  runs interactively, prompting for lines of data.	Other-
		 wise, 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	history	is supported.

		 Long expansion	expressions can	be split over several lines by
		 using	backslash continuations. As in Exim's runtime configu-
		 ration, white space at	the start of continuation lines	is ig-
		 nored.	Each argument or  data	line  is  passed  through  the
		 string	 expansion  mechanism, and the result is output. Vari-
		 able values from the configuration file (for example,	$qual-
		 ify_domain)  are  available,  but  no message-specific	values
		 (such as $message_exim_id) are	set, because no	message	is be-
		 ing 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,  because  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.  Be-
		 cause 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
		 variable.  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-sub-
		 mitted	 non-SMTP  message)  before any	of the test expansions
		 are done. Thus,  message-specific  variables  such  as	 $mes-
		 sage_size  and	 $header_from:	are available. However,	no Re-
		 ceived: 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  recipi-
		 ents cannot be	given on the command line, because further ar-
		 guments 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	recog-
		 nized.

       -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-de-
		 pendent 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 or-
		 der  to  test	a  system filter and a user filter in the same
		 run. For example:

		   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 spe-
		 cial lines

		   # Exim filter
		   # Sieve filter

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

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

		 When testing a	filter file, the envelope sender can be	set by
		 the  -f option, or by a "From " line at the start of the test
		 message. Various parameters that would	normally be taken from
		 the envelope recipient	address	of the message can be  set  by
		 means	of  additional command line options (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 fil-
		 ter file is being tested by means of the -bf option. The  de-
		 fault 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 delivered.

       -bfp <prefix>
		 This  sets  the prefix	of the local part of the recipient ad-
		 dress 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 ad-
		 dress 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
		 address, using	the standard input and output. The IP  address
		 may  include a	port number at the end,	after a	full stop. For
		 example:

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

		 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 any-
		 thing that would have been logged.  This facility is provided
		 for  testing  configuration options for incoming messages, to
		 make sure they	implement the required	policy.	 For  example,
		 you can test your relay controls using	-bh.

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

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

		 Messages supplied during the testing session  are  discarded,
		 and  nothing  is  written to any of the real log files. There
		 may be	pauses when DNS	(and other) lookups are	taking	place,
		 and of	course these may time out. The -oMi option can be used
		 to specify a specific IP interface and	port if	this is	impor-
		 tant, 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.  Instead,	you should use a specialized SMTP test program
		 such as swaks [https://www.jetmore.org/john/code/swaks/].

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

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

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

       -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 producing 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) implementations,	in providing that protocol's SIEVE ca-
		 pability  response 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
		 incoming, locally-generated message on	 the  standard	input.
		 The  recipients  are  given  as the command arguments (except
		 when -t is also present - see below). Each argument can be  a
		 comma-separated  list	of RFC 2822 addresses. This is the de-
		 fault 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  do-
		 main),	they are qualified by the values of the	qualify_domain
		 or qualify_recipient options, as appropriate. The -bnq	option
		 (see  below)  provides	 a way of suppressing this for special
		 cases.

		 Policy	checks on the contents of local	messages  can  be  en-
		 forced	by means of the	non-SMTP ACL.

		 The  return  code  is zero if the message is successfully ac-
		 cepted. Otherwise, the	action is controlled by	the  -oex  op-
		 tion setting -	see below.

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

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

		 (with the weekday optional, and possibly with additional text
		 after the date) is permitted to appear	at the	start  of  the
		 message.  There  appears to be	no authoritative specification
		 of the	format of this line. Exim recognizes  it  by  matching
		 against  the regular expression defined by the	uucp_from_pat-
		 tern option, which can	be changed if necessary.

		 The specified sender is treated as if it were	given  as  the
		 argument  to  the  -f	option,	 but  if  a  -f	option is also
		 present, its argument is used in preference  to  the  address
		 taken	from the message. 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
		 directory  (depending	on  the	used scanner interface), using
		 the malware scanning framework.  The option of	av_scanner in-
		 fluences this option, so if av_scanner's value	 is  dependent
		 upon  an  expansion  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 re-
		 quires	admin privileges.

		 The -bmalware option will not be extended to be  more	gener-
		 ally  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  ad-
		 dresses  (those without domains) that appear in messages that
		 are submitted locally (that is, not over TCP/IP). This	quali-
		 fication applies both to  addresses  in  envelopes,  and  ad-
		 dresses in header lines. Sender addresses are qualified using
		 qualify_domain, and recipient addresses using qualify_recipi-
		 ent (which defaults to	the value of qualify_domain).

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

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

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

		   exim	-bP qualify_domain hold_domains

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

		   mysql_servers = <value not displayable>

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

		 If config_file	is given as an argument, the name of the  run-
		 time 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
		 directories where log files and daemon	pid files are  written
		 are  output,  respectively.  If  these	 values	are unset, log
		 files are written in a	sub-directory of the  spool  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  in-
		 stance,  the  option settings for that	driver are output. For
		 example:

		   exim	-bP transport local_delivery

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

		 If environment	is given as an argument, the set  of  environ-
		 ment  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.  How-
		 ever,	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
		 example:

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

		 The  first  line  contains the	length of time the message has
		 been in the queue (in this case 25 minutes), the size of  the
		 message  (2.9K), the unique local identifier for the message,
		 and the message sender, as contained  in  the	envelope.  For
		 bounce	 messages, the sender address is empty,	and appears as
		 "<>". If the message was submitted locally  by	 an  untrusted
		 user  who overrode the	default	sender address,	the user's lo-
		 gin name is shown in parentheses before the sender address.

		 If the	message	is frozen (attempts to	deliver	 it  are  sus-
		 pended)  then	the  text "*** frozen ***" is displayed	at the
		 end of	this line.

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

       -bpa	 This option operates like -bp,	but in addition	it  shows  de-
		 livered  addresses  that were generated from the original top
		 level address(es) in each message by alias or forwarding  op-
		 erations.  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
		 admin 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  useful  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
		 generated by aliasing or forwarding are not shown, unless the
		 message  was  deferred	 after processing by a router with the
		 one_time option set.

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

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

		  The first argument, which is required, can be	a complete ad-
		 dress	in the form local_part@domain, or it can be just a do-
		 main name. If the second argument contains a dot, it  is  in-
		 terpreted 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 behaviour when looking  for  retry	 rules
		 for remote hosts - if no rule is found	that matches the host,
		 one that matches the mail domain is sought. Finally, an argu-
		 ment  that  is	the name of a specific 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 qualified domain. Exim outputs how this	address	 would
		 be rewritten for each possible	place it might appear.

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

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

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

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

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

       -bs	 This  option  causes  Exim  to	accept one or more messages by
		 reading SMTP commands on the standard	input,	and  producing
		 SMTP replies on the standard output. SMTP policy controls, as
		 defined  in  ACLs are applied.	 Some user agents use this in-
		 terface 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. Unqualified addresses are automatically qualified using
		 qualify_domain	and qualify_recipient, as appropriate,	unless
		 the -bnq option is used.

		 The -bs option	is also	used to	run Exim from inetd, as	an al-
		 ternative  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 con-
		 cerning senders and qualification do not apply. In this situ-
		 ation,	Exim behaves in	exactly	the same way as	it  does  when
		 receiving a message via the listening daemon.

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

		 If  no	 arguments are given, Exim runs	in an interactive man-
		 ner, prompting	with a right angle bracket for addresses to be
		 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 easier to use for genuine routing tests if
		 your first router passes everything to	a scanner program.

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

		 Note: When actually delivering	a message, Exim	removes	dupli-
		 cate  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	address	of a message, you can use the -f option	to set
		 an appropriate	sender when running -bt	tests. Without it, the
		 sender	is assumed to be the calling user at the default qual-
		 ifying	 domain.  However,  if	you  have set up (for example)
		 routers whose behaviour depends on the	contents of an	incom-
		 ing  message, you cannot test those conditions	using -bt. The
		 -N option provides a possible way of doing such tests.

       -bV	 This option causes Exim to write the current version  number,
		 compilation  number,  and compilation date of the exim	binary
		 to the	standard output.  It also lists	the DBM	 library  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 runtime 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 ex-
		 ample,	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 pro-
		 vide 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 call-
		 outs).	 During	 normal	operation, verification	happens	mostly
		 as a consequence 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 database lookups.

		 If no arguments are given, Exim runs in an  interactive  man-
		 ner, prompting	with a right angle bracket for addresses to be
		 verified.

		 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
		 address is accepted by	a router  that	has  fail_verify  set,
		 verification 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, gen-
		 erating more than one address by redirection causes verifica-
		 tion to end successfully, without considering	the  generated
		 addresses.  However,  if  just	one address is generated, pro-
		 cessing continues, and	the generated address must verify suc-
		 cessfully for the overall verification	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 de-
		 fault qualifying domain.

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

       -bw	 This option runs Exim as a  daemon,  awaiting	incoming  SMTP
		 connections,  similarly to the	-bd option.  All port specifi-
		 cations 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	connection is received.

		 If  the option	is given as -bw<time> then the time is a time-
		 out, after which the daemon will exit,	which should cause in-
		 etd 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 consist 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 configuration 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 CONFIG-
		 URE_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 re-
		 ception  and delivery,	even if	the caller is root. The	recep-
		 tion works, but by that time, Exim is	running	 as  the  Exim
		 user,	so when	it re-executes to regain privilege for the de-
		 livery, the use of -C causes privilege	to be  lost.  However,
		 root  can test	reception and delivery using two separate com-
		 mands (one to put a message in	the queue, using -odq, and an-
		 other to do the delivery, using -M).

		 If ALT_CONFIG_PREFIX is defined in Local/Makefile, it	speci-
		 fies  a  prefix string	with which any file named in a -C com-
		 mand line option must start. In addition, the	filename  must
		 not  contain the sequence /../.  However, if the value	of the
		 -C option is identical	to the value of	CONFIGURE_FILE in  Lo-
		 cal/Makefile, Exim ignores -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 configu-
		 ration	files to a directory to	which only  root  has  access.
		 This  prevents	 someone  who has broken into the Exim account
		 from running a	privileged Exim	with an	 arbitrary  configura-
		 tion file.

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

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

		 If WHITELIST_D_MACROS is defined in  Local/Makefile  then  it
		 should	 be a colon-separated list of macros which are consid-
		 ered 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 removed in the future.  Acceptable val-
		 ues 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	optional. These	two commands are synonymous:

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

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

		   exim	'-D ABC	= something' ...

		 -D  may  be  repeated up to 10	times on a command line.  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  be-
		 cause 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 message to the standard error	stream and ex-
		 its with a non-zero return 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 re-
		 duced,	or increased to	include	some more rarely needed	infor-
		 mation, by directly following -d with a  string  made	up  of
		 names	preceded by plus or minus characters. These add	or re-
		 move sets  of	debugging  data,  respectively.	 For  example,
		 -d+filter  adds  filter  debugging, whereas -d-all+filter se-
		 lects 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 in-
		 cludes	it for -all. The reason	for this is that +all is some-
		 thing that people tend	to use when  generating	 debug	output
		 for Exim maintainers. 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
		 operating 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,  in-
		 terface,  load,  memory,  pid,	resolver, and timestamp.  How-
		 ever, the pid selector	is forced when debugging is turned  on
		 for  a	daemon,	which then passes it on	to any re-executed Ex-
		 ims. Exim also	automatically adds the pid to debug lines when
		 several remote	deliveries are run in parallel.

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

		 The  noutf8  selector	disables the use of UTF-8 line-drawing
		 characters 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
		 output	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 creating as much output as full debugging does.

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

       -E	 This  option  specifies  that	an  incoming  message is a lo-
		 cally-generated delivery failure report. It  is  used	inter-
		 nally	by Exim	when handling delivery failures	and is not in-
		 tended	for external use. Its only effect is to	stop Exim gen-
		 erating certain messages to the postmaster, as	otherwise mes-
		 sage 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 receipt of the new message con-
		 tains the id, following "R=", as a cross-reference.

       -ex	 There are a number of	Sendmail  options  starting  with  -oe
		 which seem to be called by various programs without the lead-
		 ing  o	 in the	option.	For example, the vacation program uses
		 -eq. Exim treats all options of the form  -ex	as  synonymous
		 with the corresponding	-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
		 option	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
		 filter	 file  with -bf	or when	testing	or verifying addresses
		 using the -bt or -bv options.

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

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

       -G	 This 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" ob-
		 tained	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  restricted	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 er-
		 rors will not honour 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
		 message in turn. If any of the	messages are frozen, they  are
		 automatically	thawed	before	the delivery attempt. The set-
		 tings of queue_domains, queue_smtp_domains, and  hold_domains
		 are ignored.

		 Retry	hints  for  any	of the addresses are overridden	- Exim
		 tries to deliver even if the normal retry time	 has  not  yet
		 been  reached.	This option requires the caller	to be an admin
		 user. However,	there is an option called  prod_requires_admin
		 which	can  be	 set false to relax this restriction (and also
		 the same requirement for the -q, -R, and -S options).

		 The deliveries	happen synchronously, that  is,	 the  original
		 Exim  process	does  not terminate until all the delivery at-
		 tempts	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
		 recipients  of	 the  message ("ar" for	"add recipients"). The
		 first argument	must be	a message id, and the  remaining  ones
		 must  be  email  addresses. However, if the message is	active
		 (in the middle	of a delivery attempt),	 it  is	 not  altered.
		 This option can be used only by an admin user.

       -MC <transport> <hostname> <host	IP> <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  it-
		 self to deliver a waiting message using an existing SMTP con-
		 nection,  which is passed as the standard input. This must be
		 the final option, and the caller must be  root	 or  the  Exim
		 user in order to use it.

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

       -MCD	 This  option  is not intended for use by external callers. It
		 is used internally by Exim in conjunction with	 the  -MC  op-
		 tion.	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  op-
		 tion.	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 op-
		 tion. It signifies that a  remote  host  supports  the	 ESMTP
		 CHUNKING extension.

       -MCL	 This  option  is not intended for use by external callers. It
		 is used internally by Exim in conjunction with	 the  -MC  op-
		 tion. It signifies that the server to which Exim is connected
		 advertised  limits on numbers of mails, recipients or recipi-
		 ent domains.  The limits are given by the following three ar-
		 guments.

       -MCP	 This option is	not intended for use by	external  callers.  It
		 is  used  internally  by Exim in conjunction with the -MC op-
		 tion. 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 op-
		 tion. It signifies that the connection	t a remote  server  is
		 via  a	 SOCKS	proxy,	using addresses	and ports given	by the
		 following four	arguments.

       -MCQ <process id> <pipe fd>
		 This option is	not intended for use by	external  callers.  It
		 is used internally by Exim in conjunction with	the -MC	option
		 when  the original delivery was started by a queue runner. It
		 passes	on the process id of the queue runner,	together  with
		 the  file  descriptor	number of an open pipe.	Closure	of the
		 pipe  signals	the  final  completion	of  the	 sequence   of
		 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 op-
		 tion, and passes on the  fact	that  the  ESMTP  SIZE	option
		 should	 be  used on messages delivered	down the existing con-
		 nection.

       -MCT	 This option is	not intended for use by	external  callers.  It
		 is  used  internally  by Exim in conjunction with the -MC op-
		 tion, and passes on the fact that the host to which  Exim  is
		 connected supports 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  Indication  was	sent as	part of	the channel establish-
		 ment.	The argument gives the SNI string.   The  "r"  variant
		 indicates a DANE-verified 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  op-
		 tion,	and  passes  on	 the fact that the connection is being
		 proxied by a parent 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
		 message, in turn, but unlike the -M option, it	does check for
		 retry hints, and respects any that are	found. This option  is
		 not  very  useful  to external	callers. It is provided	mainly
		 for internal use by Exim when it needs	to re-invoke itself in
		 order to regain root privilege	for a delivery.	 However,  -Mc
		 can  be  useful when testing, in order	to run a delivery that
		 respects retry	times and other	options	such  as  hold_domains
		 that are overridden when -M is	used. Such a delivery does not
		 count as a queue run.	If you want to run a specific delivery
		 as if in a queue run, you should use -q with a	message	id ar-
		 gument.  A distinction	between	queue run deliveries and other
		 deliveries is made in one or two places.

       -Mes <message id> <address>
		 This option requests Exim to change the sender	address	in the
		 message to the	given address, which must be a fully qualified
		 address or "<>" ("es" for "edit sender"). There must  be  ex-
		 actly two arguments. The first	argument must be a message id,
		 and  the second 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 at-
		 tempt), 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 cur-
		 rently	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 de-
		 livered").  However,  if any message is active	(in the	middle
		 of a delivery attempt), its status is not altered.  This  op-
		 tion can be used only by an admin user.

       -Mmd <message id> <address> <address> ...
		 This  option requests Exim to mark the	given addresses	as al-
		 ready delivered ("md" for "mark delivered"). The first	 argu-
		 ment  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 ac-
		 tive (in the middle of	a delivery attempt), its status	is not
		 altered. This option can be used only by an admin user.

       -Mrm <message id> <message id> ...
		 This  option  requests	Exim to	remove the given messages from
		 the queue. No bounce messages are sent; each message is  sim-
		 ply  forgotten.  However,  if any of the messages are active,
		 their status is not altered. This option can be used only  by
		 an  admin  user or by the user	who originally caused the mes-
		 sage to be placed 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-specific  variables  such  as	$message_size  and the
		 header	variables. The $recipients variable is made available.
		 This feature is provided 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  mes-
		 sages	that  are  "frozen", so	that delivery attempts can re-
		 sume. However,	if any of the messages are active, their  sta-
		 tus  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 format. 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.ora-
		 cle.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  mes-
		 sage at the transport level. It implies -v. Exim goes through
		 many  of  the	motions	of delivery - it just doesn't actually
		 transport the message,	but instead behaves as if it had  suc-
		 cessfully  done  so. However, it does not make	any updates to
		 the retry database, and the log entries  for  deliveries  are
		 flagged with "*>" rather than "=>".

		 Because  -N  discards	any  message to	which it applies, only
		 root or the Exim user are allowed to use it with -bd, -q,  -R
		 or  -M. In other words, an ordinary user can use it only when
		 supplying an incoming message to which	 it  will  apply.  Al-
		 though	 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
		 combined  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
		 specify  an alternative alias filename. Exim handles -bi dif-
		 ferently; see the description above.

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

       -odb	 This option applies to	all modes in which Exim	accepts	incom-
		 ing messages, including the  listening	 daemon.  It  requests
		 "background"  delivery	of such	messages, which	means that the
		 accepting process automatically starts	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	default	setting. If queue_only_override	is set	false,
		 -odb has no effect.

       -odf	 This option requests "foreground" (synchronous) delivery when
		 Exim  has accepted a locally-generated	message. (For the dae-
		 mon it	is exactly the same as -odb.) A	 delivery  process  is
		 automatically	started	to deliver the message,	and Exim waits
		 for it	to complete before proceeding.

		 The original Exim reception process does not finish until the
		 delivery process for the final	message	has ended.  The	 stan-
		 dard error stream is left open	during deliveries.

		 However,   like   -odb,   this	  option   has	no  effect  if
		 queue_only_override is	false and one of the queueing  options
		 in the	configuration file is in effect.

		 If  there is a	temporary delivery error during	foreground de-
		 livery, 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 com-
		 patibility with Sendmail.

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

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

		 When -odqs does operate, a delivery process  is  started  for
		 each  incoming	 message, in the background by default,	but in
		 the foreground	if -odi	is also	 present.  The	recipient  ad-
		 dresses are routed, and local deliveries are done in the nor-
		 mal  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 wait-
		 ing for which hosts, and so a number of messages for the same
		 host  can  be	sent  in  a  single   SMTP   connection.   The
		 queue_smtp_domains  configuration  option has the same	effect
		 for specific domains. See also	the -qq	option.

       -oee	 If an error is	detected while a non-SMTP message is being re-
		 ceived	(for example, a	malformed address), the	error  is  re-
		 ported	to the sender in a mail	message.

		 Provided  this	 error	message	is successfully	sent, the Exim
		 receiving process exits with a	return code of zero.  If  not,
		 the return code is 2 if the problem is	that the original mes-
		 sage  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
		 successfully sent.  This is the default -oex  option,	unless
		 Exim is called	as rmail.

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

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

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

       -oi	 This  option, which has the same effect as -i,	specifies that
		 a dot on a line by itself should not terminate	 an  incoming,
		 non-SMTP  message.  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 val-
		 ues associated	with remote hosts  on  locally-submitted  mes-
		 sages (that is, messages not received over TCP/IP). These op-
		 tions	can be used by any caller in conjunction with the -bh,
		 -be, -bf, -bF,	-bt, or	-bv testing options. In	other  circum-
		 stances, they are ignored unless the caller is	trusted.

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

		   exim	-bs -oMa 10.9.8.7.1234

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

		   exim	-bs -oMa [10.9.8.7]:1234

		 The IP	address	is placed in  the  $sender_host_address	 vari-
		 able, and the port, if	present, in $sender_host_port. 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 actu-
		 ally 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  de-
		 fault)	for messages from local	sources.

       -oMas <address>
		 See -oMa above	for general remarks about the -oM options. The
		 -oMas	option sets the	authenticated sender value in $authen-
		 ticated_sender. It overrides the sender address that is  cre-
		 ated  from  the  caller's  login  id  for messages from local
		 sources, except when -bh is used, when	there is  no  default.
		 For  both -bh and -bs,	an authenticated sender	that is	speci-
		 fied 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  num-
		 ber  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  invalid. 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 ig-
		 nored)	 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 always	"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
		 default  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
		 headers", whatever that means.

       -oP <path>
		 This option is	useful only in conjunction with	-bd or -q with
		 a  time  value.  The  option  specifies the file to which the
		 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  mes-
		 sages.	If it is not set, Exim will wait forever for the stan-
		 dard  input. The value	can also be set	by the receive_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
		 daemon) option	is also	given. It controls which ports and in-
		 terfaces 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	commu-
		 nications  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 therefore impossible to set a protocol value of d
		 or s using this option	(but that does not seem	a real limita-
		 tion).	 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 requirement for the -M, -R, and -S options).

		 If other commandline options do not specify an	action,	the -q
		 option	starts one queue runner	process. This scans the	 queue
		 of waiting messages, and runs a delivery process for each one
		 in  turn. It waits for	each delivery process to finish	before
		 starting the next one.	A delivery process may not actually do
		 any deliveries	if the retry times for the addresses have  not
		 been  reached.	 Use  -qf  (see	below) if you want to override
		 this.

		 If the	delivery process spawns	 other	processes  to  deliver
		 other messages	down passed SMTP connections, the queue	runner
		 waits for these to finish before proceeding.

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

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

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

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

       -qq...	 An  option  starting with -qq requests	a two-stage queue run.
		 In  the  first	 stage,	 the  queue  is	 scanned  as  if   the
		 queue_smtp_domains option matched every domain. Addresses are
		 routed, local deliveries happen, but no remote	transports are
		 run.

		 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 par-
		 allel 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  nor-
		 mal.  Messages	that are routed	to the same host should	mostly
		 be  delivered	down  a	 single	SMTP connection	because	of the
		 hints that were set up	during the first queue scan.

		 Two-phase queue runs should be	used on	 systems  which,  even
		 intermittently,  have a large queue (such as mailing-list op-
		 erators).  They may also be useful for	hosts  that  are  con-
		 nected	to the Internet	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  addresses	that have passed their retry times are
		 tried.

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

       -q[q][i][f[f]]l
		 The l (the letter "ell") flag specifies that only  local  de-
		 liveries are to be done. If a message requires	any remote de-
		 liveries, 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 oper-
		 ates on the queue with	the given name rather than the default
		 queue.	 The name should not contain a / character.  For a pe-
		 riodic	queue run (see below) append to	the name a slash and a
		 time value.

		 If other commandline options specify an action,  a  -qG<name>
		 option	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 mes-
		 sages whose ids are lexically less than a given value by fol-
		 lowing	the -q option with a starting message id. For example:

		   exim	-q 0t5C6f-0000c8-00

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

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

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

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

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

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

		 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  re-
		 quested by the	-oP option.

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

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

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

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

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

		   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  mes-
		 sage,	Exim  overrides	any retry information and forces a de-
		 livery	attempt	for each undelivered address. This means  that
		 if  delivery  of any address in the first message is success-
		 ful, any existing retry information is	deleted, and so	deliv-
		 ery attempts for that address in subsequently	selected  mes-
		 sages	(which	are  processed without forcing)	will run. How-
		 ever, if delivery of any address does not succeed, the	 retry
		 information  is  updated,  and	 in subsequently selected mes-
		 sages,	the failing address will be skipped.

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

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

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

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

       -Tqt <times>
		 This is an option that	is exclusively for  use	 by  the  Exim
		 testing  suite.  It  is  not recognized when Exim is run nor-
		 mally.	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 addresses 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	 argu-
		 ment  addresses are removed from the recipients list obtained
		 from the headers. This	is compatible with Smail 3 and in  ac-
		 cordance with the documented behaviour	of several versions of
		 Sendmail,  as described in man	pages on a number of operating
		 systems (e.g.	Solaris	8, IRIX	6.5, HP-UX 11).	However,  some
		 versions of Sendmail add argument addresses to	those obtained
		 from the headers, and the O'Reilly Sendmail book documents it
		 that  way. Exim can be	made to	add argument addresses instead
		 of  subtracting  them	by  setting  the  option   extract_ad-
		 dresses_remove_arguments false.

		 If  there  are	 any Resent- header lines in the message, Exim
		 extracts 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 release 4.20, Exim gave an error if	-t was used in
		 conjunction with Resent- header lines.)

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

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

       -tls-on-connect
		 This option is	available when Exim is compiled	with TLS  sup-
		 port. It forces all incoming SMTP connections to behave as if
		 the  incoming	port is	listed in the tls_on_connect_ports op-
		 tion.

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

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

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

       -X <logfile>
		 This  option is interpreted by	Sendmail to cause debug	infor-
		 mation	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
		 restricted  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+14.3.quarterly>

home | help