- STAFF PICKS
- GIFTS + GIFT CARDS
- SELL BOOKS
- FIND A STORE
This item may be
Check for Availability
Sendmail 2ND Editionby Bryan Costales
Synopses & Reviews
This second edition of sendmail 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 learn--in Unix system administration.This book provides a complete sendmail tutorial, plus extensive reference material on every aspect of the program. What's more, it's authoritative, having been coauthored by Eric Allman, the developer of sendmail. In addition to Version 8.8, it covers earlier versions available on many systems, such as those found on Sun workstations. Part One is a tutorial on understanding sendmail; Part Two covers the 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 file and nullclient.mc. Other topics include the #error delivery agent, sendmail's exit values, MIME headers, and how to set up and use the user database, mailertable, and smrsh. Solution-oriented examples throughout the book help you solve your own sendmail problems. Plus, this edition is cross-referenced with section numbers.
This second edition covers sendmail version 8.8, This cross-referenced edition offers an expanded tutorial. solution-oriented examples, and new topics such as the #error delivery agent, sendmail's exit values, MIME headers, and how to set up and use the user database, mailertable, and smrsh.
Includes bibliographical references (p. 991-996) and index.
About the Author
is CTO with SL3D, Inc. in Boulder, Colorado. He has been active in system administration for over fifteen years and has been writing articles and books about computer software for over twenty years. His most notable books are C from A to Z (Prentice Hall), Unix Communications (Howard Sams), and, of course, sendmail (O'Reilly & Associates).
is Sendmail, Inc.'s chief technology officer and co-founder. Allman authored sendmail, the world's first Internet Mail program, in 1981 while at the University of California at Berkeley. He continues to spearhead sendmail.org, the global team of volunteers that maintain and support the sendmail open source platform.
Table of Contents
Table of Contents Preface PART 1: A Tutorial Chapter 1. Introduction 1.1 MUA Versus MTA 1.2 Why Is sendmail So Complex? 1.3 Three Important Parts 1.4 Run sendmail by Hand 1.5 The Header 1.6 The Body 1.7 The Envelope 1.8 Things to Try Chapter 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 Chapter 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 Things to Try Chapter 4. How to Run sendmail 4.1 Become a Mode (\(enb) 4.2 Verbose (\(env) 4.3 Debugging (\(end) 4.4 Things to Try Chapter 5. The sendmail.cf File 5.1 Overview 5.2 The Minimal File 5.3 A Quick Tour 5.4 Things to Try Chapter 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 Chapter 7. Macros 7.1 Overview 7.2 Defining Macros 7.3 Predefined Macros 7.4 Things to Try Chapter 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 8.8 Things to Try Chapter 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 Chapter 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 Chapter 11. Rule Sets 1 and 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 Chapter 12. Class 12.1 The Class Command 12.2 The File Form of Class 12.3 Things to Try Chapter 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 Chapter 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 Trusted User 14.7 Things to Try Chapter 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 Chapter 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 Chapter 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 PART 2: Build and Install Chapter 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 Chapter 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 Chapter 20. The checkcompat() Cookbook 20.1 How checkcompat() Works 20.2 The Cookbook 20.3 Alphabetized V8.8 Subroutines PART 3: Administration Chapter 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 Chapter 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 Chapter 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 Queues 23.8 Pitfalls 23.9 The qf File Internals Chapter 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 \(enn 24.7 Pitfalls Chapter 25. Mailing Lists and ~/.forward 25.1 Internal Mailing Lists 25.2 :include: Mailing Lists 25.3 Defining a Mailing List Owner 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 Chapter 26. Logging and Statistics 26.1 Logging with syslog 26.2 Statistics 26.3 Signaling the Daemon 26.4 Log Transactions with \(enX 26.5 Pitfalls PART 4: Reference Chapter 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 Chapter 28. Rules 28.1 Overview 28.2 Tokenizing Rules 28.3 The Workspace 28.4 The Behavior of a Rule 28.5 The LHS 28.6 The RHS 28.7 Pitfalls Chapter 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 Chapter 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 Defined Names 30.6 How Executed 30.7 Pitfalls 30.8 Alphabetized F= Flags Chapter 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 Chapter 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 Chapter 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 Chapter 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 Reference Chapter 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\(enHeaders 35.8 Precedence 35.9 Pitfalls 35.10 Alphabetized Reference Chapter 36. The Command Line 36.1 Alternative argv 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 Chapter 37. Debugging with \(end 37.1 The Syntax of \(end 37.2 Debugging Behavior 37.3 Interpreting the Output 37.4 Pitfalls 37.5 Reference in Numerical Order Chapter 38. Rule-Set Testing with \(enbt 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 PART 5: Appendixes Appendix A. The client.cf File Appendix B. Host Status File Internals Appendix C. The Berkeley DB Database Appendix D. Sun Enhancements Glossary Index
What Our Readers Are Saying