Provided by: exim4-config_4.60-3ubuntu3_all bug


       update-exim4.conf - Generate exim4 configuration files.


       update-exim4.conf     [-v|--verbose]    [-h|--help]    [--keepcomments]
       [--removecomments] [-o|--output file]


              Enable verbose mode

              Show short help message and exit

              Do not remove comment lines from the output file.

              Remove comment lines from the output file. [Default]

       -o|--output file
              Write       output       to        file        instead        of

       -d|--confdir directory
              Read input from directory instead of /etc/exim4.


       The  script  update-exim4.conf  generates  the main configuration files
       /var/lib/exim4/config.autogenerated for Exim v4 by merging the data  in
       the  template  file  /etc/exim4/exim4.conf.template  or the ones in the
       /etc/exim4/conf.d      directory      tree       respectively       and
       /etc/exim4/update-exim4.conf.conf      to      the      output     file

       If dc_use_split_config in /etc/exim4/update-exim4.conf.conf specifies a
       split  configuration, update-exim4.conf processes the /etc/exim4/conf.d
       subdirectories in  the  order  main,  acl,  router,  transport,  retry,
       rewrite  and auth. Within each directory it takes files in lexical sort
       order by file name. It concatenates  all  these  files  and  makes  the
       debconf replacement described below.

       If you are not using split configuration update-exim4.conf concatenates
       /etc/exim4/exim4.conf.localmacros   (if   this   file    exists)    and
       /etc/exim4/exim4.conf.template  (in  this  order) and makes the debconf
       replacement described below.

       In    either    case,    before    outputting     the     result     to
       /var/lib/exim4/config.autogenerated,   update-exim4.conf  replaces  the
       patterns DEBCONFsomethingDEBCONF with the contents of dc_something from
       /etc/exim4/update-exim4.conf.conf.  It  makes  no  other changes.  This
       makes it very simple to make small changes  to  the  configuration  and
       still have the benefits of debconf.

       On  the  other hand if you don’t want to manage exim4.conf with debconf
       install your own handcrafted version  as  /etc/exim4/exim4.conf.   Exim
       will  use  this  file  if  it  exists and ignore the autogenerated one.
       Additionally you might want  to  set  dc_eximconfig_configtype=none  in
       /etc/exim4/update-exim4.conf.conf  to  stop  debconf  from  asking  you
       questions about exim4.

       update-exim4.conf    exits    silently    and    does    nothing     if
       /etc/exim4/exim4.conf  exists  and -o was not used to direct the output
       to a different file than /var/lib/exim4/config.autogenerated.

       update-exim4.conf will only use files in the conf.d directory that have
       a  filename  which  consists  only of letters, numbers, underscores and
       hyphens  ([:alnum:]_-),   similar   to   run-parts(8).    Additionally,
       update-exim4.conf  will  use  /etc/exim4/conf.d/foo/bar.rul  instead of
       /etc/exim4/conf.d/foo/bar if the .rul file exists. This is meant to  be
       helpful for easy interaction with packages extending Exim.

       If  update-exim4.conf  is  called  without the option -o, it checks the
       validity of the freshly generated configuration file and exits with  an
       error.   In   that   case,   the   new   file   is   not  installed  to
       /var/lib/exim4/config.autogenerated.  However, there are still possible
       invalidities  that  can only be detected at run time. This most notably
       applies to errors in expressions that are expanded at run time.


       You want to be able to check exim’s queue as normal  user:  Generate  a
       new  file,  e.g. /etc/exim4/conf.d/main/40_local_mailq, containing only
       the line queue_list_requires_admin = false


       update-exim4.conf changes the file permissions of the  output  file  to
       the  value  of  the  environment  variable  CFILEMODE.  If CFILEMODE is
       neither set in /etc/exim4/update-exim4.conf.conf nor in the environment
       it  defaults to 0644.  Change this to 0640 if you are keeping sensitive
       information (LDAP credentials et. al.) in there.


       update-exim4.conf manages these files:

              Exim’s main configuration file


       update-exim4.conf know about these identifiers:

              dc_eximconfig_configtype in /etc/exim4/update-exim4.conf.conf.

              If the system is configured to hide the system mail  name,  this
              is  replaced  with  a headers_rewrite directive rewriting sender
              addresses from local domains to the visible mail name for use on
              the transport that sends outgoing mail to the smarthost.

              This   is   replaced   with   “local_interfaces   =   <value  of
              dc_local_interfaces>” if dc_local_interfaces is set  to  a  non-
              empty  value.  Otherwise,  it  is replaced with an empty string,
              causing the exim SMTP listener daemon to  listen  on  all  local

              If  dc_local_interfaces  is  set to a non-empty value, this will
              cause the exim SMTP listener daemon to listen  only  on  the  IP
              addresses listed in the option.

              is   replaced   by   the   contents   of   dc_localdelivery   in
              /etc/exim4/update-exim4.conf.conf.  It  should  be  set  to  the
              default transport for local delivery, i.e. usually mail_spool or
              maildir_home. It defaults to mail_spool if  dc_localdelivery  is

              is  internally generated from the contents of dc_other_hostnames
              in /etc/exim4/update-exim4.conf.conf and localhost.

              is replaced  with “DC_minimaldns = 1” if dc_minimaldns is set to
              true and to an empty string otherwise.

              is  deleted.  (In  versions  prior 4.30-7 it was used to set the
              never_users option.)

              contains the complete Debian version-number of the  exim4-config
              package.    You    could    use    this    in   smtp_banner   or

              corresponds to dc_readhost in  /etc/exim4/update-exim4.conf.conf
              and holds the visible mailname for satellite-systems.

              is   replaced   by   the   contents   of   dc_relay_domains   in

              is   replaced   by   the   contents    of    dc_relay_nets    in

              If  the  system is configured to hide the system mail name, this
              is replaced with a return_path directive setting the return path
              domain  name  to  the visible mail name for use on the transport
              that sends outgoing mail to the smarthost.

              is replaced with this rewriting rule:
              *@mailname   ${lookup   {${local_part}}   lsearch   {/etc/email-
              addresses} {$value} fail } Ffrs
              with mailname being replaced by the contents of /etc/mailname.

              corresponds to dc_smarthost in /etc/exim4/update-exim4.conf.conf
              and contains the name of the SMTP smarthost that takes  care  of
              outgoing mail.

              holds the contents of (the first line of) /etc/mailname

              If dc_minimaldns is set to true update-exim4.conf tries to guess
              the primary hostname using hostname  --fqdn  and  replaces  this
              pattern with “primary_hostname = <guessed value>”.


       update-exim4.conf        evaluates        these       patterns       in

              The octal file mode of the generated file.

              The main configuration type.  One  of  “internet”,  “smarthost”,
              “satellite”, “local”, “exim3manual” or “none”.

              Boolean  option  that controls whether the local mailname in the
              headers of outgoing mail should be hidden. (Only  effective  for
              “smarthost” and “satellite”.

              Internal  use  only Boolean option that is set by the maintainer
              scripts after  adding  the  contents  of  /etc/mailname  to  the
              dc_other_hostnames  list.  This  is a transition helper since it
              wouldn’t otherwise be possible to see whether that  domain  name
              has been removed from dc_other_hostnames on purpose.

              Boolean  option  that  controls whether update-exim4.conf strips
              the comments from the target  configuration  file  (default)  or
              leaves  them  in.  This  can  be  overridden by the command line
              options --keepcomments and --removecomments.

              name of the default transport for local mail delivery.  Defaults
              to  mail_spool  if  unset,  use  maildir_home  for  delivery  to
              ~/Maildir/. This  setting  does  not  correspond  to  a  Debconf
              question and needs to be set manually.

              Used   as   the  value  for  Exims  main  configuration  option

              Boolean option to activate some option to minimize DNS  lookups,
              if set to “true” a macro DC_minimaldns is defined.

              is  used  to  build  the  local_domains  hostlist, together with
              “localhost”.  This is the list of domains for which this machine
              should consider itself the final destination.

              For “smarthost” and “satellite” it is possible to hide the local
              mailname in the headers of outgoing mail  and  replace  it  with
              this value instead, using rewriting.

              is  used  to populate the relay_to_domains domainlist, a list of
              domains for which we accept mail from anywhere on  the  Internet
              but  which  are  not delvered locally, e.g. because this machine
              serves as secondary MX for these domains.

              A list of machines (hostlist) for which we serve  as  smarthost.
              Used to populate the relay_from_hosts hostlist. Please note that
              in the default configuration,  and  ::::1  are  always
              permitted  to  relay since /usr/lib/sendmail is available anyway
              and relay control doesn’t make sense here.

              List of hosts to which all outgoing mail is passed to  and  that
              takes care of delivering it. Multiple hosts are colon separated.
              Each of the hosts is tried, in the  order  specified  (See  exim
              specification,  chapter 20.5). All deliveries go out to TCP port
              25. Specifying different ports is  not  (yet)  possible  due  to
              upstream restrictions. Used as value of the DCsmarthost macro.

              Boolean  option  that  controls  whether  update-exim4.conf uses
              /etc/exim4/exim4.conf.template (“false”) or the  multiple  files
              below /etc/exim4/conf.d (“true”) as input.


       If you are running exim as daemon (as it is in the default setup of the
       Debian packages) you should not invoke update-exim4.conf directly  when
       exim  is  running. For SMTP receiving or queue running, exim forks, and
       the new processes would use  the  new  configuration  file,  while  the
       original  main  exim daemon would still use the old configuration file.
       You should use invoke-rc.d exim4 restart instead.


       exim(8), /usr/share/doc/exim4-base/ and for general notes  and  details
       about               interaction               with              debconf


       Andreas Metzler <ametzler at> Marc Haber <mh+debian->