Chapter 5. Extending the Delivery Configuration

In Chapter 3, we describe the basics of how Exim delivers messages and works through a simple, straightforward example. The chapters that follow this one cover all the different drivers and their options, but before we descend into such detail, we’ll look at some further examples of fairly common delivery requirements and discuss ways of configuring Exim to support them. In many cases, the suggested solution is not necessarily the only possible approach; there are often several ways of achieving the same result. The main intent of this chapter is to show you some more of the many ways in which the driver options can be used.

Multiple Local Domains

Any number of domains can be designated as local by listing them in local_domains. For example:

local_domains = simple.example : *.simple.example

If there are many local domains, it is cumbersome to include the list in the configuration file, and it is better to refer to a file instead. A setting such as:

local_domains = /etc/local.domains

could be used with a file containing lines such as:

simple.example
^[^.]*\d{4}\.simple\.example$

The second line is a regular expression that matches domains ending in .simple.example whose first component ends with four digits. The file can contain any type of item that may appear in a domain list, except for another filename. It is read each time it is needed, and so can be updated independently of Exim’s configuration file. However, it is still scanned linearly, ...

Get Exim: The Mail Transfer Agent now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.