Preface | p. xi |
Getting Started | p. 1 |
Downloading the Latest Release | p. 5 |
Installing sendmail | p. 12 |
Compiling sendmail to Use LDAP | p. 14 |
Adding the regex Map Type to sendmail | p. 16 |
Compiling sendmail with SASL Support | p. 18 |
Compiling sendmail with STARTTLS Support | p. 19 |
Compiling in STARTTLS File Paths | p. 20 |
Building a sendmail Configuration | p. 21 |
Testing a New Configuration | p. 29 |
Logging sendmail | p. 34 |
Delivery and Forwarding | p. 37 |
Accepting Mail for Other Hosts | p. 39 |
Fixing the Alias0 Missing Map Error and Creating Simple Aliases | p. 44 |
Reading Aliases via LDAP | p. 48 |
Configuring Red Hat 7.3 to Read Aliases from a NIS Server | p. 52 |
Configuring Solaris 8 to Read Aliases from a NIS Server | p. 56 |
Forwarding to an External Address | p. 57 |
Creating Mailing Lists | p. 58 |
Migrating Ex-Users to New Addresses | p. 62 |
Delivering Mail to a Program | p. 64 |
Using Program Names in Mailing Lists | p. 66 |
Allowing Nonlogin Users to Forward to Programs | p. 67 |
Fixing a forward Loop | p. 68 |
Enabling the User Database | p. 71 |
Relaying | p. 74 |
Passing All Mail to a Relay | p. 77 |
Passing Outbound Mail to a Relay | p. 81 |
Passing Local Mail to a Mail Hub | p. 82 |
Passing Apparently Local Mail to a Relay | p. 84 |
Passing UUCP Mail to a Relay | p. 86 |
Relaying Mail for All Hosts in a Domain | p. 88 |
Relaying Mail for Individual Hosts | p. 92 |
Configuring Relaying on a Mail Exchanger | p. 95 |
Loading Class $=R via LDAP | p. 96 |
Relaying Only Outbound Mail | p. 100 |
Masquerading | p. 103 |
Adding Domains to All Sender Addresses | p. 105 |
Masquerading the Sender Hostname | p. 107 |
Eliminating Masquerading for the Local Mailer | p. 111 |
Forcing Masquerading of Local Mail | p. 114 |
Masquerading Recipient Addresses | p. 116 |
Masquerading at the Relay Host | p. 118 |
Limiting Masquerading | p. 120 |
Masquerading All Hosts in a Domain | p. 124 |
Masquerading Most of the Hosts in a Domain | p. 126 |
Masquerading the Envelope Address | p. 129 |
Rewriting the From Address with the genericstable | p. 132 |
Rewriting Sender Addresses for an Entire Domain | p. 137 |
Masquerading with LDAP | p. 141 |
Reading the genericstable via LDAP | p. 144 |
Routing Mail | p. 151 |
Routing Mail to Special Purpose Mailers | p. 157 |
Sending Error Messages from the mailertable | p. 159 |
Disabling MX Processing to Avoid Loops | p. 162 |
Routing Mail for Local Delivery | p. 164 |
Reading the mailertable via LDAP | p. 166 |
Routing Mail for Individual Virtual Hosts | p. 170 |
Routing Mail for Entire Virtual Domains | p. 174 |
Reading the virtusertable via LDAP | p. 180 |
Routing Mail with LDAP | p. 185 |
Using LDAP Routing with Masquerading | p. 193 |
Controlling Spam | p. 197 |
Blocking Spam with the access Database | p. 209 |
Preventing Local Users from Replying to Spammers | p. 212 |
Reading the access Database via LDAP | p. 214 |
Using a DNS Blackhole List Service | p. 218 |
Building Your Own DNS Blackhole List | p. 220 |
Whitelisting Blacklisted Sites | p. 222 |
Filtering Local Mail with procmail | p. 224 |
Filtering Outbound Mail with procmail | p. 226 |
Invoking Special Header Processing | p. 229 |
Using Regular Expressions in sendmail | p. 231 |
Identifying Local Problem Users | p. 234 |
Using MILTER | p. 237 |
Bypassing Spam Checks | p. 239 |
Enabling Spam Checks on a Per-User Basis | p. 240 |
Authenticating with AUTH | p. 242 |
Offering AUTH Authentication | p. 249 |
Authenticating with AUTH | p. 253 |
Storing AUTH Credentials in the authinfo File | p. 257 |
Limiting Advertised Authentication Mechanisms | p. 259 |
Using AUTH to Permit Relaying | p. 261 |
Controlling the AUTH= Parameter | p. 264 |
Avoiding Double Encryption | p. 266 |
Requiring Authentication | p. 267 |
Selectively Requring Authentication | p. 271 |
Securing the Mail Transport | p. 274 |
Building a Private Certificate Authority | p. 280 |
Creating a Certificate Request | p. 284 |
Signing a Certificate Request | p. 286 |
Configuring sendmail for STARTTLS | p. 288 |
Relaying Based on the CA | p. 293 |
Relaying Based on the Certificate Subject | p. 296 |
Requiring Outbound Encryption | p. 298 |
Requring Inbound Encryption | p. 302 |
Requiring a Verified Certificate | p. 305 |
Requiring TLS for a Recipient | p. 308 |
Refusing STARTTLS Service | p. 313 |
Selectively Advertising STARTTLS | p. 314 |
Requesting Client Certificates | p. 316 |
Managing the Queue | p. 318 |
Creating Multiple Queues | p. 321 |
Using qf, df, and xf Subdirectories | p. 323 |
Defining Queue Groups | p. 325 |
Assigning Recipients to Specific Queues | p. 329 |
Using Persistent Queue Runners | p. 331 |
Using a Queue Server | p. 333 |
Setting Protocol Timers | p. 335 |
Securing sendmail | p. 338 |
Limiting the Number of sendmail Servers | p. 339 |
Limiting the Number of Network Accessible Servers | p. 342 |
Updating to Close Security Holes | p. 344 |
Patching to Close Security Holes | p. 345 |
Disabling Delivery to Programs | p. 348 |
Controlling Delivery to Programs | p. 350 |
Disabling Delivery to Files | p. 353 |
Bypassing User .forward Files | p. 355 |
Controlling Delivery to Files | p. 357 |
Running sendmail Non-Set-User-ID root | p. 358 |
Setting a Safe Default User ID | p. 361 |
Defining Trusted Users | p. 363 |
Identifying the sendmail Administrator | p. 365 |
Limiting the SMTP Command Set | p. 367 |
Requiring a Valid HELO | p. 370 |
Restricting Command-Line Options | p. 371 |
Denying DoS Attacks | p. 372 |
Index | p. 375 |
Table of Contents provided by Rittenhouse. All Rights Reserved. |