| |
| |
Preface | |
| |
| |
| |
Introduction | |
| |
| |
| |
How Internet Mail Works | |
| |
| |
Different Types of MTA | |
| |
| |
Internet Message Standards | |
| |
| |
RFC 822 Message Format | |
| |
| |
The Message "On the Wire" | |
| |
| |
Summary of the SMTP Protocol | |
| |
| |
Forgery | |
| |
| |
Authentication and Encryption | |
| |
| |
Routing a Message | |
| |
| |
Checking Incoming Mail | |
| |
| |
Overview of the DNS | |
| |
| |
DNS Records Used for Mail Routing | |
| |
| |
Related DNS Records | |
| |
| |
Common DNS Errors | |
| |
| |
Role of the Postmaster | |
| |
| |
| |
Exim Overview | |
| |
| |
Exim Philosophy | |
| |
| |
Exim's Queue | |
| |
| |
Receiving and Delivering Messages | |
| |
| |
Exim Processes | |
| |
| |
Coordination Between Processes | |
| |
| |
How Exim Is Configured | |
| |
| |
How Exim Delivers Messages | |
| |
| |
Local and Remote Addresses | |
| |
| |
Processing an Address | |
| |
| |
A Simple Example | |
| |
| |
Complications While Directing and Routing | |
| |
| |
Complications During Delivery | |
| |
| |
Complications After Delivery | |
| |
| |
Use of Transports by Directors and Routers | |
| |
| |
| |
Exim Operations Overview | |
| |
| |
How Exim Identifies Messages | |
| |
| |
Watching Exim at Work | |
| |
| |
The Runtime Configuration File | |
| |
| |
The Default Qualification Domain | |
| |
| |
Handling Frozen Bounce Messages | |
| |
| |
Reducing Activity at High Load | |
| |
| |
Limiting Message Sizes | |
| |
| |
Parallel Remote Delivery | |
| |
| |
Controlling the Number of Delivery Processes | |
| |
| |
Large Message Queues | |
| |
| |
Large Installations | |
| |
| |
| |
Extending the Delivery Configuration | |
| |
| |
Multiple Local Domains | |
| |
| |
Virtual Domains | |
| |
| |
Mailing Lists | |
| |
| |
Using an External Local Delivery Agent | |
| |
| |
Multiple User Addresses | |
| |
| |
Mixed Local/Remote Domains | |
| |
| |
Delivering to UUCP | |
| |
| |
Ignoring the Local Part in Local Deliveries | |
| |
| |
Handling Local Parts in a Case-Sensitive Manner | |
| |
| |
Scanning Messages for Viruses | |
| |
| |
Modifying Message Bodies | |
| |
| |
| |
Options Common to Directors and Routers | |
| |
| |
Conditional Running of Routers and Directors | |
| |
| |
Changing a Driver's Successful Outcome | |
| |
| |
Adding Data for Use by Transports | |
| |
| |
Debugging Directors and Routers | |
| |
| |
Summary of Director/Router Generic Options | |
| |
| |
| |
The Directors | |
| |
| |
Conditional Running of Directors | |
| |
| |
Optimizing Single-Level Aliasing | |
| |
| |
Adding Data for Use by Transports | |
| |
| |
The aliasfile and forwardfile Directors | |
| |
| |
The aliasfile Director | |
| |
| |
The forwardfile Director | |
| |
| |
The localuser Director | |
| |
| |
The smartuser Director | |
| |
| |
| |
The Routers | |
| |
| |
Timeouts While Routing | |
| |
| |
Domains That Route to the Local Host | |
| |
| |
The lookuphost Router | |
| |
| |
The domainlist Router | |
| |
| |
The ipliteral Router | |
| |
| |
The queryprogram Router | |
| |
| |
| |
The Transports | |
| |
| |
Options Common to All Transports | |
| |
| |
The smtp Transport | |
| |
| |
Environment for Local Transports | |
| |
| |
Options Common to the appendfile and pipe Transports | |
| |
| |
The appendfile Transport | |
| |
| |
The pipe Transport | |
| |
| |
The lmtp Transport | |
| |
| |
The autoreply Transport | |
| |
| |
| |
Message Filtering | |
| |
| |
Examples of Filter Commands | |
| |
| |
Filtering Compared with an External Delivery Agent | |
| |
| |
Setting Up a User Filter | |
| |
| |
Setting Up a System Filter | |
| |
| |
Testing Filter Files | |
| |
| |
Format of Filter Files | |
| |
| |
Significant Actions | |
| |
| |
Filter Commands | |
| |
| |
The add Command | |
| |
| |
Delivery Commands | |
| |
| |
Mail Commands | |
| |
| |
Logging Commands | |
| |
| |
The testprint Command | |
| |
| |
The finish Command | |
| |
| |
Obeying Filter Commands Conditionally | |
| |
| |
Additional Features for System Filters | |
| |
| |
| |
Shared Data and Exim Processes | |
| |
| |
Message Files | |
| |
| |
Locking Message Files | |
| |
| |
Hints Files | |
| |
| |
Log Files | |
| |
| |
User and Group IDs for Exim Processes | |
| |
| |
Process Relationships | |
| |
| |
The Daemon Process | |
| |
| |
Reception Processes | |
| |
| |
Queue Runner Processes | |
| |
| |
Delivery Processes | |
| |
| |
Summary of Message Handling Process Types | |
| |
| |
Other Types of Process | |
| |
| |
| |
Delivery Errors and Retrying | |
| |
| |
Retrying After Errors | |
| |
| |
Remote Delivery Errors | |
| |
| |
Local Delivery Errors | |
| |
| |
Routing and Directing Errors | |
| |
| |
Retry Rules | |
| |
| |
Computing Retry Times | |
| |
| |
Using Retry Times | |
| |
| |
Retry Rule Examples | |
| |
| |
Timeout of Retry Data | |
| |
| |
Long-Term Failures | |
| |
| |
Ultimate Address Timeout | |
| |
| |
Intermittently Connected Hosts | |
| |
| |
| |
Message Reception and Policy Controls | |
| |
| |
Message Sources | |
| |
| |
Message Size Control | |
| |
| |
Messages from Local Processes | |
| |
| |
Unqualified Addresses from Remote Hosts | |
| |
| |
Checking a Remote Host | |
| |
| |
Checking Remote Sender Addresses | |
| |
| |
Checking Recipient Addresses | |
| |
| |
Checking Header Line Syntax | |
| |
| |
Relay Control | |
| |
| |
Customizing Prohibition Messages | |
| |
| |
Incoming Message Processing | |
| |
| |
| |
Rewriting Addresses | |
| |
| |
Automatic Rewriting | |
| |
| |
Configured Rewriting | |
| |
| |
Rewriting Rules | |
| |
| |
Rewriting Patterns | |
| |
| |
Rewriting Flags | |
| |
| |
A Further Rewriting Example | |
| |
| |
Testing Rewriting Rules | |
| |
| |
| |
Authentication, Encryption, and Other SMTP Processing | |
| |
| |
SMTP Authentication | |
| |
| |
Encrypted SMTP Connections | |
| |
| |
SMTP over TCP/IP | |
| |
| |
Local SMTP | |
| |
| |
Batched SMTP | |
| |
| |
| |
File and Database Lookups | |
| |
| |
Single-Key Lookup Types | |
| |
| |
Query-Style Lookup Types | |
| |
| |
Quoting Lookup Data | |
| |
| |
NIS+ | |
| |
| |
LDAP | |
| |
| |
MySQL and PostgreSQL | |
| |
| |
DNS Lookups | |
| |
| |
Implicit Keys in Query-Style Lookups | |
| |
| |
Temporary Errors in Lookups | |
| |
| |
Default Values in Single-Key Lookups | |
| |
| |
Partial Matching in Single-Key Lookups | |
| |
| |
Lookup Caching | |
| |
| |
| |
String Expansion | |
| |
| |
Variable Substitution | |
| |
| |
Header Insertion | |
| |
| |
Operations on Substrings | |
| |
| |
Character Translation | |
| |
| |
Text Substitution | |
| |
| |
Conditional Expansion | |
| |
| |
Lookups in Expansion Strings | |
| |
| |
Extracting Fields from Substrings | |
| |
| |
IP Address Masking | |
| |
| |
Quoting | |
| |
| |
Reexpansion | |
| |
| |
Running Embedded Perl | |
| |
| |
Testing String Expansions | |
| |
| |
| |
Domain, Host, and Address Lists | |
| |
| |
Negative Items in Lists | |
| |
| |
List Items in Files | |
| |
| |
Lookup Items in Lists | |
| |
| |
Domain Lists | |
| |
| |
Host Lists | |
| |
| |
Address Lists | |
| |
| |
| |
Miscellany | |
| |
| |
Security Issues | |
| |
| |
Privileged Users | |
| |
| |
RFC Conformance | |
| |
| |
Timestamps | |
| |
| |
Checking Spool Space | |
| |
| |
Control of DNS Lookups | |
| |
| |
Bounce Message Handling | |
| |
| |
Miscellaneous Controls | |
| |
| |
| |
Command-Line Interface to Exim | |
| |
| |
Input Mode Control | |
| |
| |
Additional Message Data | |
| |
| |
Immediate Delivery Control | |
| |
| |
Error Routing | |
| |
| |
Queue Runner Processes | |
| |
| |
Configuration Overrides | |
| |
| |
Watching Exim's Queue | |
| |
| |
Message Control | |
| |
| |
Testing Options | |
| |
| |
Options for Debugging | |
| |
| |
Terminating the Options | |
| |
| |
Embedded Perl Options | |
| |
| |
Compatibility with Sendmail | |
| |
| |
Calling Exim by Different Names | |
| |
| |
| |
Administering Exim | |
| |
| |
Log Files | |
| |
| |
Log Destination Control | |
| |
| |
Format of Main Log Entries | |
| |
| |
Cycling Log Files | |
| |
| |
Extracting Information from Log Files | |
| |
| |
Watching What Exim is Doing | |
| |
| |
The Exim Monitor | |
| |
| |
Maintaining Alias and Other Datafiles | |
| |
| |
Hints Database Maintenance | |
| |
| |
Mailbox Maintenance | |
| |
| |
| |
Building and Installing Exim | |
| |
| |
Prerequisites | |
| |
| |
Fetching and Unpacking the Source | |
| |
| |
Configuration for Building | |
| |
| |
The Building Process | |
| |
| |
Installing Exim | |
| |
| |
Testing Before Turning On | |
| |
| |
Turning Exim On | |
| |
| |
Installing Documentation in Info Format | |
| |
| |
Upgrading to a New Release | |
| |
| |
| |
Summary of String Expansion | |
| |
| |
| |
Regular Expressions | |
| |
| |
Index | |