Cover image for sendmail 8.13 Companion

Book description

If you had a list of the words used to describe sendmail, they'd probably include reliable, flexible, configurable, complex, monolithic, and daunting. But you're not likely to find the word easy. Even seasoned sendmail pros are sometimes frustrated by the intricacies of sendmail's configuration files. With a little determination and the help of a good reference book, like sendmail, Third Edition, you can master this demanding program. But when there's a significant point release, like sendmail V8.13, where do you turn? An excellent companion to our popular sendmail, Third Edition, the sendmail 8.13 Companion provides a timely way to document the improvements in V8.13 in parallel with its release. The book highlights the important changes in the latest update to sendmail, pointing out not just what is handy or nice to have, but what's critical in getting the best behavior from sendmail. This is especially important now that spam is on the rise, and because mobile technology requires roving laptops to use encrypted connections. Not surprisingly, many of the changes and additions to V8.13 have been driven by the ongoing fight against spam. Anyone concerned about spam--and who isn't?--will benefit greatly by upgrading to V8.13 sendmail. Among its many enhancements, V8.13 includes new routines that support the SPF sending site authentication standard (in the Milter library), simultaneous connection control, high connection rate control, and finer tuning of SASL parameters. The additions to the Milter library, alone, make upgrading worthwhile, but sendmail's connection control makes it a no-brainer. The key to understanding them is the sendmail 8.13 Companion. The book is divided into twenty-five chapters that parallel the chapters in the third edition of the sendmail book. For instance, if you're interested in Options configuration (Chapter 24 in sendmail), you'll turn to Chapter 24 in your companion volume to find out what's new in V8.13. For a simple dot release (8.12 to 8.13), V8.13 sendmail has added more features, options, and fundamental changes than any other single dot release has included. If you need to set up or manage sendmail, you'll want this companion volume close at hand. Even if you aren't ready to upgrade to V8.13, you'll find the key to understanding them is the sendmail 8.13 Companion a useful guide to understanding and staying current with the latest changes in sendmail.

Table of Contents

  1. sendmail 8.13 Companion
    1. Preface
      1. Why This Companion Book
      2. Why V8.13 sendmail
      3. Organization
      4. Audience and Assumptions
      5. Unix and sendmail Versions
      6. Conventions Used in This Handbook
      7. Using Code Examples
      8. How to Contact Us
      9. Safari Enabled
      10. Acknowledgments
    2. 1. Release Notes
      1. Parts of RELEASE_NOTES
      2. A Useful Program
    3. 2. Build and Install sendmail
      1. What’s New As of V8.13
        1. confMSP_STFILE Build m4-macro
      2. Useful Tables
        1. The sendmail Source Directory
        2. Build m4 Directives
    4. 3. Tune sendmail with Compile-Time Macros
      1. What’s New with V8.13
        1. The SOCKETMAP Compile-Time Macro
        2. The SM_CONF_LDAP_INITIALIZE Compile-Time Macro
      2. A Useful Table
    5. 4. Configure sendmail.cf with m4
      1. What’s New with V8.13
        1. confREJECT_LOG_INTERVAL
        2. confREQUIRES_DIR_FSYNC
        3. confCONNECTION_RATE_WINDOW_SIZE
        4. confTO_QUEUERETURN_DSN
        5. confTO_QUEUEWARN_DSN
        6. Feature local_lmtp Additional Argument
        7. The New ratecontrol Feature
          1. ratecontrol and delay checks
          2. Terminate connections with 421
        8. The New conncontrol Feature
          1. conncontrol and delay checks
          2. Terminate connections with 421
        9. The LOCAL_UUCP mc Macro
      2. A Useful Table
    6. 5. Companion Programs
      1. What’s New with V8.13
        1. A New mailstats Display
        2. New V8.13 makemap -D Switch
        3. New V8.13 vacation -j Switch
        4. New V8.13 vacation -R Switch
      2. Useful Tables
        1. The Build Program’s Command-Line Switches
        2. The editmap Command-Line Switches
        3. The mail.local Command-Line Switches
        4. The mailstats Program’s Command-Line Switches
        5. The makemap Program’s Command-Line Switches
        6. The praliases Program’s Command-Line Switches
        7. The vacation Program’s Command-Line Switches
    7. 6. Tune Performance
      1. What’s New with V8.13
        1. Queue Disk Mounts
      2. Useful Tables
    8. 7. Handle Spam and Filter with Milter
      1. What’s New with V8.13
        1. confREJECT_MSG
        2. The Milter Library
          1. The new smfi_quarantine( ) routine
          2. The new smfi_progress( ) routine
          3. The new smfi_stop( ) routine
          4. The new smfi_setdbg( ) routine
          5. The new smfi_setmlreply( ) routine
          6. The new smfi_setbacklog( ) routine
          7. The new smfi_opensocket( ) routine
          8. The new smfi_insheader( ) routine
          9. SMTP 421 and SMFIS_TEMPFAIL
          10. Root won’t remove socket file
        3. The greet_pause Feature
        4. The mtamark Feature (Experimental)
        5. The use_client_ptr feature
      2. Useful Tables
        1. Relay Features
        2. Access Database Righthand-Side Values
    9. 8. Test Rule Sets with -bt
      1. What’s New with V8.13
      2. A Useful Table
    10. 9. DNS and sendmail
      1. What’s New with V8.13
        1. Feature dnsbl Uses dns Database-Map
        2. Call check_relay with ${client_name}
      2. Useful Tables
    11. 10. Maintain Security with sendmail
      1. What’s New with V8.13
      2. A Useful Table
        1. Recommended Permissions
    12. 11. Manage the Queue
      1. What’s New with V8.13
        1. The qf File’s V Line
        2. Queue Quarantining
          1. Overview of quarantining
          2. Quarantine command-line switches
            1. The -qQ command-line switch
            2. The -Q command-line switch
          3. The mailq command’s display
          4. Use Milter to quarantine
          5. Use the access database to quarantine
          6. Use rule sets to quarantine
        3. Logging
        4. Manage Quarantined Envelopes with qtool.pl
        5. The qf File’s q Line
        6. Handle Lost Envelopes
      2. Useful Tables
        1. Parts of a Queued Message
        2. The qf File Internals
    13. 12. Maintain Aliases
      1. What’s New with V8.13
        1. RFC2142 Common Mailbox Names
      2. Useful Tables
    14. 13. Mailing Lists and ~/.forward
      1. What’s New with V8.13
        1. Mail List Etiquette
          1. Offer subscription and management information
          2. Keep messages small
          3. Don’t pack addresses in headers
          4. Let software do the job for you
          5. Maintain a clear policy
          6. Boot off offending members
      2. Useful Tables
    15. 14. Signals, Transactions, and Syslog
      1. What’s New with V8.13
        1. The milter= Equate
        2. The action= Equate
        3. The quarantine= Equate
      2. A Useful Table
        1. Logging Equates
    16. 15. The sendmail Command Line
      1. What’s New with V8.13
        1. The Modified -v Verbose Switch with the MSP
      2. Useful Tables
        1. Alternative argv[0] Names
        2. Command-Line Switches
    17. 16. Debug sendmail with -d
      1. What’s New with V8.13
        1. The New -D Debug File Switch
      2. Useful Tables
        1. Table of All -d Categories
        2. Table of Useful Categories
    18. 17. Configuration File Overview
      1. What’s New with V8.13
      2. Useful Tables
        1. Table of Configuration File Commands
    19. 18. The R (Rules) Configuration Command
      1. What’s New with V8.13
        1. Rules No Longer Need to Balance
      2. Useful Tables
        1. Table of LHS Operators
        2. Table of RHS Operators
        3. Table of Rule Operators
    20. 19. The S (Rule Sets) Configuration Command
      1. What’s New with V8.13
        1. More srv_features Return Values
      2. A Useful Table
        1. Policy Rule Sets
    21. 20. The M (Mail Delivery Agent) Configuration Command
      1. What’s New with V8.13
        1. New F=B Delivery Agent Flag
        2. No F=f for local_lmtp mc config
        3. The New F=W Flag
      2. Useful Tables
        1. Delivery Agents by Name
        2. Delivery Agent Equates
        3. Delivery Agent F= Flags
    22. 21. The D (Define a Macro) Configuration Command
      1. What’s New with V8.13
        1. The ${auth_author} and ${auth_authen} Macros
        2. The ${client_connections} Macro
        3. The ${client_ptr} Macro
        4. The ${client_rate} Macro
        5. The ${msg_id} Macro
        6. The ${nbadrcpts} Macro
        7. The ${quarantine} Macro
        8. The ${time} Macro
        9. The ${total_rate} Macro
      2. A Useful Table
    23. 22. The C and F (Class Macro) Configuration Commands
      1. What’s New with V8.13
        1. The $=w Class Is Less Auto-Filled
      2. Useful Tables
        1. Use mc Macros to Fill Class Macros
        2. Classes with mc Configuration
        3. Internal Class Macros
    24. 23. The K (Database-Map) Configuration Command
      1. What’s New with V8.13
        1. New LDAP Database-Map Switches
          1. New LDAP -w database-map switch
          2. New LDAP -H database-match switch
        2. LDAP Recursion
          1. LDAP default schema for aliases includes recursion
          2. LDAP default schema for classes includes recursion
        3. ldap_routing Reviews Envelope Sender
        4. The ldap_routing Feature Offers More
        5. The socket Database-Map Type
      2. Useful Tables
        1. Definitions for confMAPDEF
        2. Possible K Command Types
        3. The K Command Switches
    25. 24. The O (Options) Configuration Command
      1. What’s New with V8.13
        1. New =m Flag for the AuthOption option
        2. ConnectionCacheSize and ConnectionCacheTimeout with P=[LPC]
        3. The CheckpointInterval Option
        4. DaemonPortOptions=InputFilter=
        5. DaemonPortOptions new Modify=s
        6. The PID File Is Removed on Exit
        7. The New QueueSortOrder None Setting
        8. The New AuthRealm Option
        9. The New CRLFile Option
        10. The New FallbackSmartHost Option
        11. The New RejectLogInterval Option
        12. The New RequiresDirfsync Option
        13. The New ConnectionRateWindowSize Option
        14. ErrorMode=write Deprecated
        15. The Timeout.queuereturn.dsn Addition
        16. The Timeout.queuewarn.dsn Addition
        17. The Milter.macros.eom Addition
      2. Useful Tables
        1. Options in the mc File
        2. Alphabetical Table of All Options
    26. 25. The H (Headers) Configuration Command
      1. What’s New with V8.13
        1. No Balancing with $>+
        2. The confMESSAGEID_HEADER Macro
      2. Useful Tables
        1. Header Names
        2. Header Behavior in conf.c
        3. Headers and mc Configuration
        4. Sender Headers
        5. Recipient Headers
        6. Identification and Control Headers
        7. Date and Trace Headers
        8. Other Headers
        9. MIME Headers
        10. Forwarding with Resent Headers
    27. Index
    28. Colophon