sendmail Cookbook |
By Craig Hunt |
|
Publisher | : O'Reilly |
Pub Date | : December 2003 |
ISBN | : 0-596-00471-0 |
Pages | : 408 |
| Copyright |
| | Dedication |
| | Preface |
| | | Introduction |
| | | Using This Cookbook |
| | | Audience |
| | | Organization |
| | | Software Versions |
| | | Conventions |
| | | We'd Like to Hear from You |
| | | Acknowledgments |
|
| | Chapter 1. Getting Started |
| | | Introduction |
| | | Recipe 1.1. Downloading the Latest Release |
| | | Recipe 1.2. Installing sendmail |
| | | Recipe 1.3. Compiling sendmail to Use LDAP |
| | | Recipe 1.4. Adding the regex Map Type to sendmail |
| | | Recipe 1.5. Compiling sendmail with SASL Support |
| | | Recipe 1.6. Compiling sendmail with STARTTLS Support |
| | | Recipe 1.7. Compiling in STARTTLS File Paths |
| | | Recipe 1.8. Building a sendmail Configuration |
| | | Recipe 1.9. Testing a New Configuration |
| | | Recipe 1.10. Logging sendmail |
|
| | Chapter 2. Delivery and Forwarding |
| | | Introduction |
| | | Recipe 2.1. Accepting Mail for Other Hosts |
| | | Recipe 2.2. Fixing the Alias0 Missing Map Error and Creating Simple Aliases |
| | | Recipe 2.3. Reading Aliases via LDAP |
| | | Recipe 2.4. Configuring Red Hat 7.3 to Read Aliases from a NIS Server |
| | | Recipe 2.5. Configuring Solaris 8 to Read Aliases from a NIS Server |
| | | Recipe 2.6. Forwarding to an External Address |
| | | Recipe 2.7. Creating Mailing Lists |
| | | Recipe 2.8. Migrating Ex-Users to New Addresses |
| | | Recipe 2.9. Delivering Mail to a Program |
| | | Recipe 2.10. Using Program Names in Mailing Lists |
| | | Recipe 2.11. Allowing Nonlogin Users to Forward to Programs |
| | | Recipe 2.12. Fixing a .forward Loop |
| | | Recipe 2.13. Enabling the User Database |
|
| | Chapter 3. Relaying |
| | | Introduction |
| | | Recipe 3.1. Passing All Mail to a Relay |
| | | Recipe 3.2. Passing Outbound Mail to a Relay |
| | | Recipe 3.3. Passing Local Mail to a Mail Hub |
| | | Recipe 3.4. Passing Apparently Local Mail to a Relay |
| | | Recipe 3.5. Passing UUCP Mail to a Relay |
| | | Recipe 3.6. Relaying Mail for All Hosts in a Domain |
| | | Recipe 3.7. Relaying Mail for Individual Hosts |
| | | Recipe 3.8. Configuring Relaying on a Mail Exchanger |
| | | Recipe 3.9. Loading Class $=R via LDAP |
| | | Recipe 3.10. Relaying Only Outbound Mail |
|
| | Chapter 4. Masquerading |
| | | Introduction |
| | | Recipe 4.1. Adding Domains to All Sender Addresses |
| | | Recipe 4.2. Masquerading the Sender Hostname |
| | | Recipe 4.3. Eliminating Masquerading for the Local Mailer |
| | | Recipe 4.4. Forcing Masquerading of Local Mail |
| | | Recipe 4.5. Masquerading Recipient Addresses |
| | | Recipe 4.6. Masquerading at the Relay Host |
| | | Recipe 4.7. Limiting Masquerading |
| | | Recipe 4.8. Masquerading All Hosts in a Domain |
| | | Recipe 4.9. Masquerading Most of the Hosts in a Domain |
| | | Recipe 4.10. Masquerading the Envelope Address |
| | | Recipe 4.11. Rewriting the From Address with the genericstable |
| | | Recipe 4.12. Rewriting Sender Addresses for an Entire Domain |
| | | Recipe 4.13. Masquerading with LDAP |
| | | Recipe 4.14. Reading the genericstable via LDAP |
|
| | Chapter 5. Routing Mail |
| | | Introduction |
| | | Recipe 5.1. Routing Mail to Special Purpose Mailers |
| | | Recipe 5.2. Sending Error Messages from the mailertable |
| | | Recipe 5.3. Disabling MX Processing to Avoid Loops |
| | | Recipe 5.4. Routing Mail for Local Delivery |
| | | Recipe 5.5. Reading the mailertable via LDAP |
| | | Recipe 5.6. Routing Mail for Individual Virtual Hosts |
| | | Recipe 5.7. Routing Mail for Entire Virtual Domains |
| | | Recipe 5.8. Reading the virtusertable via LDAP |
| | | Recipe 5.9. Routing Mail with LDAP |
| | | Recipe 5.10. Using LDAP Routing with Masquerading |
|
| | Chapter 6. Controlling Spam |
| | | Introduction |
| | | Recipe 6.1. Blocking Spam with the access Database |
| | | Recipe 6.2. Preventing Local Users from Replying to Spammers |
| | | Recipe 6.3. Reading the access Database via LDAP |
| | | Recipe 6.4. Using a DNS Blackhole List Service |
| | | Recipe 6.5. Building Your Own DNS Blackhole List |
| | | Recipe 6.6. Whitelisting Blacklisted Sites |
| | | Recipe 6.7. Filtering Local Mail with procmail |
| | | Recipe 6.8. Filtering Outbound Mail with procmail |
| | | Recipe 6.9. Invoking Special Header Processing |
| | | Recipe 6.10. Using Regular Expressions in sendmail |
| | | Recipe 6.11. Identifying Local Problem Users |
| | | Recipe 6.12. Using MILTER |
| | | Recipe 6.13. Bypassing Spam Checks |
| | | Recipe 6.14. Enabling Spam Checks on a Per-User Basis |
|
| | Chapter 7. Authenticating with AUTH |
| | | Introduction |
| | | Recipe 7.1. Offering AUTH Authentication |
| | | Recipe 7.2. Authenticating with AUTH |
| | | Recipe 7.3. Storing AUTH Credentials in the authinfo File |
| | | Recipe 7.4. Limiting Advertised Authentication Mechanisms |
| | | Recipe 7.5. Using AUTH to Permit Relaying |
| | | Recipe 7.6. Controlling the AUTH= Parameter |
| | | Recipe 7.7. Avoiding Double Encryption |
| | | Recipe 7.8. Requiring Authentication |
| | | Recipe 7.9. Selectively Requiring Authentication |
|
| | Chapter 8. Securing the Mail Transport |
| | | Introduction |
| | | Recipe 8.1. Building a Private Certificate Authority |
| | | Recipe 8.2. Creating a Certificate Request |
| | | Recipe 8.3. Signing a Certificate Request |
| | | Recipe 8.4. Configuring sendmail for STARTTLS |
| | | Recipe 8.5. Relaying Based on the CA |
| | | Recipe 8.6. Relaying Based on the Certificate Subject |
| | | Recipe 8.7. Requiring Outbound Encryption |
| | | Recipe 8.8. Requiring Inbound Encryption |
| | | Recipe 8.9. Requiring a Verified Certificate |
| | | Recipe 8.10. Requiring TLS for a Recipient |
| | | Recipe 8.11. Refusing STARTTLS Service |
| | | Recipe 8.12. Selectively Advertising STARTTLS |
| | | Recipe 8.13. Requesting Client Certificates |
|
| | Chapter 9. Managing the Queue |
| | | Introduction |
| | | Recipe 9.1. Creating Multiple Queues |
| | | Recipe 9.2. Using qf, df, and xf Subdirectories |
| | | Recipe 9.3. Defining Queue Groups |
| | | Recipe 9.4. Assigning Recipients to Specific Queues |
| | | Recipe 9.5. Using Persistent Queue Runners |
| | | Recipe 9.6. Using a Queue Server |
| | | Recipe 9.7. Setting Protocol Timers |
|
| | Chapter 10. Securing sendmail |
| | | Introduction |
| | | Recipe 10.1. Limiting the Number of sendmail Servers |
| | | Recipe 10.2. Limiting the Number of Network Accessible Servers |
| | | Recipe 10.3. Updating to Close Security Holes |
| | | Recipe 10.4. Patching to Close Security Holes |
| | | Recipe 10.5. Disabling Delivery to Programs |
| | | Recipe 10.6. Controlling Delivery to Programs |
| | | Recipe 10.7. Disabling Delivery to Files |
| | | Recipe 10.8. Bypassing User .forward Files |
| | | Recipe 10.9. Controlling Delivery to Files |
| | | Recipe 10.10. Running sendmail Non-Set-User-ID root |
| | | Recipe 10.11. Setting a Safe Default User ID |
| | | Recipe 10.12. Defining Trusted Users |
| | | Recipe 10.13. Identifying the sendmail Administrator |
| | | Recipe 10.14. Limiting the SMTP Command Set |
| | | Recipe 10.15. Requiring a Valid HELO |
| | | Recipe 10.16. Restricting Command-Line Options |
| | | Recipe 10.17. Denying DoS Attacks |
|
| | Colophon |
| | Index |