上卷
Perface
I: A Tutorial
1: Introduction
1.1 MUA Versus MTA
1.2 Why IS sendmail So Complex?
1.3 Three Important Parts
1.4 Run sendmailby Hand
1.5 The Header
1.6 The Body
1.7 The Envelope
1.8 Things to Try
2: Have a V8
2.1 Get the Source
2.2 Read the Documents
2.3 What’s What in src
2.4 Preliminaries
2.5 Build
2.6 Test It
2.7 Things to Try
3: The Roles of sendmail
3.1 Role in the Filesystem
3.2 Role in Local Delivery
3.3 Role in Network Transport
3.4 Role as a Daemon
3.5 Thins to Try
4: How to Run sendmail
4.1 Become a Mode(-b)
4.2 Verbose(-v)
4.3 Debugging(-d)
4.4 Things to Try
5: The sendmail.cf file
5.1 Overview
5.2 The Minimal File
5.3 A Quick Tour
5.4 Things to Try
6: The Mail Hub and Delivery Agents
6.1 The client.cf File
6.2 Define a Mail Delivery Agent
6.3 The Local Delivery Agent
6.4 Add the Missing Parts to Mhub
6.5 Things to Try
7: Macros
7.1 Overview
7.2 Defining Macros
7.3 Prdedfined Macros
7.4 Things to Try
8: Addresses and Rules
8.1 A Fictional Network
8.2 Why rules?
8.3 Rule Sets
8.4 Rules
8.5 The Workspace
8.6 The Flow of Addresses Through Rules
8.7 Wildcard Operators
9: Rule Set 0
9.1 Introducing Rule Set 0
9.2 The RHS Triple
9.3 Testing Rule Set 0
9.4 The error Delivery Agent
9.5 Things to Try
10: Rule Set 3
10.1 Why Preprocess?
10.2 Rule Set 3
10.3 Missing Addresses
10.4 Nested Angle Brackets
10.5 Details of Rule Flow
10.6 Things to Try
11: Rule Sets 1and S=
11.1 flow of the Sender’s Address
11.2 Rule Set S=
11.3 All Mail from the Hub
11.4 Rule Set Hubset
11.5 Testing So Far
11.6 Handling user@thishost
11.7 Rule Set 1
11.8 Things to Try
12: Class
12.1 The Class Command
12.2 The File Form of Class
12.3 Things to Try
13: Setting Options
13.1 Options:An Overview
13.2 Required Options
13.3 Testing the Options
13.4 Sending Mail
13.5 Things to Try
14: Headers,Precedence,and Trust
14.1 Headers
14.2 Headers Versus Delivery Agent Flags
14.3 Headers Learned So Far
14.4 Precedence
14.5 Sending Real Mail
14.6 Tristed User
14.7 Things to Try
15: Install and Test the client.cf File
15.1 Test the Configuration File
15.2 The Real Queue Directory
15.3 MX Records
15.4 Hub Accepts Mail for Client
15.5 Prevent the Daemon from Running
15.6 Install the client.cf File
15.7 Things to Try
16: The null.mc File and m4
16.1 The cf/cf Directory
16.2 The null.mc File
16.3 Run m4
16.4 Test the Result
16.5 Qualify All Addresses?
16.6 Things to Try
17: The Hub’s Complex Rules
17.1 Rule set 3
17.2 Rule set 96
17.3 Rule set 0
17.4 Rule set 4
17.5 Things to Try
II: Build and Install
18: Compile and Install sendmail
18.1 To Use or Not to Use
18.2 Vendor Versus Compiling
18.3 Obtain the Source
18.4 Tuning Makefile
18.5 Run Make
18.6 Install sendmail
18.7 Pitfalls
18.8 Alphabetized Reference
19: V8 m4 Configuration
19.1 The m4 Preprocessor
19.2 Build with m4
19.3 The Minimal mc File
19.4 m4 Macros by Function
19.5 Pitfalls
19.6 Alphabetized m4 Macros
20: The cbeckcompat O Cookbook
20.1 How checkcompat O Works
20.2 The Cookbook
20.3 Alphabetized V8.8 Subroutines
Ⅲ: Administration
21: DNS and sendmail
21.1 Overview
21.2 How sendmail Uses DNS
21.3 Set Up MX Records
21.4 How to Use nslookup
21.5 Prepare for Disaster
21.6 Pitfalls
22: Security
22.1 Why root?
22.2 The Environment
22.3 SMTP Probes
22.4 The Configuration File
22.5 Permissions
22.6 The Aliases File
22.7 Forged Mail
22.8 Security Features
22.9 Pitfalls
23: The Queue
23.1 Overview of the Queue
23.2 Parts of a Queued Message
23.3 A Bogus qf File(V8 only):Qf
23.4 Printing the Queue
23.5 How the Queue Is Processed
23.6 Cause the Queue to Be Processed
23.7 Process Alternate Queue
23.8 Pitfalls
23.9 The qf File Internals
24: Aliases
24.1 The aliases(5)File
24.2 Forms of Alias Delivery
24.3 Write a Delivery Agent Script
24.4 Special Aliases
24.5 The Aliases Database
24.6 Prevent Aliasing with-n
24.7 Pitfalls
25: Mailing Lists and ~/.forward
25.1 Internal Mailing Lists
25.2 :include:Mailing Lists
25.3 Defining a Mailing List Ownet
25.4 Exploder Mailing Lists
25.5 Problems with Mailing Lists
25.6 Packages That Help
25.7 The User’s~/.forward File
25.8 Pitfalls
26: Logging and Statistics
26.1 Logging with syslog
26.2 Statistics
26.3 Signaling the Daemon
26.4 Log Transactions with-X
26.5 Pitfalls
下卷
Ⅳ: Reference
27: The Configuration File
27.1 Overall Syntax
27.2 Comments
27.3 V8 Comments
27.4 Continuation Lines
27.5 The V Configuration Command
27.6 Pitfalls
28: Rules
28.1 Overview
28.2 Todinizing Rule
28.3 The Workspace
28.4 The Behavior of a Rule
28.5 The LHS
28.6 The RHS
28.7 Pitfalls
29: Rule Sets
29.1 The S Configuration Command
29.2 Rule Sets and m4
29.3 The Sequence of Rule Sets
29.4 Rule Set 3
29.5 Rule set 4
29.6 Rule set 0
29.7 Rule set 5
29.8 Rule set 2
29.9 Rule set 1
29.10 The check_...Rule Sets
29.11 Pitfalls
30: Delivery Agents
30.1 Configuration File Syntax
30.2 The Symbolic Name
30.3 m4 Configuration Syntax
30.4 The Equates
30.5 Internally Dfined Names
30.6 How Executed
30.7 Pitfalls
30.8 Alphabetized F= Flags
31: Defined Macros
31.1 Preassigned Macros
31.2 Command-Line Definitions
31.3 Configuration File Definitions
31.4 Macro Names
31.5 Macro Expansion:$ and $&
31.6 Macro Conditionals:$?,$|,and $
31.7 Categories of Macros
31.8 Macros with the m4 Technique
31.9 Pitfalls
31.10 Alphabetized Reference
32: Class Macros
32.1 Class Configuration Commands
32.2 Access Class in Rules
32.3 Class with m4
32.4 Pitfalls
32.5 Alphabetized Reference
33: Database Macros
33.1 Enable at Compile Time
33.2 create Files with makemap
33.3 The K Configuration Command
33.4 Use Maps with $(and $)in Rules
33.5 The User Database
33.6 Database Maps and m4
33.7 Pitfalls
33.8 Alphabetized Reference
34: Options
34.1 Command-Line Options
34.2 Configuration-File Options
34.3 Configuring with V8 m4 Options
34.4 Alphabetical Table of All Options
34.5 Option Argument Types
34.6 Interrelating Options
34.7 Pitfalls
34.8 Alphabetized Rference
35: Headers
35.1 The H Configuration Command
35.2 Header Names
35.3 Header Field Contents
35.4 ?flags? in Header Definitions
35.5 Header Behavior in conf.c
35.6 Headers by Category
35.7 Forwarding with Resent-Headers
35.8 Precedence
35.9 Pitfalls
35.10 Alphabetized Reference
36: The Command Line
36.1 Alternative argv[0] Names
36.2 Command-Line Switches
36.3 List of Recipient Addresses
36.4 Processing the Command Line
36.5 sendmail’s exit() Status
36.6 Pitfalls
36.7 Alphabetized Reference
37: Debugging with-d
37.1 The Syntax of -d
37.2 Debugging Behavior
37.3 Iterpreting the Output
37.4 Pitfalls
37.5 Reference in Numerical Order
38: Rule-Set Testing with-bt
38.1 Overview
38.2 Configuration Lines
38.3 Dump a Macro
38.4 Show an Item
38.5 Complex Actions Made Simple
38.6 Process-Specified Addresses
38.7 Add Debugging for Detail
38.8 Batch Rule-Set Testing
38.9 Pitfalls
V: Appendixes
A: The client.cf File
B: Host Status File Internals
C: The Berkeley DB Database
D: Sun Enhancements
Bibliography
Index