SlideShare una empresa de Scribd logo
1 de 483
Descargar para leer sin conexión
Specification of the Exim Mail
      Transfer Agent
        Exim Maintainers
Specification of the Exim Mail Transfer Agent

Author: Exim Maintainers


Copyright © 2009 University of Cambridge

Revision 4.73   19 Nov 2010
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 The building process .........................................................................................................              21
    4.11 Output from “make” ...........................................................................................................              21
    4.12 Overriding build-time options for Exim ............................................................................                         21
    4.13 OS-specific header files ....................................................................................................                 23
    4.14 Overriding build-time options for the monitor ................................................................                              23
    4.15 Installing Exim binaries and scripts .................................................................................                      23
    4.16 Installing info documentation ...........................................................................................                   24
    4.17 Setting up the spool directory ..........................................................................................                   25
    4.18 Testing .................................................................................................................................   25

                                                                          iii
4.19 Replacing another MTA with Exim .................................................................................. 26
   4.20 Upgrading Exim .................................................................................................................. 26
   4.21 Stopping the Exim daemon on Solaris ........................................................................... 26

5. The Exim command line ......................................................................................................... 27

   5.1 Setting options by program name ...................................................................................... 27
   5.2 Trusted and admin users .................................................................................................... 27
   5.3 Command line options ........................................................................................................ 28

6. The Exim run time configuration file ................................................................................... 49

   6.1 Using a different configuration file .....................................................................................                    49
   6.2 Configuration file format ......................................................................................................              50
   6.3 File inclusions in the configuration file ..............................................................................                      51
   6.4 Macros in the configuration file ..........................................................................................                   51
   6.5 Macro substitution ................................................................................................................         51
   6.6 Redefining macros ...............................................................................................................            52
   6.7 Overriding macro values .....................................................................................................               52
   6.8 Example of macro usage ....................................................................................................                 52
   6.9 Conditional skips in the configuration file .........................................................................                         52
   6.10 Common option syntax .....................................................................................................                 53
   6.11 Boolean options .................................................................................................................          53
   6.12 Integer values .....................................................................................................................       53
   6.13 Octal integer values ...........................................................................................................           53
   6.14 Fixed point numbers ..........................................................................................................             54
   6.15 Time intervals .....................................................................................................................       54
   6.16 String values .......................................................................................................................      54
   6.17 Expanded strings ...............................................................................................................           54
   6.18 User and group names .....................................................................................................                 55
   6.19 List construction .................................................................................................................        55
   6.20 Changing list separators ...................................................................................................               55
   6.21 Empty items in lists ............................................................................................................          55
   6.22 Format of driver configurations ........................................................................................                    56

7. The default configuration file ................................................................................................ 58

   7.1    Main configuration settings .................................................................................................             58
   7.2    ACL configuration .................................................................................................................       60
   7.3    Router configuration ............................................................................................................         63
   7.4    Transport configuration ........................................................................................................          66
   7.5    Default retry rule ...................................................................................................................   66
   7.6    Rewriting configuration ........................................................................................................          67
   7.7    Authenticators configuration ...............................................................................................              67

8. Regular expressions ................................................................................................................ 68

9. File and database lookups ..................................................................................................... 69

   9.1    Examples of different lookup syntax .................................................................................                    69
   9.2    Lookup types ........................................................................................................................    69
   9.3    Single-key lookup types ......................................................................................................           70
   9.4    Query-style lookup types ....................................................................................................            72
   9.5    Temporary errors in lookups ...............................................................................................              73
   9.6    Default values in single-key lookups .................................................................................                   73
   9.7    Partial matching in single-key lookups ..............................................................................                    74
   9.8    Lookup caching ....................................................................................................................      75
   9.9    Quoting lookup data ............................................................................................................         75

                                                                        iv
9.10     More about dnsdb ..............................................................................................................         75
   9.11     Pseudo dnsdb record types .............................................................................................                 76
   9.12     Multiple dnsdb lookups .....................................................................................................            77
   9.13     More about LDAP ..............................................................................................................          77
   9.14     Format of LDAP queries ...................................................................................................              78
   9.15     LDAP quoting ......................................................................................................................     78
   9.16     LDAP connections .............................................................................................................          79
   9.17     LDAP authentication and control information ................................................................                            80
   9.18     Format of data returned by LDAP ...................................................................................                     81
   9.19     More about NIS+ ................................................................................................................        81
   9.20     SQL lookups .......................................................................................................................     82
   9.21     More about MySQL, PostgreSQL, Oracle, and InterBase ...........................................                                         82
   9.22     Specifying the server in the query ...................................................................................                  83
   9.23     Special MySQL features ...................................................................................................              83
   9.24     Special PostgreSQL features ...........................................................................................                 83
   9.25     More about SQLite ............................................................................................................          84

10. Domain, host, address, and local part lists .................................................................... 85

   10.1 Expansion of lists ...............................................................................................................          85
   10.2 Negated items in lists ........................................................................................................             85
   10.3 File names in lists ..............................................................................................................          85
   10.4 An lsearch file is not an out-of-line list ............................................................................                      86
   10.5 Named lists .........................................................................................................................       86
   10.6 Named lists compared with macros ................................................................................                           87
   10.7 Named list caching ............................................................................................................             87
   10.8 Domain lists ........................................................................................................................       88
   10.9 Host lists ..............................................................................................................................   90
   10.10 Special host list patterns ................................................................................................                90
   10.11 Host list patterns that match by IP address .................................................................                              90
   10.12 Host list patterns for single-key lookups by host address .........................................                                        91
   10.13 Host list patterns that match by host name .................................................................                               92
   10.14 Behaviour when an IP address or name cannot be found ........................................                                              93
   10.15 Temporary DNS errors when looking up host information ........................................                                             93
   10.16 Host list patterns for single-key lookups by host name .............................................                                       93
   10.17 Host list patterns for query-style lookups .....................................................................                           94
   10.18 Mixing wildcarded host names and addresses in host lists ......................................                                            94
   10.19 Address lists .....................................................................................................................        94
   10.20 Case of letters in address lists ......................................................................................                    97
   10.21 Local part lists ..................................................................................................................        97

11. String expansions .................................................................................................................. 98

   11.1     Literal text in expanded strings ........................................................................................ 98
   11.2     Character escape sequences in expanded strings ...................................................... 98
   11.3     Testing string expansions ................................................................................................. 98
   11.4     Forced expansion failure ................................................................................................... 99
   11.5     Expansion items ................................................................................................................. 99
   11.6     Expansion operators ....................................................................................................... 108
   11.7     Expansion conditions ...................................................................................................... 113
   11.8     Combining expansion conditions .................................................................................. 119
   11.9     Expansion variables ........................................................................................................ 119

12. Embedded Perl ...................................................................................................................... 135

   12.1 Setting up so Perl can be used ..................................................................................... 135
   12.2 Calling Perl subroutines .................................................................................................. 135
   12.3 Calling Exim functions from Perl ................................................................................... 136

                                                                         v
12.4 Use of standard output and error by Perl ..................................................................... 136

13. Starting the daemon and the use of network interfaces ........................................... 137

   13.1     Starting a listening daemon ...........................................................................................               137
   13.2     Special IP listening addresses ......................................................................................                 138
   13.3     Overriding local_interfaces and daemon_smtp_ports ...............................................                                     138
   13.4     Support for the obsolete SSMTP (or SMTPS) protocol .............................................                                      138
   13.5     IPv6 address scopes .......................................................................................................           139
   13.6     Disabling IPv6 ..................................................................................................................     139
   13.7     Examples of starting a listening daemon .....................................................................                         139
   13.8     Recognizing the local host .............................................................................................              140
   13.9     Delivering to a remote host ............................................................................................              140

14. Main configuration ............................................................................................................... 141

   14.1 Miscellaneous ..................................................................................................................          141
   14.2 Exim parameters ..............................................................................................................            141
   14.3 Privilege controls .............................................................................................................          141
   14.4 Logging ..............................................................................................................................    141
   14.5 Frozen messages ............................................................................................................              142
   14.6 Data lookups ....................................................................................................................         142
   14.7 Message ids .....................................................................................................................         142
   14.8 Embedded Perl Startup ..................................................................................................                  142
   14.9 Daemon .............................................................................................................................      142
   14.10 Resource control ...........................................................................................................             142
   14.11 Policy controls ................................................................................................................         143
   14.12 Callout cache .................................................................................................................          144
   14.13 TLS ..................................................................................................................................   144
   14.14 Local user handling .......................................................................................................              144
   14.15 All incoming messages (SMTP and non-SMTP) ......................................................                                         144
   14.16 Non-SMTP incoming messages .................................................................................                             144
   14.17 Incoming SMTP messages ..........................................................................................                        144
   14.18 SMTP extensions ..........................................................................................................               145
   14.19 Processing messages ..................................................................................................                   145
   14.20 System filter ....................................................................................................................        146
   14.21 Routing and delivery .....................................................................................................               146
   14.22 Bounce and warning messages ..................................................................................                           146
   14.23 Alphabetical list of main options ..................................................................................                     146

15. Generic options for routers ............................................................................................... 187

16. The accept router ................................................................................................................. 200

17. The dnslookup router ......................................................................................................... 201

   17.1 Problems with DNS lookups .......................................................................................... 201
   17.2 Private options for dnslookup ........................................................................................ 201
   17.3 Effect of qualify_single and search_parents ............................................................... 203

18. The ipliteral router ............................................................................................................... 205

19. The iplookup router ............................................................................................................. 206

20. The manualroute router ...................................................................................................... 208

   20.1 Private options for manualroute .................................................................................... 208
   20.2 Routing rules in route_list ............................................................................................... 209

                                                                         vi
20.3     Routing rules in route_data ............................................................................................             210
   20.4     Format of the list of hosts ...............................................................................................          210
   20.5     Format of one host item ..................................................................................................           211
   20.6     How the list of hosts is used ..........................................................................................             211
   20.7     How the options are used ...............................................................................................             212
   20.8     Manualroute examples ....................................................................................................            212

21. The queryprogram router ................................................................................................... 215

22. The redirect router ............................................................................................................... 217

   22.1 Redirection data ...............................................................................................................         217
   22.2 Forward files and address verification ..........................................................................                          217
   22.3 Interpreting redirection data ...........................................................................................                218
   22.4 Items in a non-filter redirection list ................................................................................                   218
   22.5 Redirecting to a local mailbox ........................................................................................                  218
   22.6 Special items in redirection lists ....................................................................................                  219
   22.7 Duplicate addresses ........................................................................................................             221
   22.8 Repeated redirection expansion ...................................................................................                       221
   22.9 Errors in redirection lists .................................................................................................            221
   22.10 Private options for the redirect router .........................................................................                       221

23. Environment for running local transports ..................................................................... 229

   23.1     Concurrent deliveries ......................................................................................................         229
   23.2     Uids and gids ....................................................................................................................   229
   23.3     Current and home directories ........................................................................................                230
   23.4     Expansion variables derived from the address ...........................................................                             230

24. Generic options for transports ......................................................................................... 231

25. Address batching in local transports ............................................................................. 237

26. The appendfile transport .................................................................................................... 239

   26.1     The file and directory options ........................................................................................               239
   26.2     Private options for appendfile ........................................................................................               240
   26.3     Operational details for appending .................................................................................                  249
   26.4     Operational details for delivery to a new file ................................................................                       251
   26.5     Maildir delivery .................................................................................................................   251
   26.6     Using tags to record message sizes .............................................................................                     252
   26.7     Using a maildirsize file ....................................................................................................         252
   26.8     Mailstore delivery .............................................................................................................     253
   26.9     Non-special new file delivery .........................................................................................               253

27. The autoreply transport ...................................................................................................... 254

   27.1 Private options for autoreply .......................................................................................... 254

28. The lmtp transport ............................................................................................................... 257

29. The pipe transport ............................................................................................................... 259

   29.1     Concurrent delivery .........................................................................................................        259
   29.2     Returned status and data ...............................................................................................             259
   29.3     How the command is run ................................................................................................              260
   29.4     Environment variables ....................................................................................................           260
   29.5     Private options for pipe ...................................................................................................         261

                                                                        vii
29.6 Using an external local delivery agent ......................................................................... 265

30. The smtp transport .............................................................................................................. 267

   30.1     Multiple messages on a single connection ..................................................................                         267
   30.2     Use of the $host and $host_address variables ...........................................................                            267
   30.3     Use of $tls_cipher and $tls_peerdn ..............................................................................                   267
   30.4     Private options for smtp ..................................................................................................         267
   30.5     How the limits for the number of hosts to try are used ..............................................                               275

31. Address rewriting ................................................................................................................. 277

   31.1 Explicitly configured address rewriting .........................................................................                        277
   31.2 When does rewriting happen? .......................................................................................                     277
   31.3 Testing the rewriting rules that apply on input .............................................................                           278
   31.4 Rewriting rules .................................................................................................................       278
   31.5 Rewriting patterns ............................................................................................................         279
   31.6 Rewriting replacements ..................................................................................................               280
   31.7 Rewriting flags ..................................................................................................................      280
   31.8 Flags specifying which headers and envelope addresses to rewrite ......................                                                 280
   31.9 The SMTP-time rewriting flag ........................................................................................                   280
   31.10 Flags controlling the rewriting process ......................................................................                         281
   31.11 Rewriting examples .......................................................................................................             281

32. Retry configuration .............................................................................................................. 283

   32.1 Changing retry rules ........................................................................................................           283
   32.2 Format of retry rules ........................................................................................................          283
   32.3 Choosing which retry rule to use for address errors ..................................................                                  284
   32.4 Choosing which retry rule to use for host and message errors ................................                                           284
   32.5 Retry rules for specific errors .........................................................................................                285
   32.6 Retry rules for specified senders ..................................................................................                     286
   32.7 Retry parameters .............................................................................................................          287
   32.8 Retry rule examples ........................................................................................................            287
   32.9 Timeout of retry data .......................................................................................................           288
   32.10 Long-term failures .........................................................................................................           288
   32.11 Deliveries that work intermittently ...............................................................................                    289

33. SMTP authentication ........................................................................................................... 290

   33.1     Generic options for authenticators ................................................................................                 291
   33.2     The AUTH parameter on MAIL commands .................................................................                               292
   33.3     Authentication on an Exim server .................................................................................                  293
   33.4     Testing server authentication .........................................................................................             294
   33.5     Authentication by an Exim client ...................................................................................                294

34. The plaintext authenticator ............................................................................................... 296

   34.1     Plaintext options ...............................................................................................................   296
   34.2     Using plaintext in a server ..............................................................................................          296
   34.3     The PLAIN authentication mechanism .........................................................................                        296
   34.4     The LOGIN authentication mechanism ........................................................................                         297
   34.5     Support for different kinds of authentication ................................................................                      298
   34.6     Using plaintext in a client ................................................................................................        298

35. The cram_md5 authenticator ............................................................................................ 300

   35.1 Using cram_md5 as a server ......................................................................................... 300

                                                                       viii
35.2 Using cram_md5 as a client ........................................................................................... 300

36. The cyrus_sasl authenticator ........................................................................................... 302

   36.1 Using cyrus_sasl as a server ......................................................................................... 302

37. The dovecot authenticator ................................................................................................. 304

38. The spa authenticator ......................................................................................................... 305

   38.1 Using spa as a server ..................................................................................................... 305
   38.2 Using spa as a client ....................................................................................................... 305

39. Encrypted SMTP connections using TLS/SSL ............................................................. 307

   39.1 Support for the legacy “ssmtp” (aka “smtps”) protocol ..............................................                                 307
   39.2 OpenSSL vs GnuTLS .....................................................................................................              307
   39.3 GnuTLS parameter computation ...................................................................................                     308
   39.4 Requiring specific ciphers in OpenSSL ........................................................................                        308
   39.5 Requiring specific ciphers or other parameters in GnuTLS ......................................                                       309
   39.6 Configuring an Exim server to use TLS .......................................................................                         310
   39.7 Requesting and verifying client certificates .................................................................                        311
   39.8 Revoked certificates ........................................................................................................         312
   39.9 Configuring an Exim client to use TLS .........................................................................                       312
   39.10 Multiple messages on the same encrypted TCP/IP connection ............................                                              312
   39.11 Certificates and all that .................................................................................................          313
   39.12 Certificate chains ...........................................................................................................       313
   39.13 Self-signed certificates .................................................................................................           313

40. Access control lists ............................................................................................................. 315

   40.1 Testing ACLs ....................................................................................................................    315
   40.2 Specifying when ACLs are used ...................................................................................                    315
   40.3 The non-SMTP ACLs ......................................................................................................             316
   40.4 The SMTP connect ACL .................................................................................................               316
   40.5 The EHLO/HELO ACL ....................................................................................................               316
   40.6 The DATA ACLs ................................................................................................................       316
   40.7 The SMTP DKIM ACL .....................................................................................................              317
   40.8 The SMTP MIME ACL ....................................................................................................               317
   40.9 The QUIT ACL ..................................................................................................................      317
   40.10 The not-QUIT ACL ........................................................................................................           317
   40.11 Finding an ACL to use ..................................................................................................            318
   40.12 ACL return codes ..........................................................................................................         318
   40.13 Unset ACL options ........................................................................................................          319
   40.14 Data for message ACLs ...............................................................................................               319
   40.15 Data for non-message ACLs .......................................................................................                   319
   40.16 Format of an ACL ..........................................................................................................         320
   40.17 ACL verbs .......................................................................................................................   320
   40.18 ACL variables .................................................................................................................     322
   40.19 Condition and modifier processing .............................................................................                      322
   40.20 ACL modifiers .................................................................................................................      323
   40.21 Use of the control modifier ...........................................................................................              327
   40.22 Summary of message fixup control ............................................................................                        330
   40.23 Adding header lines in ACLs .......................................................................................                 330
   40.24 ACL conditions ...............................................................................................................      331
   40.25 Using DNS lists ..............................................................................................................      335
   40.26 Specifying the IP address for a DNS list lookup .......................................................                             336
   40.27 DNS lists keyed on domain names .............................................................................                       336

                                                                      ix
40.28     Multiple explicit keys for a DNS list .............................................................................              336
   40.29     Data returned by DNS lists ..........................................................................................            337
   40.30     Variables set from DNS lists ........................................................................................            337
   40.31     Additional matching conditions for DNS lists ............................................................                        338
   40.32     Negated DNS matching conditions ............................................................................                     338
   40.33     Handling multiple DNS records from a DNS list .......................................................                            339
   40.34     Detailed information from merged DNS lists .............................................................                         340
   40.35     DNS lists and IPv6 ........................................................................................................      340
   40.36     Rate limiting incoming messages ...............................................................................                  341
   40.37     Ratelimit options for what is being measured ...........................................................                         342
   40.38     Ratelimit options for handling fast clients ..................................................................                   342
   40.39     Using rate limiting ..........................................................................................................   342
   40.40     Reading ratelimit data without updating ....................................................................                     343
   40.41     Address verification .......................................................................................................      344
   40.42     Callout verification .........................................................................................................    344
   40.43     Additional parameters for callouts ..............................................................................                345
   40.44     Callout caching ..............................................................................................................   347
   40.45     Sender address verification reporting ........................................................................                    348
   40.46     Redirection while verifying ...........................................................................................          348
   40.47     Client SMTP authorization (CSA) ...............................................................................                  349
   40.48     Bounce address tag validation ....................................................................................               350
   40.49     Using an ACL to control relaying ................................................................................                351
   40.50     Checking a relay configuration ....................................................................................               352

41. Content scanning at ACL time .......................................................................................... 353

   41.1    Scanning for viruses ........................................................................................................      353
   41.2    Scanning with SpamAssassin .......................................................................................                 356
   41.3    Calling SpamAssassin from an Exim ACL ...................................................................                          357
   41.4    Scanning MIME parts .....................................................................................................          358
   41.5    Scanning with regular expressions ...............................................................................                  360
   41.6    The demime condition ....................................................................................................          361

42. Adding a local scan function to Exim ............................................................................. 363

   42.1    Building Exim to use a local scan function ..................................................................                      363
   42.2    API for local_scan() .........................................................................................................     363
   42.3    Configuration options for local_scan() ..........................................................................                   364
   42.4    Available Exim variables .................................................................................................         365
   42.5    Structure of header lines ................................................................................................         367
   42.6    Structure of recipient items ............................................................................................          367
   42.7    Available Exim functions .................................................................................................         368
   42.8    More about Exim’s memory handling ...........................................................................                      372

43. System-wide message filtering ........................................................................................ 373

   43.1    Specifying a system filter ................................................................................................         373
   43.2    Testing a system filter .....................................................................................................       373
   43.3    Contents of a system filter ..............................................................................................          373
   43.4    Additional variable for system filters .............................................................................                374
   43.5    Defer, freeze, and fail commands for system filters ...................................................                             374
   43.6    Adding and removing headers in a system filter .........................................................                            375
   43.7    Setting an errors address in a system filter .................................................................                      375
   43.8    Per-address filtering ........................................................................................................      376

44. Message processing ........................................................................................................... 377

   44.1 Submission mode for non-local messages .................................................................. 377

                                                                       x
44.2 Line endings .....................................................................................................................   378
   44.3 Unqualified addresses ....................................................................................................            378
   44.4 The UUCP From line .......................................................................................................           379
   44.5 Resent- header lines .......................................................................................................         379
   44.6 The Auto-Submitted: header line ..................................................................................                   380
   44.7 The Bcc: header line .......................................................................................................         380
   44.8 The Date: header line .....................................................................................................          380
   44.9 The Delivery-date: header line ......................................................................................                380
   44.10 The Envelope-to: header line ......................................................................................                 380
   44.11 The From: header line ..................................................................................................            380
   44.12 The Message-ID: header line ......................................................................................                  381
   44.13 The Received: header line ...........................................................................................               381
   44.14 The References: header line .......................................................................................                 381
   44.15 The Return-path: header line ......................................................................................                 381
   44.16 The Sender: header line ...............................................................................................             381
   44.17 Adding and removing header lines in routers and transports ................................                                         382
   44.18 Constructed addresses ................................................................................................              383
   44.19 Case of local parts ........................................................................................................        383
   44.20 Dots in local parts ..........................................................................................................      384
   44.21 Rewriting addresses .....................................................................................................           384

45. SMTP processing ................................................................................................................. 385

   45.1 Outgoing SMTP and LMTP over TCP/IP .....................................................................                             385
   45.2 Errors in outgoing SMTP ................................................................................................             386
   45.3 Incoming SMTP messages over TCP/IP .....................................................................                             387
   45.4 Unrecognized SMTP commands ..................................................................................                        389
   45.5 Syntax and protocol errors in SMTP commands ........................................................                                 389
   45.6 Use of non-mail SMTP commands ...............................................................................                        389
   45.7 The VRFY and EXPN commands .................................................................................                         389
   45.8 The ETRN command ......................................................................................................              389
   45.9 Incoming local SMTP ......................................................................................................           390
   45.10 Outgoing batched SMTP ..............................................................................................                390
   45.11 Incoming batched SMTP ..............................................................................................                391

46. Customizing bounce and warning messages .............................................................. 392

   46.1 Customizing bounce messages .................................................................................... 392
   46.2 Customizing warning messages ................................................................................... 393

47. Some common configuration settings ........................................................................... 394

   47.1 Sending mail to a smart host .........................................................................................               394
   47.2 Using Exim to handle mailing lists ................................................................................                  394
   47.3 Syntax errors in mailing lists ..........................................................................................            394
   47.4 Re-expansion of mailing lists .........................................................................................              395
   47.5 Closed mailing lists ..........................................................................................................      395
   47.6 Variable Envelope Return Paths (VERP) .....................................................................                          396
   47.7 Virtual domains ................................................................................................................     397
   47.8 Multiple user mailboxes ..................................................................................................           398
   47.9 Simplified vacation processing ......................................................................................                 399
   47.10 Taking copies of mail .....................................................................................................         399
   47.11 Intermittently connected hosts ....................................................................................                 399
   47.12 Exim on the upstream server host ..............................................................................                     399
   47.13 Exim on the intermittently connected client host ......................................................                             400

48. Using Exim as a non-queueing client ............................................................................. 401


                                                                      xi
49. Log files .................................................................................................................................. 403

   49.1 Where the logs are written .............................................................................................                403
   49.2 Logging to local files that are periodically “cycled” .....................................................                              404
   49.3 Datestamped log files .....................................................................................................              404
   49.4 Logging to syslog .............................................................................................................         405
   49.5 Log line flags ....................................................................................................................     406
   49.6 Logging message reception ...........................................................................................                   406
   49.7 Logging deliveries ............................................................................................................         407
   49.8 Discarded deliveries ........................................................................................................           408
   49.9 Deferred deliveries ..........................................................................................................          408
   49.10 Delivery failures .............................................................................................................        408
   49.11 Fake deliveries ...............................................................................................................        408
   49.12 Completion .....................................................................................................................       408
   49.13 Summary of Fields in Log Lines .................................................................................                       409
   49.14 Other log entries ............................................................................................................         409
   49.15 Reducing or increasing what is logged ......................................................................                           410
   49.16 Message log ...................................................................................................................        413

50. Exim utilities .......................................................................................................................... 415

   50.1 Finding out what Exim processes are doing (exiwhat) ..............................................                                      415
   50.2 Selective queue listing (exiqgrep) .................................................................................                    415
   50.3 Summarizing the queue (exiqsumm) ............................................................................                           416
   50.4 Extracting specific information from the log (exigrep) ................................................                                  417
   50.5 Selecting messages by various criteria (exipick) ........................................................                               417
   50.6 Cycling log files (exicyclog) ............................................................................................               417
   50.7 Mail statistics (eximstats) ...............................................................................................             418
   50.8 Checking access policy (exim_checkaccess) .............................................................                                 419
   50.9 Making DBM files (exim_dbmbuild) ..............................................................................                          419
   50.10 Finding individual retry times (exinext) .......................................................................                       420
   50.11 Hints database maintenance .......................................................................................                     420
   50.12 exim_dumpdb .................................................................................................................          420
   50.13 exim_tidydb ....................................................................................................................       421
   50.14 exim_fixdb .......................................................................................................................      421
   50.15 Mailbox maintenance (exim_lock) ...............................................................................                        422

51. The Exim monitor ................................................................................................................. 424

   51.1     Running the monitor ........................................................................................................        424
   51.2     The stripcharts .................................................................................................................   424
   51.3     Main action buttons .........................................................................................................       425
   51.4     The log display .................................................................................................................   425
   51.5     The queue display ...........................................................................................................       426
   51.6     The queue menu ..............................................................................................................       426

52. Security considerations ..................................................................................................... 428

   52.1 Building a more “hardened” Exim .................................................................................                       428
   52.2 Root privilege ...................................................................................................................      428
   52.3 Running Exim without privilege .....................................................................................                    430
   52.4 Delivering to local files ....................................................................................................           431
   52.5 IPv4 source routing .........................................................................................................           431
   52.6 The VRFY, EXPN, and ETRN commands in SMTP ...................................................                                           431
   52.7 Privileged users ...............................................................................................................        431
   52.8 Spool files .........................................................................................................................    431
   52.9 Use of argv[0] ...................................................................................................................      432
   52.10 Use of %f formatting .....................................................................................................             432

                                                                       xii
52.11      Embedded Exim path ...................................................................................................             432
   52.12      Use of sprintf() ...............................................................................................................   432
   52.13      Use of debug_printf() and log_write() ........................................................................                     432
   52.14      Use of strcat() and strcpy() ..........................................................................................            432

53. Format of spool files ........................................................................................................... 433

   53.1 Format of the -H file ......................................................................................................... 433

54. Support for DKIM (DomainKeys Identified Mail) - RFC4871 ..................................... 438

   54.1 Signing outgoing messages ........................................................................................... 438
   54.2 Verifying DKIM signatures in incoming mail ................................................................ 439

55. Adding new drivers or lookup types ............................................................................... 442

Options index ................................................................................................................................ 443

Variables index ............................................................................................................................. 449

Concept index ............................................................................................................................... 451




                                                                       xiii
1. Introduction
Exim is a mail transfer agent (MTA) for hosts that are running Unix or Unix-like operating systems. It
was designed on the assumption that it would be run on hosts that are permanently connected to the
Internet. However, it can be used on intermittently connected hosts with suitable configuration
adjustments.
Configuration files currently exist for the following operating systems: AIX, BSD/OS (aka BSDI),
Darwin (Mac OS X), DGUX, Dragonfly, FreeBSD, GNU/Hurd, GNU/Linux, HI-OSF (Hitachi), HI-
UX, HP-UX, IRIX, MIPS RISCOS, NetBSD, OpenBSD, OpenUNIX, QNX, SCO, SCO SVR4.2 (aka
UNIX-SV), Solaris (aka SunOS5), SunOS4, Tru64-Unix (formerly Digital UNIX, formerly DEC-
OSF1), Ultrix, and Unixware. Some of these operating systems are no longer current and cannot
easily be tested, so the configuration files may no longer work in practice.
There are also configuration files for compiling Exim in the Cygwin environment that can be installed
on systems running Windows. However, this document does not contain any information about run-
ning Exim in the Cygwin environment.
The terms and conditions for the use and distribution of Exim are contained in the file NOTICE. Exim
is distributed under the terms of the GNU General Public Licence, a copy of which may be found in
the file LICENCE.
The use, supply or promotion of Exim for the purpose of sending bulk, unsolicited electronic mail is
incompatible with the basic aims of the program, which revolve around the free provision of a service
that enhances the quality of personal communications. The author of Exim regards indiscriminate
mass-mailing as an antisocial, irresponsible abuse of the Internet.
Exim owes a great deal to Smail 3 and its author, Ron Karr. Without the experience of running and
working on the Smail 3 code, I could never have contemplated starting to write a new MTA. Many of
the ideas and user interfaces were originally taken from Smail 3, though the actual code of Exim is
entirely new, and has developed far beyond the initial concept.
Many people, both in Cambridge and around the world, have contributed to the development and the
testing of Exim, and to porting it to various operating systems. I am grateful to them all. The
distribution now contains a file called ACKNOWLEDGMENTS, in which I have started recording the
names of contributors.

1.1 Exim documentation
This edition of the Exim specification applies to version 4.73 of Exim. Substantive changes from the
4.72 edition are marked in some renditions of the document; this paragraph is so marked if the
rendition is capable of showing a change indicator.
This document is very much a reference manual; it is not a tutorial. The reader is expected to have
some familiarity with the SMTP mail transfer protocol and with general Unix system administration.
Although there are some discussions and examples in places, the information is mostly organized in a
way that makes it easy to look up, rather than in a natural order for sequential reading. Furthermore,
the manual aims to cover every aspect of Exim in detail, including a number of rarely-used, special-
purpose features that are unlikely to be of very wide interest.
An “easier” discussion of Exim which provides more in-depth explanatory, introductory, and tutorial
material can be found in a book entitled The Exim SMTP Mail Server (second edition, 2007), pub-
lished by UIT Cambridge (http://www.uit.co.uk/exim-book/).
This book also contains a chapter that gives a general introduction to SMTP and Internet mail.
Inevitably, however, the book is unlikely to be fully up-to-date with the latest release of Exim. (Note
that the earlier book about Exim, published by O’Reilly, covers Exim 3, and many things have
changed in Exim 4.)
If you are using a Debian distribution of Exim, you will find information about Debian-specific
features in the file /usr/share/doc/exim4-base/README.Debian. The command man update-exim.conf
is another source of Debian-specific information.

                                                  1                                   Introduction (1)
As the program develops, there may be features in newer versions that have not yet made it into this
document, which is updated only when the most significant digit of the fractional part of the version
number changes. Specifications of new features that are not yet in this manual are placed in the file
doc/NewStuff in the Exim distribution.

Some features may be classified as “experimental”. These may change incompatibly while they are
developing, or even be withdrawn. For this reason, they are not documented in this manual.
Information about experimental features can be found in the file doc/experimental.txt.

All changes to the program (whether new features, bug fixes, or other kinds of change) are noted
briefly in the file called doc/ChangeLog.

This specification itself is available as an ASCII file in doc/spec.txt so that it can easily be searched
with a text editor. Other files in the doc directory are:

OptionLists.txt         list of all options in alphabetical order
dbm.discuss.txt         discussion about DBM libraries
exim.8                  a man page of Exim’s command line options
experimental.txt        documentation of experimental features
filter.txt               specification of the filter language
Exim3.upgrade           upgrade notes from release 2 to release 3
Exim4.upgrade           upgrade notes from release 3 to release 4
The main specification and the specification of the filtering language are also available in other
formats (HTML, PostScript, PDF, and Texinfo). Section 1.6 below tells you how to get hold of these.

1.2 FTP and web sites
The primary site for Exim source distributions is currently the University of Cambridge’s FTP site,
whose contents are described in Where to find the Exim distribution below. In addition, there is a web
site and an FTP site at exim.org. These are now also hosted at the University of Cambridge. The
exim.org site was previously hosted for a number of years by Energis Squared, formerly Planet
Online Ltd, whose support I gratefully acknowledge.

As well as Exim distribution tar files, the Exim web site contains a number of differently formatted
versions of the documentation. A recent addition to the online information is the Exim wiki
(http://wiki.exim.org), which contains what used to be a separate FAQ, as well as various other
examples, tips, and know-how that have been contributed by Exim users.

An Exim Bugzilla exists at http://bugs.exim.org. You can use this to report bugs, and also to add
items to the wish list. Please search first to check that you are not duplicating a previous entry.

1.3 Mailing lists
The following Exim mailing lists exist:
exim-users@exim.org              General discussion list
exim-dev@exim.org                Discussion of bugs, enhancements, etc.
exim-announce@exim.org           Moderated, low volume announcements list
exim-future@exim.org             Discussion of long-term development
You can subscribe to these lists, change your existing subscriptions, and view or search the archives
via the mailing lists link on the Exim home page. If you are using a Debian distribution of Exim, you
may wish to subscribe to the Debian-specific mailing list pkg-exim4-users@lists.alioth.debian.org via
this web page:
  http://lists.alioth.debian.org/mailman/listinfo/pkg-exim4-users
Please ask Debian-specific questions on this list and not on the general Exim lists.

                                                   2                                  Introduction (1)
1.4 Exim training
Training courses in Cambridge (UK) used to be run annually by the author of Exim, before he retired.
At the time of writing, there are no plans to run further Exim courses in Cambridge. However, if that
changes, relevant information will be posted at http://www-tus.csx.cam.ac.uk/courses/exim/.

1.5 Bug reports
Reports of obvious bugs can be emailed to bugs@exim.org or reported via the Bugzilla
(http://bugs.exim.org). However, if you are unsure whether some behaviour is a bug or not, the best
thing to do is to post a message to the exim-dev mailing list and have it discussed.

1.6 Where to find the Exim distribution
The master ftp site for the Exim distribution is
  ftp://ftp.csx.cam.ac.uk/pub/software/email/exim
This is mirrored by
  ftp://ftp.exim.org/pub/exim
The file references that follow are relative to the exim directories at these sites. There are now quite a
number of independent mirror sites around the world. Those that I know about are listed in the file
called Mirrors.
Within the exim directory there are subdirectories called exim3 (for previous Exim 3 distributions),
exim4 (for the latest Exim 4 distributions), and Testing for testing versions. In the exim4 subdirectory,
the current release can always be found in files called
  exim-n.nn.tar.gz
  exim-n.nn.tar.bz2
where n.nn is the highest such version number in the directory. The two files contain identical data;
the only difference is the type of compression. The .bz2 file is usually a lot smaller than the .gz file.
The distributions are currently signed with Nigel Metheringham’s GPG key. The corresponding pub-
lic key is available from a number of keyservers, and there is also a copy in the file nigel-pubkey.asc.
The signatures for the tar bundles are in:
  exim-n.nn.tar.gz.asc
  exim-n.nn.tar.bz2.asc
For each released version, the log of changes is made separately available in a separate file in the
directory ChangeLogs so that it is possible to find out what has changed without having to download
the entire distribution.
The main distribution contains ASCII versions of this specification and other documentation; other
formats of the documents are available in separate files inside the exim4 directory of the FTP site:
  exim-html-n.nn.tar.gz
  exim-pdf-n.nn.tar.gz
  exim-postscript-n.nn.tar.gz
  exim-texinfo-n.nn.tar.gz
These tar files contain only the doc directory, not the complete distribution, and are also available in
.bz2 as well as .gz forms.

1.7 Limitations
• Exim is designed for use as an Internet MTA, and therefore handles addresses in RFC 2822 domain
  format only. It cannot handle UUCP “bang paths”, though simple two-component bang paths can
  be converted by a straightforward rewriting configuration. This restriction does not prevent Exim
  from being interfaced to UUCP as a transport mechanism, provided that domain addresses are
  used.

                                                   3                                    Introduction (1)
• Exim insists that every address it handles has a domain attached. For incoming local messages,
  domainless addresses are automatically qualified with a configured domain value. Configuration
  options specify from which remote systems unqualified addresses are acceptable. These are then
  qualified on arrival.
• The only external transport mechanisms that are currently implemented are SMTP and LMTP over
  a TCP/IP network (including support for IPv6). However, a pipe transport is available, and there
  are facilities for writing messages to files and pipes, optionally in batched SMTP format; these
  facilities can be used to send messages to other transport mechanisms such as UUCP, provided they
  can handle domain-style addresses. Batched SMTP input is also catered for.
• Exim is not designed for storing mail for dial-in hosts. When the volumes of such mail are large, it
  is better to get the messages “delivered” into files (that is, off Exim’s queue) and subsequently
  passed on to the dial-in hosts by other means.
• Although Exim does have basic facilities for scanning incoming messages, these are not compre-
  hensive enough to do full virus or spam scanning. Such operations are best carried out using
  additional specialized software packages. If you compile Exim with the content-scanning exten-
  sion, straightforward interfaces to a number of common scanners are provided.

1.8 Run time configuration
Exim’s run time configuration is held in a single text file that is divided into a number of sections. The
entries in this file consist of keywords and values, in the style of Smail 3 configuration files. A default
configuration file which is suitable for simple online installations is provided in the distribution, and
is described in chapter 7 below.

1.9 Calling interface
Like many MTAs, Exim has adopted the Sendmail command line interface so that it can be a straight
replacement for /usr/lib/sendmail or /usr/sbin/sendmail when sending mail, but you do not need to
know anything about Sendmail in order to run Exim. For actions other than sending messages,
Sendmail-compatible options also exist, but those that produce output (for example, -bp, which lists
the messages on the queue) do so in Exim’s own format. There are also some additional options that
are compatible with Smail 3, and some further options that are new to Exim. Chapter 5 documents all
Exim’s command line options. This information is automatically made into the man page that forms
part of the Exim distribution.
Control of messages on the queue can be done via certain privileged command line options. There is
also an optional monitor program called eximon, which displays current information in an X window,
and which contains a menu interface to Exim’s command line administration options.

1.10 Terminology
The body of a message is the actual data that the sender wants to transmit. It is the last part of a
message, and is separated from the header (see below) by a blank line.
When a message cannot be delivered, it is normally returned to the sender in a delivery failure
message or a “non-delivery report” (NDR). The term bounce is commonly used for this action, and
the error reports are often called bounce messages. This is a convenient shorthand for “delivery failure
error report”. Such messages have an empty sender address in the message’s envelope (see below) to
ensure that they cannot themselves give rise to further bounce messages.
The term default appears frequently in this manual. It is used to qualify a value which is used in the
absence of any setting in the configuration. It may also qualify an action which is taken unless a
configuration setting specifies otherwise.
The term defer is used when the delivery of a message to a specific destination cannot immediately
take place for some reason (a remote host may be down, or a user’s local mailbox may be full). Such
deliveries are deferred until a later time.

                                                   4                                   Introduction (1)
The word domain is sometimes used to mean all but the first component of a host’s name. It is not
used in that sense here, where it normally refers to the part of an email address following the @ sign.

A message in transit has an associated envelope, as well as a header and a body. The envelope
contains a sender address (to which bounce messages should be delivered), and any number of
recipient addresses. References to the sender or the recipients of a message usually mean the
addresses in the envelope. An MTA uses these addresses for delivery, and for returning bounce
messages, not the addresses that appear in the header lines.

The header of a message is the first part of a message’s text, consisting of a number of lines, each of
which has a name such as From:, To:, Subject:, etc. Long header lines can be split over several text
lines by indenting the continuations. The header is separated from the body by a blank line.

The term local part, which is taken from RFC 2822, is used to refer to that part of an email address
that precedes the @ sign. The part that follows the @ sign is called the domain or mail domain.

The terms local delivery and remote delivery are used to distinguish delivery to a file or a pipe on the
local host from delivery by SMTP over TCP/IP to another host. As far as Exim is concerned, all hosts
other than the host it is running on are remote.

Return path is another name that is used for the sender address in a message’s envelope.

The term queue is used to refer to the set of messages awaiting delivery, because this term is in
widespread use in the context of MTAs. However, in Exim’s case the reality is more like a pool than a
queue, because there is normally no ordering of waiting messages.

The term queue runner is used to describe a process that scans the queue and attempts to deliver those
messages whose retry times have come. This term is used by other MTAs, and also relates to the
command runq, but in Exim the waiting messages are normally processed in an unpredictable order.

The term spool directory is used for a directory in which Exim keeps the messages on its queue – that
is, those that it is in the process of delivering. This should not be confused with the directory in which
local mailboxes are stored, which is called a “spool directory” by some people. In the Exim documen-
tation, “spool” is always used in the first sense.




                                                    5                                    Introduction (1)
2. Incorporated code
A number of pieces of external code are included in the Exim distribution.
• Regular expressions are supported in the main Exim program and in the Exim monitor using the
  freely-distributable PCRE library, copyright © University of Cambridge. The source to PCRE is no
  longer shipped with Exim, so you will need to use the version of PCRE shipped with your system,
  or      obtain     and     install    the     full    version     of     the     library   from
  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre.
• Support for the cdb (Constant DataBase) lookup method is provided by code contributed by Nigel
  Metheringham of (at the time he contributed it) Planet Online Ltd. The implementation is com-
  pletely contained within the code of Exim. It does not link against an external cdb library. The code
  contains the following statements:
        Copyright © 1998 Nigel Metheringham, Planet Online Ltd
        This program is free software; you can redistribute it and/or modify it under the terms of
        the GNU General Public License as published by the Free Software Foundation; either
        version 2 of the License, or (at your option) any later version. This code implements
        Dan Bernstein’s Constant DataBase (cdb) spec. Information, the spec and sample code
        for cdb can be obtained from http://www.pobox.com/~djb/cdb.html. This implemen-
        tation borrows some code from Dan Bernstein’s implementation (which has no license
        restrictions applied to it).
• Client support for Microsoft’s Secure Password Authentication is provided by code contributed by
  Marc Prud’hommeaux. Server support was contributed by Tom Kistner. This includes code taken
  from the Samba project, which is released under the Gnu GPL.
• Support for calling the Cyrus pwcheck and saslauthd daemons is provided by code taken from the
  Cyrus-SASL library and adapted by Alexander S. Sabourenkov. The permission notice appears
  below, in accordance with the conditions expressed therein.
        Copyright © 2001 Carnegie Mellon University. All rights reserved.
        Redistribution and use in source and binary forms, with or without modification, are
        permitted provided that the following conditions are met:
        (1)   Redistributions of source code must retain the above copyright notice, this list of
              conditions and the following disclaimer.
        (2)   Redistributions in binary form must reproduce the above copyright notice, this list
              of conditions and the following disclaimer in the documentation and/or other
              materials provided with the distribution.
        (3)   The name “Carnegie Mellon University” must not be used to endorse or promote
              products derived from this software without prior written permission. For per-
              mission or any other legal details, please contact
                Office of Technology Transfer
                Carnegie Mellon University
                5000 Forbes Avenue
                Pittsburgh, PA 15213-3890
                (412) 268-4387, fax: (412) 268-7395
                tech-transfer@andrew.cmu.edu
        (4)   Redistributions of    any    form    whatsoever    must    retain   the   following
              acknowledgment:
              “This product includes software developed by Computing Services at Carnegie
              Mellon University (http://www.cmu.edu/computing/.”
              CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH
              REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES

                                                  6                               Incorporated code (2)
OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE
             MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR
             CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
             RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
             ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
             ARISING OUT OF OR IN CONNECTION WITH THE USE OR
             PERFORMANCE OF THIS SOFTWARE.

• The Exim Monitor program, which is an X-Window application, includes modified versions of the
  Athena StripChart and TextPop widgets. This code is copyright by DEC and MIT, and their
  permission notice appears below, in accordance with the conditions expressed therein.

       Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts, and
       the Massachusetts Institute of Technology, Cambridge, Massachusetts.

       All Rights Reserved

       Permission to use, copy, modify, and distribute this software and its documentation for
       any purpose and without fee is hereby granted, provided that the above copyright notice
       appear in all copies and that both that copyright notice and this permission notice appear
       in supporting documentation, and that the names of Digital or MIT not be used in
       advertising or publicity pertaining to distribution of the software without specific, writ-
       ten prior permission.

       DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
       SOFTWARE,    INCLUDING      ALL    IMPLIED   WARRANTIES     OF
       MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE
       LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
       ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
       PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
       TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
       OR PERFORMANCE OF THIS SOFTWARE.

• Many people have contributed code fragments, some large, some small, that were not covered by
  any specific licence requirements. It is assumed that the contributors are happy to see their code
  incorporated into Exim under the GPL.




                                                 7                              Incorporated code (2)
3. How Exim receives and delivers mail
3.1 Overall philosophy
Exim is designed to work efficiently on systems that are permanently connected to the Internet and
are handling a general mix of mail. In such circumstances, most messages can be delivered immedi-
ately. Consequently, Exim does not maintain independent queues of messages for specific domains or
hosts, though it does try to send several messages in a single SMTP connection after a host has been
down, and it also maintains per-host retry information.

3.2 Policy control
Policy controls are now an important feature of MTAs that are connected to the Internet. Perhaps their
most important job is to stop MTAs being abused as “open relays” by misguided individuals who
send out vast amounts of unsolicited junk, and want to disguise its source. Exim provides flexible
facilities for specifying policy controls on incoming mail:

• Exim 4 (unlike previous versions of Exim) implements policy controls on incoming mail by means
  of Access Control Lists (ACLs). Each list is a series of statements that may either grant or deny
  access. ACLs can be used at several places in the SMTP dialogue while receiving a message from a
  remote host. However, the most common places are after each RCPT command, and at the very
  end of the message. The sysadmin can specify conditions for accepting or rejecting individual
  recipients or the entire message, respectively, at these two points (see chapter 40). Denial of access
  results in an SMTP error code.

• An ACL is also available for locally generated, non-SMTP messages. In this case, the only avail-
  able actions are to accept or deny the entire message.

• When Exim is compiled with the content-scanning extension, facilities are provided in the ACL
  mechanism for passing the message to external virus and/or spam scanning software. The result of
  such a scan is passed back to the ACL, which can then use it to decide what to do with the
  message.

• When a message has been received, either from a remote host or from the local host, but before the
  final acknowledgment has been sent, a locally supplied C function called local_scan() can be run to
  inspect the message and decide whether to accept it or not (see chapter 42). If the message is
  accepted, the list of recipients can be modified by the function.

• Using the local_scan() mechanism is another way of calling external scanner software. The SA-
  Exim add-on package works this way. It does not require Exim to be compiled with the content-
  scanning extension.

• After a message has been accepted, a further checking mechanism is available in the form of the
  system filter (see chapter 43). This runs at the start of every delivery process.

3.3 User filters
In a conventional Exim configuration, users are able to run private filters by setting up appropriate
.forward files in their home directories. See chapter 22 (about the redirect router) for the configuration
needed to support this, and the separate document entitled Exim’s interfaces to mail filtering for user
details. Two different kinds of filtering are available:
• Sieve filters are written in the standard filtering language that is defined by RFC 3028.
• Exim filters are written in a syntax that is unique to Exim, but which is more powerful than Sieve,
  which it pre-dates.
User filters are run as part of the routing process, described below.

                                                   8                   Receiving and delivering mail (3)
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent
Specification of the Exim Mail Transfer Agent

Más contenido relacionado

La actualidad más candente

Seam reference guide
Seam reference guideSeam reference guide
Seam reference guideathenadinh
 
Advance steel implementation_guide
Advance steel implementation_guideAdvance steel implementation_guide
Advance steel implementation_guidedesevillasoy
 
Introduction to system_administration
Introduction to system_administrationIntroduction to system_administration
Introduction to system_administrationmeoconhs2612
 
C:\Documents And Settings\Junyang8\Desktop\Utap\Blog
C:\Documents And Settings\Junyang8\Desktop\Utap\BlogC:\Documents And Settings\Junyang8\Desktop\Utap\Blog
C:\Documents And Settings\Junyang8\Desktop\Utap\Blogwang wangt
 
The road-to-learn-react
The road-to-learn-reactThe road-to-learn-react
The road-to-learn-reactimdurgesh
 
Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...
Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...
Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...SANTIAGO PABLO ALBERTO
 
Python programming
Python programmingPython programming
Python programmingKeshav Gupta
 
User manual MXSuite ENG 201902
User manual MXSuite ENG 201902User manual MXSuite ENG 201902
User manual MXSuite ENG 201902Mastex Software BV
 
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4Martin Edenström MKSE.com
 
Mx410de ug en
Mx410de ug enMx410de ug en
Mx410de ug enDrake999z
 
UAUT lLibrary SRS dDocument
UAUT lLibrary SRS dDocumentUAUT lLibrary SRS dDocument
UAUT lLibrary SRS dDocumentKimokole
 
Quick testprofessional book_preview
Quick testprofessional book_previewQuick testprofessional book_preview
Quick testprofessional book_previewSaurabh Singh
 

La actualidad más candente (18)

Ateji PX manual
Ateji PX manualAteji PX manual
Ateji PX manual
 
Seam reference guide
Seam reference guideSeam reference guide
Seam reference guide
 
Advance steel implementation_guide
Advance steel implementation_guideAdvance steel implementation_guide
Advance steel implementation_guide
 
Introduction to system_administration
Introduction to system_administrationIntroduction to system_administration
Introduction to system_administration
 
E views 9 command ref
E views 9 command refE views 9 command ref
E views 9 command ref
 
Ozp user guide
Ozp user guideOzp user guide
Ozp user guide
 
C:\Documents And Settings\Junyang8\Desktop\Utap\Blog
C:\Documents And Settings\Junyang8\Desktop\Utap\BlogC:\Documents And Settings\Junyang8\Desktop\Utap\Blog
C:\Documents And Settings\Junyang8\Desktop\Utap\Blog
 
The road-to-learn-react
The road-to-learn-reactThe road-to-learn-react
The road-to-learn-react
 
Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...
Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...
Microcontroladores: Introducción para principiantes al lenguaje ensamblador p...
 
Python programming
Python programmingPython programming
Python programming
 
Oscom23 old
Oscom23 oldOscom23 old
Oscom23 old
 
Icp
IcpIcp
Icp
 
Latex
LatexLatex
Latex
 
User manual MXSuite ENG 201902
User manual MXSuite ENG 201902User manual MXSuite ENG 201902
User manual MXSuite ENG 201902
 
The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4The Total Book Developing Solutions With EPiServer 4
The Total Book Developing Solutions With EPiServer 4
 
Mx410de ug en
Mx410de ug enMx410de ug en
Mx410de ug en
 
UAUT lLibrary SRS dDocument
UAUT lLibrary SRS dDocumentUAUT lLibrary SRS dDocument
UAUT lLibrary SRS dDocument
 
Quick testprofessional book_preview
Quick testprofessional book_previewQuick testprofessional book_preview
Quick testprofessional book_preview
 

Destacado

Проект перспективного плану формування спроможних територіальних громад у Зак...
Проект перспективного плану формування спроможних територіальних громад у Зак...Проект перспективного плану формування спроможних територіальних громад у Зак...
Проект перспективного плану формування спроможних територіальних громад у Зак...Голос Карпат.ІНФО
 
เมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซีย
เมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซียเมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซีย
เมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซียประสาท มีแต้ม
 
LinkedIn Whitepaper: How Sales Teams Can Build Pipeline Faster
LinkedIn Whitepaper: How Sales Teams Can Build Pipeline FasterLinkedIn Whitepaper: How Sales Teams Can Build Pipeline Faster
LinkedIn Whitepaper: How Sales Teams Can Build Pipeline FasterRobert Koehler
 
ความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออก
ความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออกความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออก
ความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออกประสาท มีแต้ม
 
Snm ptoantap diep_thanhnguyen_-chuong3
Snm ptoantap diep_thanhnguyen_-chuong3Snm ptoantap diep_thanhnguyen_-chuong3
Snm ptoantap diep_thanhnguyen_-chuong3anhhaibi
 
The Impact of Social Selling_Aberdeen Group infographic
The Impact of Social Selling_Aberdeen Group infographicThe Impact of Social Selling_Aberdeen Group infographic
The Impact of Social Selling_Aberdeen Group infographicRobert Koehler
 
Hotel presentation dusit thani_pattaya2012
Hotel presentation dusit thani_pattaya2012Hotel presentation dusit thani_pattaya2012
Hotel presentation dusit thani_pattaya2012ArwuthJoe
 
Activation tutorial for LinkedIn Sales Navigator administrators
Activation tutorial for LinkedIn Sales Navigator administratorsActivation tutorial for LinkedIn Sales Navigator administrators
Activation tutorial for LinkedIn Sales Navigator administratorsRobert Koehler
 
Alliance in motion business opportunity presentation
Alliance in motion business opportunity presentationAlliance in motion business opportunity presentation
Alliance in motion business opportunity presentationSamson Aliyu
 
[KOCO]지구촌보기 실전시리즈_Development Education
[KOCO]지구촌보기 실전시리즈_Development Education[KOCO]지구촌보기 실전시리즈_Development Education
[KOCO]지구촌보기 실전시리즈_Development EducationJiyeon Lee
 
LinkedIn with Salesforce
LinkedIn with SalesforceLinkedIn with Salesforce
LinkedIn with SalesforceRobert Koehler
 

Destacado (12)

Проект перспективного плану формування спроможних територіальних громад у Зак...
Проект перспективного плану формування спроможних територіальних громад у Зак...Проект перспективного плану формування спроможних територіальних громад у Зак...
Проект перспективного плану формування спроможних територіальних громад у Зак...
 
เมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซีย
เมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซียเมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซีย
เมื่อข้าพเจ้าเป็นพยานศาลคดีท่อก๊าซไทย-มาเลเซีย
 
LinkedIn Whitepaper: How Sales Teams Can Build Pipeline Faster
LinkedIn Whitepaper: How Sales Teams Can Build Pipeline FasterLinkedIn Whitepaper: How Sales Teams Can Build Pipeline Faster
LinkedIn Whitepaper: How Sales Teams Can Build Pipeline Faster
 
ความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออก
ความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออกความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออก
ความจริงเรื่องไฟฟ้าดับ 14 จังหวัดภาคใต้และทางออก
 
Snm ptoantap diep_thanhnguyen_-chuong3
Snm ptoantap diep_thanhnguyen_-chuong3Snm ptoantap diep_thanhnguyen_-chuong3
Snm ptoantap diep_thanhnguyen_-chuong3
 
The Impact of Social Selling_Aberdeen Group infographic
The Impact of Social Selling_Aberdeen Group infographicThe Impact of Social Selling_Aberdeen Group infographic
The Impact of Social Selling_Aberdeen Group infographic
 
10 facts about autism
10 facts about autism10 facts about autism
10 facts about autism
 
Hotel presentation dusit thani_pattaya2012
Hotel presentation dusit thani_pattaya2012Hotel presentation dusit thani_pattaya2012
Hotel presentation dusit thani_pattaya2012
 
Activation tutorial for LinkedIn Sales Navigator administrators
Activation tutorial for LinkedIn Sales Navigator administratorsActivation tutorial for LinkedIn Sales Navigator administrators
Activation tutorial for LinkedIn Sales Navigator administrators
 
Alliance in motion business opportunity presentation
Alliance in motion business opportunity presentationAlliance in motion business opportunity presentation
Alliance in motion business opportunity presentation
 
[KOCO]지구촌보기 실전시리즈_Development Education
[KOCO]지구촌보기 실전시리즈_Development Education[KOCO]지구촌보기 실전시리즈_Development Education
[KOCO]지구촌보기 실전시리즈_Development Education
 
LinkedIn with Salesforce
LinkedIn with SalesforceLinkedIn with Salesforce
LinkedIn with Salesforce
 

Similar a Specification of the Exim Mail Transfer Agent

BizTalk Practical Course Preview
BizTalk Practical Course PreviewBizTalk Practical Course Preview
BizTalk Practical Course PreviewMoustafaRefaat
 
Hibernate Reference
Hibernate ReferenceHibernate Reference
Hibernate ReferenceSyed Shahul
 
Manual tutorial-spring-java
Manual tutorial-spring-javaManual tutorial-spring-java
Manual tutorial-spring-javasagicar
 
Guia do usuario para interface web do at 8000 s
Guia do usuario para interface web do at 8000 sGuia do usuario para interface web do at 8000 s
Guia do usuario para interface web do at 8000 sNetPlus
 
Spring Reference
Spring ReferenceSpring Reference
Spring ReferenceSyed Shahul
 
spring-security-reference.pdf
spring-security-reference.pdfspring-security-reference.pdf
spring-security-reference.pdfhorica9300
 
X cart 430-manual
X cart 430-manualX cart 430-manual
X cart 430-manualmadtgw
 
System administration guide
System administration guideSystem administration guide
System administration guidemeoconhs2612
 
Rails Cookbook
Rails CookbookRails Cookbook
Rails Cookbookjonkinney
 
Castor Reference Guide 1 3 1
Castor Reference Guide 1 3 1Castor Reference Guide 1 3 1
Castor Reference Guide 1 3 1paripelly
 
Uni cambridge
Uni cambridgeUni cambridge
Uni cambridgeN/A
 
Tellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideTellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideJohn.Jian.Fang
 
60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questionsRavic Kumar
 
Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...
Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...
Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...ENVIMART
 
Mysql tutorial-excerpt-5.1-en
Mysql tutorial-excerpt-5.1-enMysql tutorial-excerpt-5.1-en
Mysql tutorial-excerpt-5.1-enRifky Rachman
 

Similar a Specification of the Exim Mail Transfer Agent (20)

BizTalk Practical Course Preview
BizTalk Practical Course PreviewBizTalk Practical Course Preview
BizTalk Practical Course Preview
 
Hibernate Reference
Hibernate ReferenceHibernate Reference
Hibernate Reference
 
Manual tutorial-spring-java
Manual tutorial-spring-javaManual tutorial-spring-java
Manual tutorial-spring-java
 
Guia do usuario para interface web do at 8000 s
Guia do usuario para interface web do at 8000 sGuia do usuario para interface web do at 8000 s
Guia do usuario para interface web do at 8000 s
 
Hibernate Reference
Hibernate ReferenceHibernate Reference
Hibernate Reference
 
Spring Reference
Spring ReferenceSpring Reference
Spring Reference
 
spring-security-reference.pdf
spring-security-reference.pdfspring-security-reference.pdf
spring-security-reference.pdf
 
X cart 430-manual
X cart 430-manualX cart 430-manual
X cart 430-manual
 
Hibernate reference
Hibernate referenceHibernate reference
Hibernate reference
 
Lesson 1...Guide
Lesson 1...GuideLesson 1...Guide
Lesson 1...Guide
 
System administration guide
System administration guideSystem administration guide
System administration guide
 
Rails Cookbook
Rails CookbookRails Cookbook
Rails Cookbook
 
Castor Reference Guide 1 3 1
Castor Reference Guide 1 3 1Castor Reference Guide 1 3 1
Castor Reference Guide 1 3 1
 
Uni cambridge
Uni cambridgeUni cambridge
Uni cambridge
 
Drools expert-docs
Drools expert-docsDrools expert-docs
Drools expert-docs
 
Tellurium 0.6.0 User Guide
Tellurium 0.6.0 User GuideTellurium 0.6.0 User Guide
Tellurium 0.6.0 User Guide
 
60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions60950106 basis-latest-till-interview-questions
60950106 basis-latest-till-interview-questions
 
Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...
Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...
Dynasonics is 6000 manual badger meter-doppler stationary area velocity flow ...
 
LSI_SAS2008_Manual_v100.pdf
LSI_SAS2008_Manual_v100.pdfLSI_SAS2008_Manual_v100.pdf
LSI_SAS2008_Manual_v100.pdf
 
Mysql tutorial-excerpt-5.1-en
Mysql tutorial-excerpt-5.1-enMysql tutorial-excerpt-5.1-en
Mysql tutorial-excerpt-5.1-en
 

Más de anhhaibi

Zimbra mailserver-features
Zimbra mailserver-featuresZimbra mailserver-features
Zimbra mailserver-featuresanhhaibi
 
Whatsnew 10.4
Whatsnew 10.4Whatsnew 10.4
Whatsnew 10.4anhhaibi
 
Snm ptoantap diep_thanhnguyen_-chuong2
Snm ptoantap diep_thanhnguyen_-chuong2Snm ptoantap diep_thanhnguyen_-chuong2
Snm ptoantap diep_thanhnguyen_-chuong2anhhaibi
 
Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1anhhaibi
 
Noi dung phuong phap effortless english
Noi dung phuong phap effortless englishNoi dung phuong phap effortless english
Noi dung phuong phap effortless englishanhhaibi
 
Gioi thieu-chung-ao-hoa
Gioi thieu-chung-ao-hoaGioi thieu-chung-ao-hoa
Gioi thieu-chung-ao-hoaanhhaibi
 
Athena chong spam e mail
Athena chong spam e mailAthena chong spam e mail
Athena chong spam e mailanhhaibi
 
Zcs feature list
Zcs feature listZcs feature list
Zcs feature listanhhaibi
 

Más de anhhaibi (9)

Zimbra mailserver-features
Zimbra mailserver-featuresZimbra mailserver-features
Zimbra mailserver-features
 
Whatsnew 10.4
Whatsnew 10.4Whatsnew 10.4
Whatsnew 10.4
 
Snm ptoantap diep_thanhnguyen_-chuong2
Snm ptoantap diep_thanhnguyen_-chuong2Snm ptoantap diep_thanhnguyen_-chuong2
Snm ptoantap diep_thanhnguyen_-chuong2
 
Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1Snm ptoantap diep_thanhnguyen_-chuong1
Snm ptoantap diep_thanhnguyen_-chuong1
 
Noi dung phuong phap effortless english
Noi dung phuong phap effortless englishNoi dung phuong phap effortless english
Noi dung phuong phap effortless english
 
Mr admin
Mr adminMr admin
Mr admin
 
Gioi thieu-chung-ao-hoa
Gioi thieu-chung-ao-hoaGioi thieu-chung-ao-hoa
Gioi thieu-chung-ao-hoa
 
Athena chong spam e mail
Athena chong spam e mailAthena chong spam e mail
Athena chong spam e mail
 
Zcs feature list
Zcs feature listZcs feature list
Zcs feature list
 

Último

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Specification of the Exim Mail Transfer Agent

  • 1. Specification of the Exim Mail Transfer Agent Exim Maintainers
  • 2. Specification of the Exim Mail Transfer Agent Author: Exim Maintainers Copyright © 2009 University of Cambridge Revision 4.73 19 Nov 2010
  • 3. 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 The building process ......................................................................................................... 21 4.11 Output from “make” ........................................................................................................... 21 4.12 Overriding build-time options for Exim ............................................................................ 21 4.13 OS-specific header files .................................................................................................... 23 4.14 Overriding build-time options for the monitor ................................................................ 23 4.15 Installing Exim binaries and scripts ................................................................................. 23 4.16 Installing info documentation ........................................................................................... 24 4.17 Setting up the spool directory .......................................................................................... 25 4.18 Testing ................................................................................................................................. 25 iii
  • 4. 4.19 Replacing another MTA with Exim .................................................................................. 26 4.20 Upgrading Exim .................................................................................................................. 26 4.21 Stopping the Exim daemon on Solaris ........................................................................... 26 5. The Exim command line ......................................................................................................... 27 5.1 Setting options by program name ...................................................................................... 27 5.2 Trusted and admin users .................................................................................................... 27 5.3 Command line options ........................................................................................................ 28 6. The Exim run time configuration file ................................................................................... 49 6.1 Using a different configuration file ..................................................................................... 49 6.2 Configuration file format ...................................................................................................... 50 6.3 File inclusions in the configuration file .............................................................................. 51 6.4 Macros in the configuration file .......................................................................................... 51 6.5 Macro substitution ................................................................................................................ 51 6.6 Redefining macros ............................................................................................................... 52 6.7 Overriding macro values ..................................................................................................... 52 6.8 Example of macro usage .................................................................................................... 52 6.9 Conditional skips in the configuration file ......................................................................... 52 6.10 Common option syntax ..................................................................................................... 53 6.11 Boolean options ................................................................................................................. 53 6.12 Integer values ..................................................................................................................... 53 6.13 Octal integer values ........................................................................................................... 53 6.14 Fixed point numbers .......................................................................................................... 54 6.15 Time intervals ..................................................................................................................... 54 6.16 String values ....................................................................................................................... 54 6.17 Expanded strings ............................................................................................................... 54 6.18 User and group names ..................................................................................................... 55 6.19 List construction ................................................................................................................. 55 6.20 Changing list separators ................................................................................................... 55 6.21 Empty items in lists ............................................................................................................ 55 6.22 Format of driver configurations ........................................................................................ 56 7. The default configuration file ................................................................................................ 58 7.1 Main configuration settings ................................................................................................. 58 7.2 ACL configuration ................................................................................................................. 60 7.3 Router configuration ............................................................................................................ 63 7.4 Transport configuration ........................................................................................................ 66 7.5 Default retry rule ................................................................................................................... 66 7.6 Rewriting configuration ........................................................................................................ 67 7.7 Authenticators configuration ............................................................................................... 67 8. Regular expressions ................................................................................................................ 68 9. File and database lookups ..................................................................................................... 69 9.1 Examples of different lookup syntax ................................................................................. 69 9.2 Lookup types ........................................................................................................................ 69 9.3 Single-key lookup types ...................................................................................................... 70 9.4 Query-style lookup types .................................................................................................... 72 9.5 Temporary errors in lookups ............................................................................................... 73 9.6 Default values in single-key lookups ................................................................................. 73 9.7 Partial matching in single-key lookups .............................................................................. 74 9.8 Lookup caching .................................................................................................................... 75 9.9 Quoting lookup data ............................................................................................................ 75 iv
  • 5. 9.10 More about dnsdb .............................................................................................................. 75 9.11 Pseudo dnsdb record types ............................................................................................. 76 9.12 Multiple dnsdb lookups ..................................................................................................... 77 9.13 More about LDAP .............................................................................................................. 77 9.14 Format of LDAP queries ................................................................................................... 78 9.15 LDAP quoting ...................................................................................................................... 78 9.16 LDAP connections ............................................................................................................. 79 9.17 LDAP authentication and control information ................................................................ 80 9.18 Format of data returned by LDAP ................................................................................... 81 9.19 More about NIS+ ................................................................................................................ 81 9.20 SQL lookups ....................................................................................................................... 82 9.21 More about MySQL, PostgreSQL, Oracle, and InterBase ........................................... 82 9.22 Specifying the server in the query ................................................................................... 83 9.23 Special MySQL features ................................................................................................... 83 9.24 Special PostgreSQL features ........................................................................................... 83 9.25 More about SQLite ............................................................................................................ 84 10. Domain, host, address, and local part lists .................................................................... 85 10.1 Expansion of lists ............................................................................................................... 85 10.2 Negated items in lists ........................................................................................................ 85 10.3 File names in lists .............................................................................................................. 85 10.4 An lsearch file is not an out-of-line list ............................................................................ 86 10.5 Named lists ......................................................................................................................... 86 10.6 Named lists compared with macros ................................................................................ 87 10.7 Named list caching ............................................................................................................ 87 10.8 Domain lists ........................................................................................................................ 88 10.9 Host lists .............................................................................................................................. 90 10.10 Special host list patterns ................................................................................................ 90 10.11 Host list patterns that match by IP address ................................................................. 90 10.12 Host list patterns for single-key lookups by host address ......................................... 91 10.13 Host list patterns that match by host name ................................................................. 92 10.14 Behaviour when an IP address or name cannot be found ........................................ 93 10.15 Temporary DNS errors when looking up host information ........................................ 93 10.16 Host list patterns for single-key lookups by host name ............................................. 93 10.17 Host list patterns for query-style lookups ..................................................................... 94 10.18 Mixing wildcarded host names and addresses in host lists ...................................... 94 10.19 Address lists ..................................................................................................................... 94 10.20 Case of letters in address lists ...................................................................................... 97 10.21 Local part lists .................................................................................................................. 97 11. String expansions .................................................................................................................. 98 11.1 Literal text in expanded strings ........................................................................................ 98 11.2 Character escape sequences in expanded strings ...................................................... 98 11.3 Testing string expansions ................................................................................................. 98 11.4 Forced expansion failure ................................................................................................... 99 11.5 Expansion items ................................................................................................................. 99 11.6 Expansion operators ....................................................................................................... 108 11.7 Expansion conditions ...................................................................................................... 113 11.8 Combining expansion conditions .................................................................................. 119 11.9 Expansion variables ........................................................................................................ 119 12. Embedded Perl ...................................................................................................................... 135 12.1 Setting up so Perl can be used ..................................................................................... 135 12.2 Calling Perl subroutines .................................................................................................. 135 12.3 Calling Exim functions from Perl ................................................................................... 136 v
  • 6. 12.4 Use of standard output and error by Perl ..................................................................... 136 13. Starting the daemon and the use of network interfaces ........................................... 137 13.1 Starting a listening daemon ........................................................................................... 137 13.2 Special IP listening addresses ...................................................................................... 138 13.3 Overriding local_interfaces and daemon_smtp_ports ............................................... 138 13.4 Support for the obsolete SSMTP (or SMTPS) protocol ............................................. 138 13.5 IPv6 address scopes ....................................................................................................... 139 13.6 Disabling IPv6 .................................................................................................................. 139 13.7 Examples of starting a listening daemon ..................................................................... 139 13.8 Recognizing the local host ............................................................................................. 140 13.9 Delivering to a remote host ............................................................................................ 140 14. Main configuration ............................................................................................................... 141 14.1 Miscellaneous .................................................................................................................. 141 14.2 Exim parameters .............................................................................................................. 141 14.3 Privilege controls ............................................................................................................. 141 14.4 Logging .............................................................................................................................. 141 14.5 Frozen messages ............................................................................................................ 142 14.6 Data lookups .................................................................................................................... 142 14.7 Message ids ..................................................................................................................... 142 14.8 Embedded Perl Startup .................................................................................................. 142 14.9 Daemon ............................................................................................................................. 142 14.10 Resource control ........................................................................................................... 142 14.11 Policy controls ................................................................................................................ 143 14.12 Callout cache ................................................................................................................. 144 14.13 TLS .................................................................................................................................. 144 14.14 Local user handling ....................................................................................................... 144 14.15 All incoming messages (SMTP and non-SMTP) ...................................................... 144 14.16 Non-SMTP incoming messages ................................................................................. 144 14.17 Incoming SMTP messages .......................................................................................... 144 14.18 SMTP extensions .......................................................................................................... 145 14.19 Processing messages .................................................................................................. 145 14.20 System filter .................................................................................................................... 146 14.21 Routing and delivery ..................................................................................................... 146 14.22 Bounce and warning messages .................................................................................. 146 14.23 Alphabetical list of main options .................................................................................. 146 15. Generic options for routers ............................................................................................... 187 16. The accept router ................................................................................................................. 200 17. The dnslookup router ......................................................................................................... 201 17.1 Problems with DNS lookups .......................................................................................... 201 17.2 Private options for dnslookup ........................................................................................ 201 17.3 Effect of qualify_single and search_parents ............................................................... 203 18. The ipliteral router ............................................................................................................... 205 19. The iplookup router ............................................................................................................. 206 20. The manualroute router ...................................................................................................... 208 20.1 Private options for manualroute .................................................................................... 208 20.2 Routing rules in route_list ............................................................................................... 209 vi
  • 7. 20.3 Routing rules in route_data ............................................................................................ 210 20.4 Format of the list of hosts ............................................................................................... 210 20.5 Format of one host item .................................................................................................. 211 20.6 How the list of hosts is used .......................................................................................... 211 20.7 How the options are used ............................................................................................... 212 20.8 Manualroute examples .................................................................................................... 212 21. The queryprogram router ................................................................................................... 215 22. The redirect router ............................................................................................................... 217 22.1 Redirection data ............................................................................................................... 217 22.2 Forward files and address verification .......................................................................... 217 22.3 Interpreting redirection data ........................................................................................... 218 22.4 Items in a non-filter redirection list ................................................................................ 218 22.5 Redirecting to a local mailbox ........................................................................................ 218 22.6 Special items in redirection lists .................................................................................... 219 22.7 Duplicate addresses ........................................................................................................ 221 22.8 Repeated redirection expansion ................................................................................... 221 22.9 Errors in redirection lists ................................................................................................. 221 22.10 Private options for the redirect router ......................................................................... 221 23. Environment for running local transports ..................................................................... 229 23.1 Concurrent deliveries ...................................................................................................... 229 23.2 Uids and gids .................................................................................................................... 229 23.3 Current and home directories ........................................................................................ 230 23.4 Expansion variables derived from the address ........................................................... 230 24. Generic options for transports ......................................................................................... 231 25. Address batching in local transports ............................................................................. 237 26. The appendfile transport .................................................................................................... 239 26.1 The file and directory options ........................................................................................ 239 26.2 Private options for appendfile ........................................................................................ 240 26.3 Operational details for appending ................................................................................. 249 26.4 Operational details for delivery to a new file ................................................................ 251 26.5 Maildir delivery ................................................................................................................. 251 26.6 Using tags to record message sizes ............................................................................. 252 26.7 Using a maildirsize file .................................................................................................... 252 26.8 Mailstore delivery ............................................................................................................. 253 26.9 Non-special new file delivery ......................................................................................... 253 27. The autoreply transport ...................................................................................................... 254 27.1 Private options for autoreply .......................................................................................... 254 28. The lmtp transport ............................................................................................................... 257 29. The pipe transport ............................................................................................................... 259 29.1 Concurrent delivery ......................................................................................................... 259 29.2 Returned status and data ............................................................................................... 259 29.3 How the command is run ................................................................................................ 260 29.4 Environment variables .................................................................................................... 260 29.5 Private options for pipe ................................................................................................... 261 vii
  • 8. 29.6 Using an external local delivery agent ......................................................................... 265 30. The smtp transport .............................................................................................................. 267 30.1 Multiple messages on a single connection .................................................................. 267 30.2 Use of the $host and $host_address variables ........................................................... 267 30.3 Use of $tls_cipher and $tls_peerdn .............................................................................. 267 30.4 Private options for smtp .................................................................................................. 267 30.5 How the limits for the number of hosts to try are used .............................................. 275 31. Address rewriting ................................................................................................................. 277 31.1 Explicitly configured address rewriting ......................................................................... 277 31.2 When does rewriting happen? ....................................................................................... 277 31.3 Testing the rewriting rules that apply on input ............................................................. 278 31.4 Rewriting rules ................................................................................................................. 278 31.5 Rewriting patterns ............................................................................................................ 279 31.6 Rewriting replacements .................................................................................................. 280 31.7 Rewriting flags .................................................................................................................. 280 31.8 Flags specifying which headers and envelope addresses to rewrite ...................... 280 31.9 The SMTP-time rewriting flag ........................................................................................ 280 31.10 Flags controlling the rewriting process ...................................................................... 281 31.11 Rewriting examples ....................................................................................................... 281 32. Retry configuration .............................................................................................................. 283 32.1 Changing retry rules ........................................................................................................ 283 32.2 Format of retry rules ........................................................................................................ 283 32.3 Choosing which retry rule to use for address errors .................................................. 284 32.4 Choosing which retry rule to use for host and message errors ................................ 284 32.5 Retry rules for specific errors ......................................................................................... 285 32.6 Retry rules for specified senders .................................................................................. 286 32.7 Retry parameters ............................................................................................................. 287 32.8 Retry rule examples ........................................................................................................ 287 32.9 Timeout of retry data ....................................................................................................... 288 32.10 Long-term failures ......................................................................................................... 288 32.11 Deliveries that work intermittently ............................................................................... 289 33. SMTP authentication ........................................................................................................... 290 33.1 Generic options for authenticators ................................................................................ 291 33.2 The AUTH parameter on MAIL commands ................................................................. 292 33.3 Authentication on an Exim server ................................................................................. 293 33.4 Testing server authentication ......................................................................................... 294 33.5 Authentication by an Exim client ................................................................................... 294 34. The plaintext authenticator ............................................................................................... 296 34.1 Plaintext options ............................................................................................................... 296 34.2 Using plaintext in a server .............................................................................................. 296 34.3 The PLAIN authentication mechanism ......................................................................... 296 34.4 The LOGIN authentication mechanism ........................................................................ 297 34.5 Support for different kinds of authentication ................................................................ 298 34.6 Using plaintext in a client ................................................................................................ 298 35. The cram_md5 authenticator ............................................................................................ 300 35.1 Using cram_md5 as a server ......................................................................................... 300 viii
  • 9. 35.2 Using cram_md5 as a client ........................................................................................... 300 36. The cyrus_sasl authenticator ........................................................................................... 302 36.1 Using cyrus_sasl as a server ......................................................................................... 302 37. The dovecot authenticator ................................................................................................. 304 38. The spa authenticator ......................................................................................................... 305 38.1 Using spa as a server ..................................................................................................... 305 38.2 Using spa as a client ....................................................................................................... 305 39. Encrypted SMTP connections using TLS/SSL ............................................................. 307 39.1 Support for the legacy “ssmtp” (aka “smtps”) protocol .............................................. 307 39.2 OpenSSL vs GnuTLS ..................................................................................................... 307 39.3 GnuTLS parameter computation ................................................................................... 308 39.4 Requiring specific ciphers in OpenSSL ........................................................................ 308 39.5 Requiring specific ciphers or other parameters in GnuTLS ...................................... 309 39.6 Configuring an Exim server to use TLS ....................................................................... 310 39.7 Requesting and verifying client certificates ................................................................. 311 39.8 Revoked certificates ........................................................................................................ 312 39.9 Configuring an Exim client to use TLS ......................................................................... 312 39.10 Multiple messages on the same encrypted TCP/IP connection ............................ 312 39.11 Certificates and all that ................................................................................................. 313 39.12 Certificate chains ........................................................................................................... 313 39.13 Self-signed certificates ................................................................................................. 313 40. Access control lists ............................................................................................................. 315 40.1 Testing ACLs .................................................................................................................... 315 40.2 Specifying when ACLs are used ................................................................................... 315 40.3 The non-SMTP ACLs ...................................................................................................... 316 40.4 The SMTP connect ACL ................................................................................................. 316 40.5 The EHLO/HELO ACL .................................................................................................... 316 40.6 The DATA ACLs ................................................................................................................ 316 40.7 The SMTP DKIM ACL ..................................................................................................... 317 40.8 The SMTP MIME ACL .................................................................................................... 317 40.9 The QUIT ACL .................................................................................................................. 317 40.10 The not-QUIT ACL ........................................................................................................ 317 40.11 Finding an ACL to use .................................................................................................. 318 40.12 ACL return codes .......................................................................................................... 318 40.13 Unset ACL options ........................................................................................................ 319 40.14 Data for message ACLs ............................................................................................... 319 40.15 Data for non-message ACLs ....................................................................................... 319 40.16 Format of an ACL .......................................................................................................... 320 40.17 ACL verbs ....................................................................................................................... 320 40.18 ACL variables ................................................................................................................. 322 40.19 Condition and modifier processing ............................................................................. 322 40.20 ACL modifiers ................................................................................................................. 323 40.21 Use of the control modifier ........................................................................................... 327 40.22 Summary of message fixup control ............................................................................ 330 40.23 Adding header lines in ACLs ....................................................................................... 330 40.24 ACL conditions ............................................................................................................... 331 40.25 Using DNS lists .............................................................................................................. 335 40.26 Specifying the IP address for a DNS list lookup ....................................................... 336 40.27 DNS lists keyed on domain names ............................................................................. 336 ix
  • 10. 40.28 Multiple explicit keys for a DNS list ............................................................................. 336 40.29 Data returned by DNS lists .......................................................................................... 337 40.30 Variables set from DNS lists ........................................................................................ 337 40.31 Additional matching conditions for DNS lists ............................................................ 338 40.32 Negated DNS matching conditions ............................................................................ 338 40.33 Handling multiple DNS records from a DNS list ....................................................... 339 40.34 Detailed information from merged DNS lists ............................................................. 340 40.35 DNS lists and IPv6 ........................................................................................................ 340 40.36 Rate limiting incoming messages ............................................................................... 341 40.37 Ratelimit options for what is being measured ........................................................... 342 40.38 Ratelimit options for handling fast clients .................................................................. 342 40.39 Using rate limiting .......................................................................................................... 342 40.40 Reading ratelimit data without updating .................................................................... 343 40.41 Address verification ....................................................................................................... 344 40.42 Callout verification ......................................................................................................... 344 40.43 Additional parameters for callouts .............................................................................. 345 40.44 Callout caching .............................................................................................................. 347 40.45 Sender address verification reporting ........................................................................ 348 40.46 Redirection while verifying ........................................................................................... 348 40.47 Client SMTP authorization (CSA) ............................................................................... 349 40.48 Bounce address tag validation .................................................................................... 350 40.49 Using an ACL to control relaying ................................................................................ 351 40.50 Checking a relay configuration .................................................................................... 352 41. Content scanning at ACL time .......................................................................................... 353 41.1 Scanning for viruses ........................................................................................................ 353 41.2 Scanning with SpamAssassin ....................................................................................... 356 41.3 Calling SpamAssassin from an Exim ACL ................................................................... 357 41.4 Scanning MIME parts ..................................................................................................... 358 41.5 Scanning with regular expressions ............................................................................... 360 41.6 The demime condition .................................................................................................... 361 42. Adding a local scan function to Exim ............................................................................. 363 42.1 Building Exim to use a local scan function .................................................................. 363 42.2 API for local_scan() ......................................................................................................... 363 42.3 Configuration options for local_scan() .......................................................................... 364 42.4 Available Exim variables ................................................................................................. 365 42.5 Structure of header lines ................................................................................................ 367 42.6 Structure of recipient items ............................................................................................ 367 42.7 Available Exim functions ................................................................................................. 368 42.8 More about Exim’s memory handling ........................................................................... 372 43. System-wide message filtering ........................................................................................ 373 43.1 Specifying a system filter ................................................................................................ 373 43.2 Testing a system filter ..................................................................................................... 373 43.3 Contents of a system filter .............................................................................................. 373 43.4 Additional variable for system filters ............................................................................. 374 43.5 Defer, freeze, and fail commands for system filters ................................................... 374 43.6 Adding and removing headers in a system filter ......................................................... 375 43.7 Setting an errors address in a system filter ................................................................. 375 43.8 Per-address filtering ........................................................................................................ 376 44. Message processing ........................................................................................................... 377 44.1 Submission mode for non-local messages .................................................................. 377 x
  • 11. 44.2 Line endings ..................................................................................................................... 378 44.3 Unqualified addresses .................................................................................................... 378 44.4 The UUCP From line ....................................................................................................... 379 44.5 Resent- header lines ....................................................................................................... 379 44.6 The Auto-Submitted: header line .................................................................................. 380 44.7 The Bcc: header line ....................................................................................................... 380 44.8 The Date: header line ..................................................................................................... 380 44.9 The Delivery-date: header line ...................................................................................... 380 44.10 The Envelope-to: header line ...................................................................................... 380 44.11 The From: header line .................................................................................................. 380 44.12 The Message-ID: header line ...................................................................................... 381 44.13 The Received: header line ........................................................................................... 381 44.14 The References: header line ....................................................................................... 381 44.15 The Return-path: header line ...................................................................................... 381 44.16 The Sender: header line ............................................................................................... 381 44.17 Adding and removing header lines in routers and transports ................................ 382 44.18 Constructed addresses ................................................................................................ 383 44.19 Case of local parts ........................................................................................................ 383 44.20 Dots in local parts .......................................................................................................... 384 44.21 Rewriting addresses ..................................................................................................... 384 45. SMTP processing ................................................................................................................. 385 45.1 Outgoing SMTP and LMTP over TCP/IP ..................................................................... 385 45.2 Errors in outgoing SMTP ................................................................................................ 386 45.3 Incoming SMTP messages over TCP/IP ..................................................................... 387 45.4 Unrecognized SMTP commands .................................................................................. 389 45.5 Syntax and protocol errors in SMTP commands ........................................................ 389 45.6 Use of non-mail SMTP commands ............................................................................... 389 45.7 The VRFY and EXPN commands ................................................................................. 389 45.8 The ETRN command ...................................................................................................... 389 45.9 Incoming local SMTP ...................................................................................................... 390 45.10 Outgoing batched SMTP .............................................................................................. 390 45.11 Incoming batched SMTP .............................................................................................. 391 46. Customizing bounce and warning messages .............................................................. 392 46.1 Customizing bounce messages .................................................................................... 392 46.2 Customizing warning messages ................................................................................... 393 47. Some common configuration settings ........................................................................... 394 47.1 Sending mail to a smart host ......................................................................................... 394 47.2 Using Exim to handle mailing lists ................................................................................ 394 47.3 Syntax errors in mailing lists .......................................................................................... 394 47.4 Re-expansion of mailing lists ......................................................................................... 395 47.5 Closed mailing lists .......................................................................................................... 395 47.6 Variable Envelope Return Paths (VERP) ..................................................................... 396 47.7 Virtual domains ................................................................................................................ 397 47.8 Multiple user mailboxes .................................................................................................. 398 47.9 Simplified vacation processing ...................................................................................... 399 47.10 Taking copies of mail ..................................................................................................... 399 47.11 Intermittently connected hosts .................................................................................... 399 47.12 Exim on the upstream server host .............................................................................. 399 47.13 Exim on the intermittently connected client host ...................................................... 400 48. Using Exim as a non-queueing client ............................................................................. 401 xi
  • 12. 49. Log files .................................................................................................................................. 403 49.1 Where the logs are written ............................................................................................. 403 49.2 Logging to local files that are periodically “cycled” ..................................................... 404 49.3 Datestamped log files ..................................................................................................... 404 49.4 Logging to syslog ............................................................................................................. 405 49.5 Log line flags .................................................................................................................... 406 49.6 Logging message reception ........................................................................................... 406 49.7 Logging deliveries ............................................................................................................ 407 49.8 Discarded deliveries ........................................................................................................ 408 49.9 Deferred deliveries .......................................................................................................... 408 49.10 Delivery failures ............................................................................................................. 408 49.11 Fake deliveries ............................................................................................................... 408 49.12 Completion ..................................................................................................................... 408 49.13 Summary of Fields in Log Lines ................................................................................. 409 49.14 Other log entries ............................................................................................................ 409 49.15 Reducing or increasing what is logged ...................................................................... 410 49.16 Message log ................................................................................................................... 413 50. Exim utilities .......................................................................................................................... 415 50.1 Finding out what Exim processes are doing (exiwhat) .............................................. 415 50.2 Selective queue listing (exiqgrep) ................................................................................. 415 50.3 Summarizing the queue (exiqsumm) ............................................................................ 416 50.4 Extracting specific information from the log (exigrep) ................................................ 417 50.5 Selecting messages by various criteria (exipick) ........................................................ 417 50.6 Cycling log files (exicyclog) ............................................................................................ 417 50.7 Mail statistics (eximstats) ............................................................................................... 418 50.8 Checking access policy (exim_checkaccess) ............................................................. 419 50.9 Making DBM files (exim_dbmbuild) .............................................................................. 419 50.10 Finding individual retry times (exinext) ....................................................................... 420 50.11 Hints database maintenance ....................................................................................... 420 50.12 exim_dumpdb ................................................................................................................. 420 50.13 exim_tidydb .................................................................................................................... 421 50.14 exim_fixdb ....................................................................................................................... 421 50.15 Mailbox maintenance (exim_lock) ............................................................................... 422 51. The Exim monitor ................................................................................................................. 424 51.1 Running the monitor ........................................................................................................ 424 51.2 The stripcharts ................................................................................................................. 424 51.3 Main action buttons ......................................................................................................... 425 51.4 The log display ................................................................................................................. 425 51.5 The queue display ........................................................................................................... 426 51.6 The queue menu .............................................................................................................. 426 52. Security considerations ..................................................................................................... 428 52.1 Building a more “hardened” Exim ................................................................................. 428 52.2 Root privilege ................................................................................................................... 428 52.3 Running Exim without privilege ..................................................................................... 430 52.4 Delivering to local files .................................................................................................... 431 52.5 IPv4 source routing ......................................................................................................... 431 52.6 The VRFY, EXPN, and ETRN commands in SMTP ................................................... 431 52.7 Privileged users ............................................................................................................... 431 52.8 Spool files ......................................................................................................................... 431 52.9 Use of argv[0] ................................................................................................................... 432 52.10 Use of %f formatting ..................................................................................................... 432 xii
  • 13. 52.11 Embedded Exim path ................................................................................................... 432 52.12 Use of sprintf() ............................................................................................................... 432 52.13 Use of debug_printf() and log_write() ........................................................................ 432 52.14 Use of strcat() and strcpy() .......................................................................................... 432 53. Format of spool files ........................................................................................................... 433 53.1 Format of the -H file ......................................................................................................... 433 54. Support for DKIM (DomainKeys Identified Mail) - RFC4871 ..................................... 438 54.1 Signing outgoing messages ........................................................................................... 438 54.2 Verifying DKIM signatures in incoming mail ................................................................ 439 55. Adding new drivers or lookup types ............................................................................... 442 Options index ................................................................................................................................ 443 Variables index ............................................................................................................................. 449 Concept index ............................................................................................................................... 451 xiii
  • 14.
  • 15. 1. Introduction Exim is a mail transfer agent (MTA) for hosts that are running Unix or Unix-like operating systems. It was designed on the assumption that it would be run on hosts that are permanently connected to the Internet. However, it can be used on intermittently connected hosts with suitable configuration adjustments. Configuration files currently exist for the following operating systems: AIX, BSD/OS (aka BSDI), Darwin (Mac OS X), DGUX, Dragonfly, FreeBSD, GNU/Hurd, GNU/Linux, HI-OSF (Hitachi), HI- UX, HP-UX, IRIX, MIPS RISCOS, NetBSD, OpenBSD, OpenUNIX, QNX, SCO, SCO SVR4.2 (aka UNIX-SV), Solaris (aka SunOS5), SunOS4, Tru64-Unix (formerly Digital UNIX, formerly DEC- OSF1), Ultrix, and Unixware. Some of these operating systems are no longer current and cannot easily be tested, so the configuration files may no longer work in practice. There are also configuration files for compiling Exim in the Cygwin environment that can be installed on systems running Windows. However, this document does not contain any information about run- ning Exim in the Cygwin environment. The terms and conditions for the use and distribution of Exim are contained in the file NOTICE. Exim is distributed under the terms of the GNU General Public Licence, a copy of which may be found in the file LICENCE. The use, supply or promotion of Exim for the purpose of sending bulk, unsolicited electronic mail is incompatible with the basic aims of the program, which revolve around the free provision of a service that enhances the quality of personal communications. The author of Exim regards indiscriminate mass-mailing as an antisocial, irresponsible abuse of the Internet. Exim owes a great deal to Smail 3 and its author, Ron Karr. Without the experience of running and working on the Smail 3 code, I could never have contemplated starting to write a new MTA. Many of the ideas and user interfaces were originally taken from Smail 3, though the actual code of Exim is entirely new, and has developed far beyond the initial concept. Many people, both in Cambridge and around the world, have contributed to the development and the testing of Exim, and to porting it to various operating systems. I am grateful to them all. The distribution now contains a file called ACKNOWLEDGMENTS, in which I have started recording the names of contributors. 1.1 Exim documentation This edition of the Exim specification applies to version 4.73 of Exim. Substantive changes from the 4.72 edition are marked in some renditions of the document; this paragraph is so marked if the rendition is capable of showing a change indicator. This document is very much a reference manual; it is not a tutorial. The reader is expected to have some familiarity with the SMTP mail transfer protocol and with general Unix system administration. Although there are some discussions and examples in places, the information is mostly organized in a way that makes it easy to look up, rather than in a natural order for sequential reading. Furthermore, the manual aims to cover every aspect of Exim in detail, including a number of rarely-used, special- purpose features that are unlikely to be of very wide interest. An “easier” discussion of Exim which provides more in-depth explanatory, introductory, and tutorial material can be found in a book entitled The Exim SMTP Mail Server (second edition, 2007), pub- lished by UIT Cambridge (http://www.uit.co.uk/exim-book/). This book also contains a chapter that gives a general introduction to SMTP and Internet mail. Inevitably, however, the book is unlikely to be fully up-to-date with the latest release of Exim. (Note that the earlier book about Exim, published by O’Reilly, covers Exim 3, and many things have changed in Exim 4.) If you are using a Debian distribution of Exim, you will find information about Debian-specific features in the file /usr/share/doc/exim4-base/README.Debian. The command man update-exim.conf is another source of Debian-specific information. 1 Introduction (1)
  • 16. As the program develops, there may be features in newer versions that have not yet made it into this document, which is updated only when the most significant digit of the fractional part of the version number changes. Specifications of new features that are not yet in this manual are placed in the file doc/NewStuff in the Exim distribution. Some features may be classified as “experimental”. These may change incompatibly while they are developing, or even be withdrawn. For this reason, they are not documented in this manual. Information about experimental features can be found in the file doc/experimental.txt. All changes to the program (whether new features, bug fixes, or other kinds of change) are noted briefly in the file called doc/ChangeLog. This specification itself is available as an ASCII file in doc/spec.txt so that it can easily be searched with a text editor. Other files in the doc directory are: OptionLists.txt list of all options in alphabetical order dbm.discuss.txt discussion about DBM libraries exim.8 a man page of Exim’s command line options experimental.txt documentation of experimental features filter.txt specification of the filter language Exim3.upgrade upgrade notes from release 2 to release 3 Exim4.upgrade upgrade notes from release 3 to release 4 The main specification and the specification of the filtering language are also available in other formats (HTML, PostScript, PDF, and Texinfo). Section 1.6 below tells you how to get hold of these. 1.2 FTP and web sites The primary site for Exim source distributions is currently the University of Cambridge’s FTP site, whose contents are described in Where to find the Exim distribution below. In addition, there is a web site and an FTP site at exim.org. These are now also hosted at the University of Cambridge. The exim.org site was previously hosted for a number of years by Energis Squared, formerly Planet Online Ltd, whose support I gratefully acknowledge. As well as Exim distribution tar files, the Exim web site contains a number of differently formatted versions of the documentation. A recent addition to the online information is the Exim wiki (http://wiki.exim.org), which contains what used to be a separate FAQ, as well as various other examples, tips, and know-how that have been contributed by Exim users. An Exim Bugzilla exists at http://bugs.exim.org. You can use this to report bugs, and also to add items to the wish list. Please search first to check that you are not duplicating a previous entry. 1.3 Mailing lists The following Exim mailing lists exist: exim-users@exim.org General discussion list exim-dev@exim.org Discussion of bugs, enhancements, etc. exim-announce@exim.org Moderated, low volume announcements list exim-future@exim.org Discussion of long-term development You can subscribe to these lists, change your existing subscriptions, and view or search the archives via the mailing lists link on the Exim home page. If you are using a Debian distribution of Exim, you may wish to subscribe to the Debian-specific mailing list pkg-exim4-users@lists.alioth.debian.org via this web page: http://lists.alioth.debian.org/mailman/listinfo/pkg-exim4-users Please ask Debian-specific questions on this list and not on the general Exim lists. 2 Introduction (1)
  • 17. 1.4 Exim training Training courses in Cambridge (UK) used to be run annually by the author of Exim, before he retired. At the time of writing, there are no plans to run further Exim courses in Cambridge. However, if that changes, relevant information will be posted at http://www-tus.csx.cam.ac.uk/courses/exim/. 1.5 Bug reports Reports of obvious bugs can be emailed to bugs@exim.org or reported via the Bugzilla (http://bugs.exim.org). However, if you are unsure whether some behaviour is a bug or not, the best thing to do is to post a message to the exim-dev mailing list and have it discussed. 1.6 Where to find the Exim distribution The master ftp site for the Exim distribution is ftp://ftp.csx.cam.ac.uk/pub/software/email/exim This is mirrored by ftp://ftp.exim.org/pub/exim The file references that follow are relative to the exim directories at these sites. There are now quite a number of independent mirror sites around the world. Those that I know about are listed in the file called Mirrors. Within the exim directory there are subdirectories called exim3 (for previous Exim 3 distributions), exim4 (for the latest Exim 4 distributions), and Testing for testing versions. In the exim4 subdirectory, the current release can always be found in files called exim-n.nn.tar.gz exim-n.nn.tar.bz2 where n.nn is the highest such version number in the directory. The two files contain identical data; the only difference is the type of compression. The .bz2 file is usually a lot smaller than the .gz file. The distributions are currently signed with Nigel Metheringham’s GPG key. The corresponding pub- lic key is available from a number of keyservers, and there is also a copy in the file nigel-pubkey.asc. The signatures for the tar bundles are in: exim-n.nn.tar.gz.asc exim-n.nn.tar.bz2.asc For each released version, the log of changes is made separately available in a separate file in the directory ChangeLogs so that it is possible to find out what has changed without having to download the entire distribution. The main distribution contains ASCII versions of this specification and other documentation; other formats of the documents are available in separate files inside the exim4 directory of the FTP site: exim-html-n.nn.tar.gz exim-pdf-n.nn.tar.gz exim-postscript-n.nn.tar.gz exim-texinfo-n.nn.tar.gz These tar files contain only the doc directory, not the complete distribution, and are also available in .bz2 as well as .gz forms. 1.7 Limitations • Exim is designed for use as an Internet MTA, and therefore handles addresses in RFC 2822 domain format only. It cannot handle UUCP “bang paths”, though simple two-component bang paths can be converted by a straightforward rewriting configuration. This restriction does not prevent Exim from being interfaced to UUCP as a transport mechanism, provided that domain addresses are used. 3 Introduction (1)
  • 18. • Exim insists that every address it handles has a domain attached. For incoming local messages, domainless addresses are automatically qualified with a configured domain value. Configuration options specify from which remote systems unqualified addresses are acceptable. These are then qualified on arrival. • The only external transport mechanisms that are currently implemented are SMTP and LMTP over a TCP/IP network (including support for IPv6). However, a pipe transport is available, and there are facilities for writing messages to files and pipes, optionally in batched SMTP format; these facilities can be used to send messages to other transport mechanisms such as UUCP, provided they can handle domain-style addresses. Batched SMTP input is also catered for. • Exim is not designed for storing mail for dial-in hosts. When the volumes of such mail are large, it is better to get the messages “delivered” into files (that is, off Exim’s queue) and subsequently passed on to the dial-in hosts by other means. • Although Exim does have basic facilities for scanning incoming messages, these are not compre- hensive enough to do full virus or spam scanning. Such operations are best carried out using additional specialized software packages. If you compile Exim with the content-scanning exten- sion, straightforward interfaces to a number of common scanners are provided. 1.8 Run time configuration Exim’s run time configuration is held in a single text file that is divided into a number of sections. The entries in this file consist of keywords and values, in the style of Smail 3 configuration files. A default configuration file which is suitable for simple online installations is provided in the distribution, and is described in chapter 7 below. 1.9 Calling interface Like many MTAs, Exim has adopted the Sendmail command line interface so that it can be a straight replacement for /usr/lib/sendmail or /usr/sbin/sendmail when sending mail, but you do not need to know anything about Sendmail in order to run Exim. For actions other than sending messages, Sendmail-compatible options also exist, but those that produce output (for example, -bp, which lists the messages on the queue) do so in Exim’s own format. There are also some additional options that are compatible with Smail 3, and some further options that are new to Exim. Chapter 5 documents all Exim’s command line options. This information is automatically made into the man page that forms part of the Exim distribution. Control of messages on the queue can be done via certain privileged command line options. There is also an optional monitor program called eximon, which displays current information in an X window, and which contains a menu interface to Exim’s command line administration options. 1.10 Terminology The body of a message is the actual data that the sender wants to transmit. It is the last part of a message, and is separated from the header (see below) by a blank line. When a message cannot be delivered, it is normally returned to the sender in a delivery failure message or a “non-delivery report” (NDR). The term bounce is commonly used for this action, and the error reports are often called bounce messages. This is a convenient shorthand for “delivery failure error report”. Such messages have an empty sender address in the message’s envelope (see below) to ensure that they cannot themselves give rise to further bounce messages. The term default appears frequently in this manual. It is used to qualify a value which is used in the absence of any setting in the configuration. It may also qualify an action which is taken unless a configuration setting specifies otherwise. The term defer is used when the delivery of a message to a specific destination cannot immediately take place for some reason (a remote host may be down, or a user’s local mailbox may be full). Such deliveries are deferred until a later time. 4 Introduction (1)
  • 19. The word domain is sometimes used to mean all but the first component of a host’s name. It is not used in that sense here, where it normally refers to the part of an email address following the @ sign. A message in transit has an associated envelope, as well as a header and a body. The envelope contains a sender address (to which bounce messages should be delivered), and any number of recipient addresses. References to the sender or the recipients of a message usually mean the addresses in the envelope. An MTA uses these addresses for delivery, and for returning bounce messages, not the addresses that appear in the header lines. The header of a message is the first part of a message’s text, consisting of a number of lines, each of which has a name such as From:, To:, Subject:, etc. Long header lines can be split over several text lines by indenting the continuations. The header is separated from the body by a blank line. The term local part, which is taken from RFC 2822, is used to refer to that part of an email address that precedes the @ sign. The part that follows the @ sign is called the domain or mail domain. The terms local delivery and remote delivery are used to distinguish delivery to a file or a pipe on the local host from delivery by SMTP over TCP/IP to another host. As far as Exim is concerned, all hosts other than the host it is running on are remote. Return path is another name that is used for the sender address in a message’s envelope. The term queue is used to refer to the set of messages awaiting delivery, because this term is in widespread use in the context of MTAs. However, in Exim’s case the reality is more like a pool than a queue, because there is normally no ordering of waiting messages. The term queue runner is used to describe a process that scans the queue and attempts to deliver those messages whose retry times have come. This term is used by other MTAs, and also relates to the command runq, but in Exim the waiting messages are normally processed in an unpredictable order. The term spool directory is used for a directory in which Exim keeps the messages on its queue – that is, those that it is in the process of delivering. This should not be confused with the directory in which local mailboxes are stored, which is called a “spool directory” by some people. In the Exim documen- tation, “spool” is always used in the first sense. 5 Introduction (1)
  • 20. 2. Incorporated code A number of pieces of external code are included in the Exim distribution. • Regular expressions are supported in the main Exim program and in the Exim monitor using the freely-distributable PCRE library, copyright © University of Cambridge. The source to PCRE is no longer shipped with Exim, so you will need to use the version of PCRE shipped with your system, or obtain and install the full version of the library from ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre. • Support for the cdb (Constant DataBase) lookup method is provided by code contributed by Nigel Metheringham of (at the time he contributed it) Planet Online Ltd. The implementation is com- pletely contained within the code of Exim. It does not link against an external cdb library. The code contains the following statements: Copyright © 1998 Nigel Metheringham, Planet Online Ltd This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This code implements Dan Bernstein’s Constant DataBase (cdb) spec. Information, the spec and sample code for cdb can be obtained from http://www.pobox.com/~djb/cdb.html. This implemen- tation borrows some code from Dan Bernstein’s implementation (which has no license restrictions applied to it). • Client support for Microsoft’s Secure Password Authentication is provided by code contributed by Marc Prud’hommeaux. Server support was contributed by Tom Kistner. This includes code taken from the Samba project, which is released under the Gnu GPL. • Support for calling the Cyrus pwcheck and saslauthd daemons is provided by code taken from the Cyrus-SASL library and adapted by Alexander S. Sabourenkov. The permission notice appears below, in accordance with the conditions expressed therein. Copyright © 2001 Carnegie Mellon University. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (1) Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. (2) Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. (3) The name “Carnegie Mellon University” must not be used to endorse or promote products derived from this software without prior written permission. For per- mission or any other legal details, please contact Office of Technology Transfer Carnegie Mellon University 5000 Forbes Avenue Pittsburgh, PA 15213-3890 (412) 268-4387, fax: (412) 268-7395 tech-transfer@andrew.cmu.edu (4) Redistributions of any form whatsoever must retain the following acknowledgment: “This product includes software developed by Computing Services at Carnegie Mellon University (http://www.cmu.edu/computing/.” CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES 6 Incorporated code (2)
  • 21. OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. • The Exim Monitor program, which is an X-Window application, includes modified versions of the Athena StripChart and TextPop widgets. This code is copyright by DEC and MIT, and their permission notice appears below, in accordance with the conditions expressed therein. Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts, and the Massachusetts Institute of Technology, Cambridge, Massachusetts. All Rights Reserved Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the names of Digital or MIT not be used in advertising or publicity pertaining to distribution of the software without specific, writ- ten prior permission. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. • Many people have contributed code fragments, some large, some small, that were not covered by any specific licence requirements. It is assumed that the contributors are happy to see their code incorporated into Exim under the GPL. 7 Incorporated code (2)
  • 22. 3. How Exim receives and delivers mail 3.1 Overall philosophy Exim is designed to work efficiently on systems that are permanently connected to the Internet and are handling a general mix of mail. In such circumstances, most messages can be delivered immedi- ately. Consequently, Exim does not maintain independent queues of messages for specific domains or hosts, though it does try to send several messages in a single SMTP connection after a host has been down, and it also maintains per-host retry information. 3.2 Policy control Policy controls are now an important feature of MTAs that are connected to the Internet. Perhaps their most important job is to stop MTAs being abused as “open relays” by misguided individuals who send out vast amounts of unsolicited junk, and want to disguise its source. Exim provides flexible facilities for specifying policy controls on incoming mail: • Exim 4 (unlike previous versions of Exim) implements policy controls on incoming mail by means of Access Control Lists (ACLs). Each list is a series of statements that may either grant or deny access. ACLs can be used at several places in the SMTP dialogue while receiving a message from a remote host. However, the most common places are after each RCPT command, and at the very end of the message. The sysadmin can specify conditions for accepting or rejecting individual recipients or the entire message, respectively, at these two points (see chapter 40). Denial of access results in an SMTP error code. • An ACL is also available for locally generated, non-SMTP messages. In this case, the only avail- able actions are to accept or deny the entire message. • When Exim is compiled with the content-scanning extension, facilities are provided in the ACL mechanism for passing the message to external virus and/or spam scanning software. The result of such a scan is passed back to the ACL, which can then use it to decide what to do with the message. • When a message has been received, either from a remote host or from the local host, but before the final acknowledgment has been sent, a locally supplied C function called local_scan() can be run to inspect the message and decide whether to accept it or not (see chapter 42). If the message is accepted, the list of recipients can be modified by the function. • Using the local_scan() mechanism is another way of calling external scanner software. The SA- Exim add-on package works this way. It does not require Exim to be compiled with the content- scanning extension. • After a message has been accepted, a further checking mechanism is available in the form of the system filter (see chapter 43). This runs at the start of every delivery process. 3.3 User filters In a conventional Exim configuration, users are able to run private filters by setting up appropriate .forward files in their home directories. See chapter 22 (about the redirect router) for the configuration needed to support this, and the separate document entitled Exim’s interfaces to mail filtering for user details. Two different kinds of filtering are available: • Sieve filters are written in the standard filtering language that is defined by RFC 3028. • Exim filters are written in a syntax that is unique to Exim, but which is more powerful than Sieve, which it pre-dates. User filters are run as part of the routing process, described below. 8 Receiving and delivering mail (3)