Book description
Exim delivers electronic mail, both local and remote. It has all the virtues of a good postman: it's easy to talk to, reliable, efficient, and eager to accommodate even the most complex special requests. It's the default mail transport agent installed on some Linux systems, runs on many versions of Unix, and is suitable for any TCP/IP network with any combination of hosts and end-user mail software.Exim is growing in popularity because it is open source, scalable, and rich in features such as the following:
- Compatibility with the calling interfaces and options of Sendmail (for which Exim is usually a drop-in replacement)
- Lookups in LDAP servers, MySQL and PostgreSQL databases, and NIS or NIS+ services
- Support for many kinds of address parsing, including regular expressions that are compatible with Perl 5
- Sophisticated error handling
- Innumerable tuning parameters for improving performance and handling enormous volumes of mail
Publisher resources
Table of contents
- Exim: The Mail Transfer Agent
- Preface
- 1. Introduction
-
2. 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
-
3. 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
-
4. 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
-
5. 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
-
6. Options Common to Directors and Routers
-
Conditional Running of Routers and Directors
- Restricting Drivers to Specific Domains
- Stopping an Address from Being Passed On
- Restricting Drivers to Specific Local Parts
- Restricting Drivers to Specific Senders
- Restricting Drivers by Other Conditions
- Restricting a Driver to Verification Only
- Restricting Drivers by File Existence
- Interaction of Conditions
- Changing a Driver’s Successful Outcome
- Adding Data for Use by Transports
- Debugging Directors and Routers
- Summary of Director/Router Generic Options
-
Conditional Running of Routers and Directors
-
7. 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
- 8. The Routers
-
9. 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
-
10. 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
- 11. Shared Data and Exim Processes
- 12. Delivery Errors and Retrying
-
13. 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
- 14. Rewriting Addresses
-
15. Authentication, Encryption, and Other SMTP Processing
-
SMTP Authentication
- Authentication Mechanisms
- PLAIN Authentication
- LOGIN Authentication
- CRAM-MD5 Authentication
- Choice of Authentication Mechanism
- Exim Authenticators
- Authentication on an Exim Server
- Advertising Authentication
- Testing Server Authentication
- Authenticated Senders
- Authentication by an Exim Client
- Options Common to All Authenticators
- Using the plaintext Authenticator in a Server
- Using plaintext in a Client
- Using cram_md5 in a Server
- Using cram_md5 in a Client
- Encrypted SMTP Connections
- SMTP over TCP/IP
- Local SMTP
- Batched SMTP
-
SMTP Authentication
- 16. File and Database Lookups
- 17. String Expansion
- 18. Domain, Host, and Address Lists
- 19. Miscellany
-
20. 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
- 21. Administering Exim
-
22. Building and Installing Exim
- Prerequisites
- Fetching and Unpacking the Source
-
Configuration for Building
- The Contents of Local/Makefile
- Mandatory Makefile Settings
- Driver Choices in the Makefile
- Module Choices in the Makefile
- Recommended Makefile Settings
- A Plausible Minimal Makefile
- System-Related Makefile Settings
- Optional Settings in the Makefile
- Configuration for Building the Exim Monitor
- Building Exim for Multiple Systems
- The Building Process
- Installing Exim
- Testing Before Turning On
- Turning Exim On
- Installing Documentation in Info Format
- Upgrading to a New Release
- A. Summary of String Expansion
-
B. Regular Expressions
- Testing Regular Expressions
- Metacharacters
- Backslash
- Changing Matching Options
- Circumflex and Dollar
- Dot (Period, Full Stop)
- Square Brackets
- POSIX Character Classes
- Vertical Bar
- Subpatterns
- Repetition
- Back References
- Assertions
- Once-Only Subpatterns
- Conditional Subpatterns
- Comments
- Recursive Patterns
- Performance
- Index
- About the Author
- Colophon
- Copyright
Product information
- Title: Exim: The Mail Transfer Agent
- Author(s):
- Release date: July 2001
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491947463
You might also like
book
qmail
qmail has quietly become one of the most widely used applications on the Internet today. It's …
article
Reinventing the Organization for GenAI and LLMs
Previous technology breakthroughs did not upend organizational structure, but generative AI and LLMs will. We now …
article
Run Llama-2 Models Locally with llama.cpp
Llama is Meta’s answer to the growing demand for LLMs. Unlike its well-known technological relative, ChatGPT, …
book
Practical Internet Server Configuration: Learn to Build a Fully Functional and Well-Secured Enterprise Class Internet Server
Learn the skills to complete the full installation, configuration, and maintenance of an enterprise class internet …