The word filtering is used for the process of inspecting a message as it passes through Exim, and possibly changing the way it is handled. We discuss transport filters in Section 9.1.7, in Chapter 9. In this chapter, we are concerned with a different kind of filtering, which happens while a message is being processed to determine where it should be delivered. We have already mentioned user and system filters without much explanation; now is the time to rectify that omission. These filters work as follows:
Provided the configuration permits it, users may place filtering instructions
in their .forward files instead of just a list of forwarding destinations.
User filters are obeyed when Exim is directing addresses, and they extend the
concept of forwarding by allowing conditions to be tested. A user filter is run
as a consequence of directing one address, whose constituent parts are
$domain (and, if relevant,
A single system filter can be set up by the administrator. This uses the same
filtering commands as a user filter (with a few additions), but is obeyed just
once per delivery attempt, before any directing or routing is done. Because
there may be many recipients for a message, address-related variables such as
$domain are not set when a system filter is run, but a
list of all the recipients is available in the variable
Before describing the ...