Exim Specification - 40. The default configuration file

Go to the first, previous, next, last section, table of contents.

# 40. The default configuration file

The default configuration file supplied with Exim as src/configure.default is sufficient for a single host with simple mail requirements. It contains comments about options you might want to set, but which it lets default, together with the settings described here.

## 40.1 Main configuration settings

There are four explicit options in this section:

    never_users = root

This prevents Exim from ever running as root when performing a local delivery. Instead, it runs as `nobody'.

    host_lookup = *

This specifies the sending IP networks for which a DNS reverse lookup is done, in order to get the host name from the IP address of an incoming message. The default setting matches all IP addresses. The host name appears in the log and in messages' Received: headers.

    forbid_domain_literals

This locks out the use of `domain literal' addresses such as

    root@[192.168.35.43]

at the syntactic level. Although still specified in the RFCs, such addresses are not of great relevance in today's Internet, are not understood by many people, and have been abused by spammers seeking open relays.

    timeout_frozen_after = 7d

This option causes Exim to abandon frozen messages after they have been on its queue for a week.

As the primary_hostname, qualify_domain, and local_domains options are not specified, they all take the name of the local host, as obtained by the uname() function, as their value.

No relaying is permitted through the host, because neither relay_domains nor host_accept_relay is set. See chapter 46 for more details about relay control.

## 40.2 Transport configuration settings

Four local transports and one remote transport are defined. The first one is the remote transport:

    remote_smtp:
      driver = smtp

This transport is used to do external deliveries over SMTP, with default options. The first local transport is

    local_delivery:
      driver = appendfile
      file = /var/mail/$local_part
      delivery_date_add
      envelope_to_add
      return_path_add

This is set up to deliver to local mailboxes in a traditional `sticky bit' directory. Some installations prefer not to set the `sticky bit', but instead run the delivery under a specific group, with the directory being writeable by the group. Adding the following options achieves this:

       group = mail
       mode = 0660

To deliver into files in users' home directories, a setting such as

      file = /home/$local_part/inbox

or

      file = $home/inbox

should be substituted for the default file option. The three options ending in _add cause Exim to add three header lines to the message as it writes it to the mailbox. They can be removed if these headers are not required. The second local transport is

    address_pipe:
      driver = pipe
      return_output

This transport is used by Exim when a local part that is expanded via an alias or forward file causes delivery to a pipe. Any output from the pipe is returned to the sender of the message. The third local transport is

    address_file:
      driver = appendfile
      delivery_date_add
      envelope_to_add
      return_path_add

This transport is used by Exim when a local part that is expanded via an alias or forward file causes delivery to a specified file (by generating a path name not ending in `/'). The final local transport is

    address_reply:
      driver = autoreply

This transport is used by Exim when a local part that is expanded via a filter file causes an automatic reply to a message to be generated.

## 40.3 Director configuration settings

Three directors are specified for the default configuration. Note that the order of director definitions matters. The first director causes local parts to be checked against the system alias file, which is searched linearly:

    system_aliases:
      driver = aliasfile
      file = /etc/aliases
      search_type = lsearch
      file_transport = address_file
      pipe_transport = address_pipe

If an alias generates a file or pipe delivery, the address_file or address_pipe transport is used, as appropriate. The second director comes into play if a local part does not match a system alias:

    userforward:
      driver = forwardfile
      file = .forward
      no_verify
      no_expn
      check_ancestor
    # filter
      file_transport = address_file
      pipe_transport = address_pipe
      reply_transport = address_reply

An attempt is made to look for a file called ``.forward'` in the home directory of a local user. However, this director is skipped when verifying addresses or running an SMTP EXPN command. The check_ancestor option prevents a ``.forward'` file from turning a login name back into a previously-handled alias name. The filter option is commented out in the default configuration. Thus ``.forward'` files are treated in the conventional manner, but filtering can be enabled by removing the # character.

If forwarding or filtering generates a file, pipe, or autoreply delivery, the address_file, address_pipe, or address_reply transport is used, as appropriate. The final director is

    localuser:
      driver = localuser
      transport = local_delivery

This checks that a local part is the login of a local user, and if so, directs the message to be delivered using the local_delivery transport.

## 40.4 Router configuration settings

Only one router is defined in the default configuration:

    lookuphost:
      driver = lookuphost
      transport = remote_smtp

Its default settings cause it to look up the domain in the DNS, in order to determine the host to which a message should be sent, using the remote_smtp transport.

## 40.5 Default retry rule

A single retry rule is given in the default configuration:

    *    *   F,2h,15m; G,16h,1h,1.5; F,4d,8h

This causes any temporarily failing address to be retried every 15 minutes for 2 hours, then at intervals starting at one hour and increasing by a factor of 1.5 until 16 hours have passed, then every 8 hours up to 4 days.

## 40.6 Rewriting configuration

There are no rewriting rules in the default configuration file.

## 40.7 Authenticators configuration

No authenticators are specified in the default configuration file. Note that in order to use SMTP authentication, it is necessary to specify at least one authenticator in ``Local/Makefile'`.

Go to the first, previous, next, last section, table of contents.