sendmail 2nd Ed.

Help for UNIX System Administrators

Bryan Costales, Eric Allman

Publisher: O'Reilly, 1997, 1021 pages

ISBN: 1-56592-222-0

Keywords: System Administration, Networks

Last modified: April 7, 2022, 2:23 p.m.

This new edition covers sendmail Version 8.8 from Berkeley, and the standard versions available on most systems. It is far and away the most comprehensive book ever written on sendmail, the program that acts like a traffic cop in routing and delivering mail on UNIX-based networks. Although sendmail is used on almost every UNIX-system, it's one of the last great uncharted territories — and most difficult utilities to to learn — in UNIX system administration.

This book provides a complete sendmail tutorial, plus extensive reference material on every aspect of the program. Part One of the book is a tutorial on understanding sendmail; Part Two covers building, installation, and m4 configuration of sendmail; Part Three covers practical issues in sendmail administration; Part Four is a comprehensive reference section; and Part Five consists of appendixes and a bibliography.

In this second edition an expanded tutorial demonstrates hub's cf files and nullclient.mc. Other new topics include the #error delivery agent, sendmail's exit values, MIME headers, and how to oset up and use the user database, mailertable, and smrsh. Solution-oriented examples throughout the book help you solve your own sendmail problems. Also, this new edition is cross-referenced with section numbers.

  1. Tutorial
    1. Introduction
      1. MUA Versus MTA
      2. Why Is sendmail So Complex?
      3. Three Important Parts 
      4. Run sendmail by Hand
      5. The Header
      6. The Body
      7. The Envelope
      8. Things to Try
    2. Have a V8
      1. Get the Source
      2. Read the Documents
      3. What's What in src
      4. Preliminaries
      5. Build
      6. Test It
      7. Things to Try
    3. The Roles of sendmail
      1. Role in the Filesystem
      2. Role in Local Delivery
      3. Role in Network Transport
      4. Role as a Daemon
      5. Things to Try
    4. How to Run sendmail
      1. Become Mode (-b)
      2. Verbose Mode (-v)
      3. Debugging Mode (-d)
      4. Things to Try
    5. The sendmail.cf File
      1. Overview
      2. The Minimal File
      3. A Quick Tour
      4. Things to Try
    6. Mail Hub abd Delivery Agents
      1. The client.cf File
      2. Define a Mail Delivery Agent
      3. The Local Delivery Agent
      4. Add the Missing Parts to Mhub
      5. Things to Try
    7. Macros
      1. Overview
      2. Defining Macros
      3. Predefined Macros
      4. Things to Try
    8. Addresses and Rules
      1. A Fictional Network
      2. Why Rules?
      3. Rule Sets
      4. Rules
      5. The Workspace
      6. The Flow of Addresses Through Rules
      7. Operators Versus the Workspace
      8. Wildcard Operators
      9. Things to Try
    9. Rule Set 0
      1. Introducing Rule Set 0
      2. The RHS Triple
      3. Testing Rule Set 0
      4. The error Delivery Agent
      5. Things to Try
    10. Rule Set 3
      1. Why Preprocess?
      2. Rule Set 3
      3. Missing Addresses
      4. Nested Angle Brackets
      5. Details of Rule Flow
      6. Things to Try
    11. Rule Sets 1 and S=
      1. Flow of the Sender's Address
      2. Rule Set S=
      3. All Mail From the hub
      4. Rule Set Hubset
      5. Testing So Far
      6. Handling user@this.host
      7. Rule Set 1
      8. Things to Try
    12. Class
      1. The Class Command
      2. The File Form of Class
      3. Things to Try
    13. Setting Options
      1. Options: An Overview
      2. Required Options
      3. Testing the Options
      4. Sending Mail
      5. Things to Try
    14. Header, Precedence, and Trust
      1. Headers
      2. Headers Versus Delivery Agent Flags
      3. Headers Learned So Far
      4. Precedence
      5. Sending Real Mail
      6. Trusted User
      7. Things to try
    15. Install and Test the client.cf File
      1. Test the Configuration File
      2. The Real Queue and OQ
      3. MX Records
      4. Hub Accepts Mail from Client
      5. Prevent the Daemon from Running
      6. Install the client.cf File
      7. Things to Try
    16. The null.mc File and m4
      1. The cf/cf Directory
      2. The null.mc File
      3. Run m4
      4. Test the Result
      5. Qualify All Addresses?
      6. Things to Try
    17. The Hub's Complex Rules
      1. Rule Set 3
      2. Rule Set 96
      3. Rule Set 0
      4. Rule Set 4
      5. Things to Try
  2. Build and Install
    1. Compile and Install sendmail
      1. To Use or Not to Use
      2. Vendor Versus Compiling
      3. Obtain the Source
      4. Tuning Makefile
      5. Run Make
      6. Install sendmail
      7. Pitfalls
      8. Alphabetized Reference
    2. V8 m4 Configuration
      1. The m4 Preprocessor
      2. Build with m4
      3. The Minimal mc File
      4. m4 Macros by Function
      5. Pitfalls
      6. Alphabetized m4 Macros
    3. The checkcompat() Cookbook
      1. How checkcompat() Works
      2. The Cookbook
      3. Alphabetized V8.8 Subroutines
  3. Administration
    1. DNS and sendmail
      1. Overview
      2. How sendmail Uses DNS
      3. Set Up MX Records
      4. How to Use nslookup
      5. Prepare for Disaster
      6. Pitfalls
    2. Security
      1. Why root?
      2. The Environment
      3. SMTP Probes
      4. The Configuration File
      5. Permissions
      6. The Aliases File
      7. Forged Mail
      8. Security Features
      9. Pitfalls
    3. The Queue
      1. Overview of the Queue
      2. Parts of a Queued File
      3. A Bogus qf File (V8 only): Qf
      4. Printing the Queue
      5. How the Queue is  Processed
      6. Cause the Queue to be Processed
      7. Process Alternate Queues
      8. Pitfalls
      9. The qf File Internals
    4. Aliases
      1. The aliases(5) File
      2. Forms of Alias Delivery
      3. Write a Delivery Agent Script
      4. Special Aliases
      5. The Aliases Database
      6. Prevent Aliasing With -n
      7. Pitfalls
    5. Mailing Lists and ~/.forward
      1. Internal Mailing Lists
      2. :include: Mailing Lists
      3. Defining a Mailing List Owner
      4. Exploder Mailing Lists
      5. Problems With Mailing Lists
      6. Packages That Help
      7. The User's ~/.forward File
      8. Pitfalls
    6. Logging and Statistics
      1. Logging with syslog
      2. Statistics
      3. Signaling the Daemon
      4. Log Transactions with -X
      5. Pitfalls
  4. Reference
    1. The Configuration File
      1. Overall Syntax
      2. Comments
      3. V8 Comments
      4. Continuation Lines
      5. The V Configuration Command
      6. Pitfalls
    2. Rules
      1. Overview
      2. Tokenizing Rules
      3. The Workspace
      4. The Behavior of a Rule
      5. The LHS
      6. The RHS
      7. Pitfalls
    3. Rule Sets
      1. The S Configuration Command
      2. Rule Sets and m4
      3. The Sequence of Rule Sets
      4. Rule Set 3
      5. Rule Set 4
      6. Rule Set 0
      7. Rule Set 5
      8. Rule Set 2
      9. Rule Set 1
      10. The check_... Rule Sets
      11. Pitfalls
    4. Delivery Agents
      1. Syntax
      2. The Symbolic Name
      3. m4 Configuration Syntax
      4. The Equates
      5. Internally Defined Names
      6. How Executed
      7. Pitfalls
      8. Alphabetized F= Flags
    5. Defined Macros
      1. Preassigned Macros
      2. Command-line Definitions
      3. Configuration File Definitions
      4. Macro Names
      5. Macro Expansion: $ and $&
      6. Macro Conditionals: $?, $|, and $.
      7. Categories of Macros
      8. Macros withthe  m4 Technique
      9. Pitfalls
      10. Alphabetized Reference
    6. Class Macros
      1. Class Configuration Commands
      2. Access Class in Rules
      3. Class with m4
      4. Pitfalls
      5. Alphabetized Reference
    7. Database Macros
      1. Enable at Compile Time
      2. Create File with makemap
      3. The K Configuration Command
      4. Use Maps with $( and $) in Rules
      5. The User Database
      6. Database Maps and m4
      7. Pitfalls
      8. Alphabetized Reference
    8. Options
      1. Command-Line Options
      2. Configuration-File Options
      3. Configuration with V8 m4 Options
      4. Alphabetical Table of All Options
      5. Option Argument Types
      6. Interrelating Options
      7. Pitfalls
      8. Alphabetized Reference
    9. Headers
      1. The H Configuration Command
      2. Header Names
      3. Header Field Contents
      4. ?flags? in Header Definitions
      5. Headers by Category
      6. Forwarding with Resent-Headers
      7. Precedence
      8. Pitfalls
      9. Alphabetized Reference
    10. The Command Line
      1. Alternative argv[0] Names
      2. Command-line Switches
      3. List of Recipient Addresses
      4. Processing the Command Line
      5. Pitfalls
      6. Alphabetized Reference
    11. Debugging With -d
      1. Syntax of -d
      2. Debugging Behavior
      3. Interpreting the Output
      4. Pitfalls
      5. Reference in Numerical Order
    12. Rule-Set Testing with -bt
      1. Overview
      2. Configuration Lines
      3. Dump a Macro
      4. Show an Item
      5. Complex Actions Made Simple
      6. Process-Specified Addresses
      7. Add Debugging for Detail
      8. Batch Rule-Set Testing
      9. Pitfalls
  5. Appendixes
    1. The client.cf File
    2. Host Status File Internals
    3. The Berkeley DB Database
    4. Sun Enhancements

Reviews

sendmail

Reviewed by Roland Buresund

Decent ****** (6 out of 10)

Last modified: April 7, 2022, 2:25 p.m.

Second edition of an already decent book. If you haven't migrated to Postfix, this is the book for you.

Comments

There are currently no comments

New Comment

required

required (not published)

optional

required

captcha

required