Specification of the Exim Mail Transfer Agent
Total Page:16
File Type:pdf, Size:1020Kb
Specification of the Exim Mail Transfer Agent Exim Maintainers Specification of the Exim Mail Transfer Agent Author: Exim Maintainers Copyright © 2011 University of Cambridge Revision 4.76 06 May 2011 Contents 1. Introduction .................................................................................................................................. 1 1.1 Exim documentation .............................................................................................................. 1 1.2 FTP and web sites ................................................................................................................. 2 1.3 Mailing lists .............................................................................................................................. 2 1.4 Exim training ........................................................................................................................... 3 1.5 Bug reports .............................................................................................................................. 3 1.6 Where to find the Exim distribution ...................................................................................... 3 1.7 Limitations ............................................................................................................................... 3 1.8 Run time configuration ........................................................................................................... 4 1.9 Calling interface ...................................................................................................................... 4 1.10 Terminology ........................................................................................................................... 4 2. Incorporated code ...................................................................................................................... 6 3. How Exim receives and delivers mail ................................................................................... 8 3.1 Overall philosophy .................................................................................................................. 8 3.2 Policy control ........................................................................................................................... 8 3.3 User filters ............................................................................................................................... 8 3.4 Message identification ........................................................................................................... 9 3.5 Receiving mail ........................................................................................................................ 9 3.6 Handling an incoming message ........................................................................................ 10 3.7 Life of a message ................................................................................................................. 10 3.8 Processing an address for delivery ................................................................................... 11 3.9 Processing an address for verification .............................................................................. 12 3.10 Running an individual router ............................................................................................ 12 3.11 Duplicate addresses .......................................................................................................... 13 3.12 Router preconditions ......................................................................................................... 13 3.13 Delivery in detail ................................................................................................................. 14 3.14 Retry mechanism ............................................................................................................... 15 3.15 Temporary delivery failure ................................................................................................ 15 3.16 Permanent delivery failure ................................................................................................ 15 3.17 Failures to deliver bounce messages ............................................................................. 16 4. Building and installing Exim ................................................................................................. 17 4.1 Unpacking ............................................................................................................................. 17 4.2 Multiple machine architectures and operating systems ................................................. 17 4.3 PCRE library ......................................................................................................................... 17 4.4 DBM libraries ........................................................................................................................ 17 4.5 Pre-building configuration ................................................................................................... 18 4.6 Support for iconv() ............................................................................................................... 19 4.7 Including TLS/SSL encryption support ............................................................................. 19 4.8 Use of tcpwrappers .............................................................................................................. 20 4.9 Including support for IPv6 ................................................................................................... 20 4.10 Dynamically loaded lookup module support .................................................................. 21 4.11 The building process ......................................................................................................... 21 4.12 Output from “make” ........................................................................................................... 21 4.13 Overriding build-time options for Exim ............................................................................ 21 4.14 OS-specific header files .................................................................................................... 23 4.15 Overriding build-time options for the monitor ................................................................ 23 4.16 Installing Exim binaries and scripts ................................................................................. 23 4.17 Installing info documentation ........................................................................................... 25 4.18 Setting up the spool directory .......................................................................................... 25 iii 4.19 Testing ................................................................................................................................. 25 4.20 Replacing another MTA with Exim .................................................................................. 26 4.21 Upgrading Exim .................................................................................................................. 26 4.22 Stopping the Exim daemon on Solaris ........................................................................... 27 5. The Exim command line ......................................................................................................... 28 5.1 Setting options by program name ...................................................................................... 28 5.2 Trusted and admin users .................................................................................................... 28 5.3 Command line options ........................................................................................................ 29 6. The Exim run time configuration file ................................................................................... 50 6.1 Using a different configuration file ..................................................................................... 50 6.2 Configuration file format ...................................................................................................... 51 6.3 File inclusions in the configuration file .............................................................................. 52 6.4 Macros in the configuration file .......................................................................................... 52 6.5 Macro substitution ................................................................................................................ 52 6.6 Redefining macros ............................................................................................................... 53 6.7 Overriding macro values ..................................................................................................... 53 6.8 Example of macro usage .................................................................................................... 53 6.9 Conditional skips in the configuration file ......................................................................... 53 6.10 Common option syntax ..................................................................................................... 54 6.11 Boolean options ................................................................................................................. 54 6.12 Integer values ..................................................................................................................... 54 6.13 Octal integer values ..........................................................................................................