Synopses & Reviews
Reliable, flexible, and configurable enough to solve the mail routing needs of any web site, sendmail has withstood the test of time, but has become no less daunting in its complexity. Even the most experienced system administrators have found it challenging to configure and difficult to understand. For help in unraveling its intricacies, sendmail administrators have turned unanimously to one reliable source the bat book, or
sendmail by Bryan Costales and the creator of
sendmail, Eric Allman. Now in its third edition, this best-selling reference will help you master the most demanding version of sendmail yet.
The new edition of sendmail has been completely revised to cover sendmail 8.12 a version with more features and fundamental changes than any previous version of the Unix-based email routing program. Because the latest version of sendmail differs so significantly from earlier versions, a massive rewrite of this best-selling reference was called for.
The book begins by guiding you through the building and installation of sendmail and its companion programs, such as vacation and makemap. These additional programs are pivotal to sendmail's daily operation. Next, you'll cover the day-to-day administration of sendmail. This section includes two entirely new chapters, "Performance Tuning" to help you make mail delivery as efficient as possible, and "Handling Spam" to deal with sendmail's rich anti-spam features. The next section of the book tackles the sendmail configuration file and debugging. And finally, the book wraps up with five appendices that provide more detail about sendmail than you may ever need. Altogether, versions 8.10 through 8.12 include dozens of new features, options, and macros, and this greatly expanded edition thoroughly addresses each, and provides and advance look at sendmail version 8.13 (expected to be released in 2003).
With sendmail, Third Edition in hand, you will be able to configure this challenging but necessary utility for whatever needs your system requires. This much anticipated revision is essential reading for sendmail administrators.
Synopsis
Includes bibliographical references (p. 1177-1182) and index.
Synopsis
; 25.20 Content-Disposition:; 25.21 Content-Id:; 25.22 Content-Length:; 25.23 Content-Transfer-Encoding:; 25.24 Content-Type:; 25.25 Date:; 25.26 Delivered-To:; 25.27 Disposition-Notification-To:; 25.28 Encrypted:; 25.29 Errors-To:; 25.30 From:; 25.31 Full-Name:; 25.32 In-Reply-To:; 25.33 Keywords:; 25.34 Mail-From:; 25.35 Message-ID:; 25.36 Message:; 25.37 MIME-Version:; 25.38 Posted-Date:; 25.39 Precedence:; 25.40 Priority:; 25.41 Received:; 25.42 References:; 25.43 Reply-To:; 25.44 Return-Path:; 25.45 Return-Receipt-To:; 25.46 Sender:; 25.47
About the Author
Bryan Costales lives and writes in San Francisco, California. He has been active in system administration and software development for more than 20 years and has been writing articles and books about computer software for more than 25 years. His most notable books are "C from A to Z" (Prentice Hall), "Unix Communications" (Howard Sams), and "sendmail" (O'Reilly). In addition to technical books, he also writes fiction and hosts a free multimedia web site.
Table of Contents
Dedication; Preface; Changes Since the Previous Edition; Why This Book Is Necessary; History; Eric Allman Speaks; Organization; Audience and Assumptions; Unix and sendmail Versions; Conventions Used in This Handbook; Additional Sources of Information; Other Books, Other Problems; How to Contact Us; Acknowledgments; Chapter 1: Some Basics; 1.1 Email Basics; 1.2 Requests for Comments (RFCs); 1.3 Email and sendmail; 1.4 Basic Parts of sendmail; 1.5 Basic Parts of a Mail Message; 1.6 Basic Roles of sendmail; 1.7 Basic Modes of sendmail; 1.8 The sendmail.cf File; Part I: Build and Install; Chapter 2: Build and Install sendmail; 2.1 Vendor Versus Compiling; 2.2 Obtain the Source; 2.3 The Build Script; 2.4 Building with m4; 2.5 Build sendmail; 2.6 Install sendmail; 2.7 Pitfalls; 2.8 Build m4 Macro Reference; 2.9 APPENDDEF( ); 2.10 confBEFORE; 2.11 confBLDVARIANT; 2.12 confBUILDBIN; 2.13 confCC; 2.14 confCCOPTS; 2.15 confCCOPTS_SO; 2.16 confCOPY; 2.17 confDEPEND_TYPE; 2.18 confDEPLIBS; 2.19 confDONT_INSTALL_CATMAN; 2.20 confEBINDIR; 2.21 confENVDEF and conf_prog_ENVDEF; 2.22 confFORCE_RMAIL; 2.23 confGBIN...; 2.24 confHFDIR; 2.25 confHFFILE; 2.26 confINCDIRS; 2.27 confINC...; 2.28 confINSTALL; 2.29 confINSTALL_RAWMAN; 2.30 confLD; 2.31 confLDOPTS; 2.32 confLDOPTS_SO; 2.33 confLIB...; 2.34 confLIBDIRS; 2.35 confLIBS and conf_prog_LIBS; 2.36 confLIBSEARCH; 2.37 confLIBSEARCHPATH; 2.38 confLN; 2.39 confLNOPTS; 2.40 confLINKS; 2.41 confMAN...; 2.42 confMAPDEF; 2.43 confMBIN...; 2.44 confMSPQOWN; 2.45 confMSP_QUEUE_DIR; 2.46 confMTCCOPTS; 2.47 confMTLDOPTS; 2.48 confNO_HELPFILE_INSTALL; 2.49 confNO_MAN_BUILD; 2.50 confNO_MAN_INSTALL; 2.51 confNO_STATISTICS_INSTALL; 2.52 confOBJADD; 2.53 confOPTIMIZE; 2.54 confRANLIB; 2.55 confRANLIBOPTS; 2.56 confREQUIRE_LIBSM; 2.57 confSBINDIR; 2.58 confSBINGRP; 2.59 confSBINMODE; 2.60 confSBINOWN; 2.61 confSHAREDLIB...; 2.62 confSHELL; 2.63 confSM_OS_HEADER; 2.64 confSMOBJADD; 2.65 confSMSRCADD; 2.66 confSONAME; 2.67 conf_prog_OBJADD; 2.68 conf_prog_SRCADD; 2.69 confSRCDIR; 2.70 confSTDIOTYPE; 2.71 confSTDIR; 2.72 confSTFILE; 2.73 confSTRIP; 2.74 confSTRIPOPTS; 2.75 confUBINDIR; 2.76 confUBINGRP; 2.77 confUBINMODE; 2.78 confUBINOWN; 2.79 PREPENDDEF( ); Chapter 3: Tune sendmail with Compile-Time Macros; 3.1 Before You Begin, a Checklist; 3.2 To Port, Tune, or Debug; 3.3 Pitfalls; 3.4 Compile-Time Macro Reference; 3.5 AUTO_NIS_ALIASES; 3.6 BSD4_3; 3.7 BSD4_4; 3.8 DATA_PROGRESS_TIMEOUT; 3.9 DNSMAP; 3.10 DSN; 3.11 EGD; 3.12 ERRLIST_PREDEFINED; 3.13 FAST_PID_RECYCLE; 3.14 _FFR...; 3.15 FORK; 3.16 HAS...; 3.17 HESIOD; 3.18 HES_GETMAILHOST; 3.19 IDENTPROTO; 3.20 IP_SRCROUTE; 3.21 ...IS_BROKEN; 3.22 LA_TYPE; 3.23 LDAPMAP; 3.24 LOG; 3.25 MATCHGECOS; 3.26 MAX...; 3.27 MEMCHUNKSIZE; 3.28 MILTER; 3.29 MIME7TO8; 3.30 MIME8TO7; 3.31 NAMED_BIND; 3.32 MAP_NSD; 3.33 MAP_REGEX; 3.34 NDBM; 3.35 NEED...; 3.36 NET...; 3.37 NETINFO; 3.38 NEWDB; 3.39 NIS; 3.40 NISPLUS; 3.41 NOFTRUNCATE; 3.42 NO_GROUP_SET; 3.43 NOTUNIX; 3.44 _PATH...; 3.45 PH_MAP; 3.46 PICKY_HELO_CHECK; 3.47 PIPELINING; 3.48 PSBUFSIZ; 3.49 QUEUE; 3.50 QUEUESEGSIZE; 3.51 REQUIRES_DIR_FSYNC; 3.52 SASL; 3.53 SCANF; 3.54 SECUREWARE; 3.55 SFS_TYPE; 3.56 SHARE_V1; 3.57 SM_...; 3.58 SM_HEAP_CHECK; 3.59 SM_CONF_SHM; 3.60 SMTP; 3.61 SMTPDEBUG; 3.62 SMTPLINELIM; 3.63 SPT_TYPE; 3.64 STARTTLS; 3.65 SUID_ROOT_FILES_OK; 3.66 SYSLOG_BUFSIZE; 3.67 SYSTEM5; 3.68 TCPWRAPPERS; 3.69 TLS_NO_RSA; 3.70 TOBUFSIZE; 3.71 TTYNAME; 3.72 ...T; 3.73 UDB_DEFAULT_SPEC; 3.74 USE_DOUBLE_FORK; 3.75 USE_ENVIRON; 3.76 USING_NETSCAPE_LDAP; 3.77 USERDB; 3.78 USESETEUID; 3.79 WILDCARD_SHELL; 3.80 XDEBUG; Chapter 4: Configure sendmail.cf with m4; 4.1 The m4 Preprocessor; 4.2 Configure with m4; 4.3 m4 Macros by Function; 4.4 Masquerading; 4.5 Relays; 4.6 UUCP Support; 4.7 Pitfalls; 4.8 Configuration File Feature Reference; 4.9 FEATURE(accept_unqualified_senders); 4.10 FEATURE(accept_unresolvable_domains); 4.11 FEATURE(access_db); 4.12 FEATURE(allmasquerade); 4.13 FEATURE(always_add_domain); 4.14 FEATURE(authinfo); 4.15 FEATURE(bestmx_is_local); 4.16 FEATURE(bitdomain); 4.17 FEATURE(blacklist_recipients); 4.18 FEATURE(compat_check); 4.19 FEATURE(delay_checks); 4.20 FEATURE(dnsbl); 4.21 FEATURE(domaintable); 4.22 FEATURE(enhdnsbl); 4.23 FEATURE(generics_entire_domain); 4.24 FEATURE(genericstable); 4.25 FEATURE(ldap_routing); 4.26 FEATURE(limited_masquerade); 4.27 FEATURE(local_lmtp); 4.28 FEATURE(local_no_masquerade); 4.29 FEATURE(local_procmail); 4.30 FEATURE(lookupdotdomain); 4.31 FEATURE(loose_relay_check); 4.32 FEATURE(mailertable); 4.33 FEATURE(masquerade_entire_domain); 4.34 FEATURE(masquerade_envelope); 4.35 FEATURE(msp); 4.36 FEATURE(nocanonify); 4.37 FEATURE(nodns); 4.38 FEATURE(no_default_msa); 4.39 FEATURE(notsticky); 4.40 FEATURE(nouucp); 4.41 FEATURE(nullclient); 4.42 FEATURE(promiscuous_relay); 4.43 FEATURE(preserve_local_plus_detail); 4.44 FEATURE(preserve_luser_host); 4.45 FEATURE(queuegroup); 4.46 FEATURE(rbl); 4.47 FEATURE(redirect); 4.48 FEATURE(relay_based_on_MX); 4.49 FEATURE(relay_entire_domain); 4.50 FEATURE(relay_hosts_only); 4.51 FEATURE(relay_local_from); 4.52 FEATURE(relay_mail_from); 4.53 FEATURE(smrsh); 4.54 FEATURE(stickyhost); 4.55 FEATURE(use_ct_file); 4.56 FEATURE(use_cw_file); 4.57 FEATURE(uucpdomain); 4.58 FEATURE(virtuser_entire_domain); 4.59 FEATURE(virtusertable); Chapter 5: Build and Use Companion Programs; 5.1 The Build Script; 5.2 -A; 5.3 -c; 5.4 -E; 5.5 -f; 5.6 -I; 5.7 -L; 5.8 -M; 5.9 -m; 5.10 -n; 5.11 -O; 5.12 -Q; 5.13 -S; 5.14 -v; 5.2 The editmap Program; 5.16 -C; 5.17 -f; 5.18 -N; 5.19 -q; 5.20 -u; 5.21 -x; 5.3 The mail.local Delivery Agent; 5.23 -7; 5.24 -b; 5.25 -d; 5.26 -D; 5.27 -f; 5.28 -h; 5.29 -l (lowercase L); 5.30 -r; 5.4 The mailstats Program; 5.32 -c; 5.33 -C; 5.34 -f; 5.35 -o; 5.36 -p; 5.37 -P; 5.5 The makemap Program; 5.39 -c; 5.40 -C; 5.41 -d; 5.42 -e; 5.43 -f; 5.44 -l (lowercase L); 5.45 -N; 5.46 -o; 5.47 -r; 5.48 -s; 5.49 -t; 5.50 -u; 5.51 -v; 5.6 The praliases Program; 5.53 -C; 5.54 -f; 5.7 The rmail Delivery Agent; 5.8 The smrsh Program; 5.9 The vacation Program; 5.58 -a; 5.59 -C; 5.60 -d; 5.61 -f; 5.62 -i or -I; 5.63 -l (lowercase L); 5.64 -m; 5.65 -r; 5.66 -s; 5.67 -t; 5.68 -U; 5.69 -x; 5.70 -z; 5.10 Pitfalls; Part II: Administration; Chapter 6: Tune Performance; 6.1 Handle Deep Queues; 6.2 Sidestep Slow Hosts; 6.3 Deliver to Files; 6.4 Buffered File I/O; 6.5 Use Multiple Queues; 6.6 Condition the Network; 6.7 Tune the Kernel; 6.8 Pitfalls; Chapter 7: How to Handle spam; 7.1 The Local_check_ Rule Sets; 7.2 How DNSBL Works; 7.3 Check Headers with Rule Sets; 7.4 Relaying; 7.5 The access Database; 7.6 The Milter Library; 7.7 Pitfalls; Chapter 8: Test Rule Sets with -bt; 8.1 Overview; 8.2 Configuration Lines; 8.3 Dump a sendmail Macro or Class; 8.4 Show an Item; 8.5 Complex Actions Made Simple; 8.6 Process-Specified Addresses; 8.7 Add Debugging for Detail; 8.8 Batch Rule-Set Testing; 8.9 Pitfalls; Chapter 9: DNS and sendmail; 9.1 Overview; 9.2 How sendmail Uses DNS; 9.3 Set Up MX Records; 9.4 How to Use nslookup; 9.5 Prepare for Disaster; 9.6 Pitfalls; Chapter 10: Maintain Security with sendmail; 10.1 Why root?; 10.2 The Environment; 10.3 SMTP Probes; 10.4 The Configuration File; 10.5 Permissions; 10.6 The Aliases File; 10.7 Forged Mail; 10.8 Security Features; 10.9 Support SMTP AUTH; 10.10 STARTTLS; 10.11 Other Security Information; 10.12 Pitfalls; Chapter 11: Manage the Queue; 11.1 Overview of the Queue; 11.2 Parts of a Queued Message; 11.3 Using Multiple Queue Directories; 11.4 Queue Groups (V8.12 and Above); 11.5 Bogus qf Files; 11.6 Printing the Queue; 11.7 How the Queue Is Processed; 11.8 Cause Queues to Be Processed; 11.9 Process Alternate Queues; 11.10 Pitfalls; 11.11 The qf File Internals; 11.12 A line; 11.13 B line; 11.14 C line; 11.15 d line; 11.16 D line; 11.17 E line; 11.18 F line; 11.19 H line; 11.20 I line; 11.21 K line; 11.22 M line; 11.23 N line; 11.24 P line; 11.25 Q line; 11.26 r line; 11.27 R line; 11.28 S line; 11.29 T line; 11.30 V line; 11.31 Z line; 11.32 ! line; 11.33 $ line; 11.34 . line; Chapter 12: Maintain Aliases; 12.1 The aliases(5) File; 12.2 Forms of Alias Delivery; 12.3 Write a Delivery Agent Script; 12.4 Special Aliases; 12.5 The Aliases Database; 12.6 Prevent Aliasing with -n; 12.7 Pitfalls; Chapter 13: Mailing Lists and ~/.forward; 13.1 Internal Mailing Lists; 13.2 :include: Mailing Lists; 13.3 Defining a Mailing List Owner; 13.4 Exploder Mailing Lists; 13.5 Problems with Mailing Lists; 13.6 Packages That Help; 13.7 The User's ~/.forward File; 13.8 Pitfalls; Chapter 14: Signals, Transactions, and Syslog; 14.1 Signal the Daemon; 14.2 SIGTERM; 14.3 SIGINT; 14.4 SIGKILL; 14.5 SIGHUP; 14.6 SIGUSR1; 14.2 Log Transactions with -X; 14.3 Log with syslog; 14.4 Pitfalls; 14.5 Alphabetized syslog Equates; 14.11 arg1=; 14.12 bodytype=; 14.13 class=; 14.14 ctladdr=; 14.15 daemon=; 14.16 delay=; 14.17 dsn=; 14.18 from=; 14.19 intvl=; 14.20 len=; 14.21 mailer=; 14.22 msgid=; 14.23 nrcpts=; 14.24 ntries=; 14.25 pri=; 14.26 proto=; 14.27 reject=; 14.28 relay=; 14.29 ruleset=; 14.30 size=; 14.31 stat=; 14.32 to=; 14.33 xdelay=; Chapter 15: The sendmail Command Line; 15.1 Alternative argv[0] Names; 15.2 Command-Line Switches; 15.3 List of Recipient Addresses; 15.4 Processing the Command Line; 15.5 sendmail's exit( ) Status; 15.6 EX_CANTCREAT; 15.7 EX_CONFIG; 15.8 EX_IOERR; 15.9 EX_OK; 15.10 EX_OSERR; 15.11 EX_OSFILE; 15.12 EX_SOFTWARE; 15.13 EX_TEMPFAIL; 15.14 EX_UNAVAILABLE; 15.15 EX_USAGE; 15.6 Pitfalls; 15.7 Alphabetized Command-Line Switches; 15.18 -A; 15.19 -B; 15.20 -b; 15.21 -ba; 15.22 -bD; 15.23 -bd; 15.24 -bH; 15.25 -bh; 15.26 -bi; 15.27 -bm; 15.28 -bP; 15.29 -bp; 15.30 -bs; 15.31 -bt; 15.32 -bv; 15.33 -bz; 15.34 -C; 15.35 -c; 15.36 -d; 15.37 -E; 15.38 -e; 15.39 -F; 15.40 -f; 15.41 -G; 15.42 -h; 15.43 -I; 15.44 -i; 15.45 -J; 15.46 -L; 15.47 -M; 15.48 -m; 15.49 -N; 15.50 -n; 15.51 -O; 15.52 -o; 15.53 -p; 15.54 -q; 15.55 -R; 15.56 -r; 15.57 -s; 15.58 -T; 15.59 -t; 15.60 -U; 15.61 -V; 15.62 -v; 15.63 -X; 15.64 -x; Chapter 16: Debug sendmail with -d; 16.1 The Syntax of -d; 16.2 The Behavior of -d; 16.3 Interpret the Output; 16.4 Table of All -d Categories; 16.5 Pitfalls; 16.6 Reference for -d in Numerical Order; 16.7 -d0.1; 16.8 -d0.4; 16.9 -d0.10; 16.10 -d0.12; 16.11 -d0.13; 16.12 -d0.15; 16.13 -d0.20; 16.14 -d2.1; 16.15 -d2.9; 16.16 -d4.80; 16.17 -d6.1; 16.18 -d8.1; 16.19 -d8.2; 16.20 -d8.3; 16.21 -d8.5; 16.22 -d8.7; 16.23 -d8.8; 16.24 -d11.1; 16.25 -d11.2; 16.26 -d12.1; 16.27 -d13.1; 16.28 -d20.1; 16.29 -d21.1; 16.30 -d21.2; 16.31 -d22.1; 16.32 -d22.11; 16.33 -d22.12; 16.34 -d25.1; 16.35 -d26.1; 16.36 -d27.1; 16.37 -d27.2; 16.38 -d27.3; 16.39 -d27.4; 16.40 -d27.5; 16.41 -d27.8; 16.42 -d27.9; 16.43 -d28.1; 16.44 -d29.1; 16.45 -d29.4; 16.46 -d31.2; 16.47 -d34.1; 16.48 -d34.11; 16.49 -d35.9; 16.50 -d37.1; 16.51 -d37.8; 16.52 -d38.2; 16.53 -d38.3; 16.54 -d38.4; 16.55 -d38.9; 16.56 -d38.10; 16.57 -d38.12; 16.58 -d38.19; 16.59 -d38.20; 16.60 -d41.1; 16.61 -d44.4; 16.62 -d44.5; 16.63 -d48.2; 16.64 -d49.1; 16.65 -d52.1; 16.66 -d52.100; 16.67 -d60.1; 16.68 -d99.100; Part III: The Configuration File; Chapter 17: Configuration File Overview; 17.1 Overall Syntax; 17.2 Comments; 17.3 V8 Comments; 17.4 Continuation Lines; 17.5 The V Configuration Command; 17.6 Pitfalls; Chapter 18: The R (Rules) Configuration Command; 18.1 Why Rules?; 18.2 The R Configuration Command; 18.3 Tokenizing Rules; 18.4 The Workspace; 18.5 The Behavior of a Rule; 18.6 The LHS; 18.7 The RHS; 18.8 Pitfalls; 18.9 Rule Operator Reference; 18.10 $&; 18.11 $@; 18.12 $@; 18.13 $@; 18.14 $@; 18.15 $@; 18.16 $:; 18.17 $:; 18.18 $:; 18.19 $:; 18.20 $digit; 18.21 $=; 18.22 $>; 18.23 $[ $]; 18.24 $( $); 18.25 $-; 18.26 $+; 18.27 $#; 18.28 $#; 18.29 $#; 18.30 $*; 18.31 $~; 18.32 $|; Chapter 19: The S (Rule Sets) Configuration Command; 19.1 The S Configuration Command; 19.2 The Sequence of Rule Sets; 19.3 The canonify Rule Set 3; 19.4 The final Rule Set 4; 19.5 The parse Rule Set 0; 19.6 The localaddr Rule Set 5; 19.7 Rule Sets 1 and 2; 19.8 Pitfalls; 19.9 Policy Rule-Set Reference; 19.10 check_data; 19.11 check_etrn; 19.12 check_vrfy and check_expn; 19.13 srv_features; Chapter 20: The M (Mail Delivery Agent) Configuration Command; 20.1 The M Configuration Command; 20.2 The Symbolic Delivery Agent Name; 20.3 The mc Configuration Syntax; 20.4 Delivery Agents by Name; 20.5 cyrus; 20.6 cyrusv2; 20.7 discard; 20.8 error; 20.9 fax; 20.10 *file* and *include*; 20.11 local and prog; 20.12 mail11; 20.13 ph; 20.14 pop; 20.15 procmail; 20.16 qpage; 20.17 smtp, etc.; 20.18 usenet; 20.19 uucp; 20.5 Delivery Agent Equates; 20.21 /= (forward slash); 20.22 A=; 20.23 C=; 20.24 D=; 20.25 E=; 20.26 F=; 20.27 L=; 20.28 M=; 20.29 m=; 20.30 N=; 20.31 P=; 20.32 Q=; 20.33 R=; 20.34 r=; 20.35 S=; 20.36 T=; 20.37 U=; 20.38 W=; 20.6 How a Delivery Agent Is Executed; 20.7 Pitfalls; 20.8 Delivery Agent F= Flags; 20.42 F=%; 20.43 F=0 (zero); 20.44 F=1 (one); 20.45 F=2; 20.46 F=3; 20.47 F=5; 20.48 F=6; 20.49 F=7; 20.50 F=8; 20.51 F=9; 20.52 F=: (colon); 20.53 F=| (vertical bar); 20.54 F=/ (forward slash); 20.55 F=@; 20.56 F=a; 20.57 F=A; 20.58 F=b; 20.59 F=c; 20.60 F=C; 20.61 F=d; 20.62 F=D; 20.63 F=e; 20.64 F=E; 20.65 F=f; 20.66 F=F; 20.67 F=g; 20.68 F=h; 20.69 F=i; 20.70 F=I (uppercase i); 20.71 F=j; 20.72 F=k; 20.73 F=l (lowercase L); 20.74 F=L; 20.75 F=m; 20.76 F=M; 20.77 F=n; 20.78 F=o; 20.79 F=p; 20.80 F=P; 20.81 F=q; 20.82 F=r; 20.83 F=R; 20.84 F=s; 20.85 F=S; 20.86 F=u; 20.87 F=U; 20.88 F=w; 20.89 F=x; 20.90 F=X; 20.91 F=z; 20.92 F=Z; Chapter 21: The D (Define a Macro) Configuration Command; 21.1 Preassigned sendmail Macros; 21.2 Command-Line Definitions; 21.3 Configuration-File Definitions; 21.4 Macro Names; 21.5 Macro Expansion: $ and $&; 21.6 Macro Conditionals: $?, $|, and $.; 21.7 Macros with mc Configuration; 21.8 Pitfalls; 21.9 Alphabetized sendmail Macros; 21.10 $_; 21.11 $a; 21.12 ${addr_type}; 21.13 ${alg_bits}; 21.14 ${auth_authen}; 21.15 ${auth_author}; 21.16 ${auth_ssf}; 21.17 ${auth_type}; 21.18 $b; 21.19 ${bodytype}; 21.20 $B; 21.21 $c; 21.22 ${cert_issuer}; 21.23 ${cert_md5}; 21.24 ${cert_subject}; 21.25 ${cipher}; 21.26 ${cipher_bits}; 21.27 ${client_addr}; 21.28 ${client_flags}; 21.29 ${client_name}; 21.30 ${client_port}; 21.31 ${client_resolve}; 21.32 ${cn_issuer}; 21.33 ${cn_subject}; 21.34 ${currHeader}; 21.35 $C; 21.36 $d; 21.37 ${daemon_addr}; 21.38 ${daemon_family}; 21.39 ${daemon_flags}; 21.40 ${daemon_info}; 21.41 ${daemon_name}; 21.42 ${daemon_port}; 21.43 ${deliveryMode}; 21.44 ${dsn_envid}; 21.45 ${dsn_notify}; 21.46 ${dsn_ret}; 21.47 $D; 21.48 $e; 21.49 ${envid}; 21.50 $E; 21.51 $f; 21.52 $F; 21.53 $g; 21.54 $h; 21.55 ${hdr_name}; 21.56 ${hdrlen}; 21.57 $H; 21.58 $i; 21.59 ${if_addr}; 21.60 ${if_addr_out}; 21.61 ${if_family}; 21.62 ${if_family_out}; 21.63 ${if_name}; 21.64 ${if_name_out}; 21.65 $j; 21.66 $k; 21.67 $l (lowercase L); 21.68 ${load_avg}; 21.69 $L; 21.70 $m; 21.71 ${mail_addr}; 21.72 ${mail_host}; 21.73 ${mail_mailer}; 21.74 ${msg_size}; 21.75 $M; 21.76 ${MTAHost}; 21.77 $n; 21.78 ${nrcpts}; 21.79 ${ntries}; 21.80 $o; 21.81 ${opMode}; 21.82 $p; 21.83 $q; 21.84 ${queue_interval}; 21.85 $r; 21.86 ${rcpt_addr}; 21.87 ${rcpt_host}; 21.88 ${rcpt_mailer}; 21.89 $R; 21.90 $s; 21.91 ${sendmailMTACluster}; 21.92 ${server_addr}; 21.93 ${server_name}; 21.94 $S; 21.95 $t; 21.96 ${tls_version}; 21.97 $u; 21.98 $U; 21.99 $v; 21.100 ${verify}; 21.101 $V; 21.102 $w; 21.103 $W; 21.104 $x; 21.105 $X; 21.106 $y; 21.107 $Y; 21.108 $z; 21.109 $Z; Chapter 22: The C and F (Class Macro) Configuration Commands; 22.1 Class Configuration Commands; 22.2 Access Classes in Rules; 22.3 Classes with mc Configuration; 22.4 Internal Class Macros; 22.5 Pitfalls; 22.6 Alphabetized Class Macros; 22.7 $=b; 22.8 $={checkMIMEFieldHeaders}; 22.9 $={checkMIMEHeaders}; 22.10 $={checkMIMETextHeaders}; 22.11 $=e; 22.12 $=k; 22.13 $=m; 22.14 $=n; 22.15 $={persistentMacros}; 22.16 $=q; 22.17 $={ResOk}; 22.18 $=R; 22.19 $={tls}; 22.20 $=s; 22.21 $=t; 22.22 $=w; Chapter 23: The K (Database-Map) Configuration Command; 23.1 Enable at Compile Time; 23.2 The K Configuration Command; 23.3 The K Command switches; 23.4 -A; 23.5 -a; 23.6 -D; 23.7 -f; 23.8 -k; 23.9 -l (lowercase L); 23.10 -m; 23.11 -N; 23.12 -O; 23.13 -o; 23.14 -q; 23.15 -S; 23.16 -T; 23.17 -t; 23.18 -v; 23.19 -z; 23.4 Use $( and $) in Rules; 23.5 Database Maps with mc Configuration; 23.6 Pitfalls; 23.7 Alphabetized Database-Map Types; 23.24 arith; 23.25 btree; 23.26 bestmx; 23.27 dbm; 23.28 dequote; 23.29 dns; 23.30 hash; 23.31 hesiod; 23.32 host; 23.33 implicit; 23.34 ldap (was ldapx); 23.35 macro; 23.36 netinfo; 23.37 nis; 23.38 nisplus; 23.39 nsd; 23.40 null; 23.41 ph; 23.42 program; 23.43 regex; 23.44 sequence; 23.45 stab; 23.46 switch; 23.47 syslog; 23.48 text; 23.49 userdb; 23.50 user; Chapter 24: The O (Options) Configuration Command; 24.1 Overview; 24.2 Command-Line Options; 24.3 Configuration File Options; 24.4 Options in the mc File; 24.5 Alphabetical Table of All Options; 24.6 Option Argument Types; 24.7 Interrelating Options; 24.8 Pitfalls; 24.9 Alphabetized Options; 24.10 AliasFile; 24.11 AliasWait; 24.12 AllowBogusHELO; 24.13 AuthMaxBits; 24.14 AuthMechanisms; 24.15 AuthOptions; 24.16 AutoRebuildAliases; 24.17 BadRcptThrottle; 24.18 BlankSub; 24.19 CACertFile; 24.20 CACertPath; 24.21 CheckAliases; 24.22 CheckpointInterval; 24.23 ClassFactor; 24.24 ClientCertFile; 24.25 ClientKeyFile; 24.26 ClientPortOptions; 24.27 ColonOkInAddr; 24.28 ConnectionCacheSize; 24.29 ConnectionCacheTimeout; 24.30 ConnectionRateThrottle; 24.31 ConnectOnlyTo; 24.32 ControlSocketName; 24.33 DaemonPortOptions; 24.34 DataFileBufferSize; 24.35 DeadLetterDrop; 24.36 DefaultAuthInfo; 24.37 DefaultCharSet; 24.38 DefaultUser; 24.39 DelayLA; 24.40 DeliverByMin; 24.41 DeliveryMode; 24.42 DHParameters; 24.43 DialDelay; 24.44 DirectSubmissionModifiers; 24.45 DontBlameSendmail; 24.46 DontExpandCnames; 24.47 DontInitGroups; 24.48 DontProbeInterfaces; 24.49 DontPruneRoutes; 24.50 DoubleBounceAddress; 24.51 EightBitMode; 24.52 ErrorHeader; 24.53 ErrorMode; 24.54 FallbackMXhost; 24.55 FastSplit; 24.56 ForkEachJob; 24.57 ForwardPath; 24.58 HelpFile; 24.59 HoldExpensive; 24.60 HostsFile; 24.61 HostStatusDirectory; 24.62 IgnoreDots; 24.63 InputMailFilters; 24.64 LDAPDefaultSpec; 24.65 LogLevel; 24.66 MailboxDatabase; 24.67 MatchGECOS; 24.68 MaxAliasRecursion; 24.69 MaxDaemonChildren; 24.70 MaxHeadersLength; 24.71 MaxHopCount; 24.72 MaxMessageSize; 24.73 MaxMimeHeaderLength; 24.74 MaxQueueChildren; 24.75 MaxQueueRunSize; 24.76 MaxRecipientsPerMessage; 24.77 MaxRunnersPerQueue; 24.78 MeToo; 24.79 Milter; 24.80 MinFreeBlocks; 24.81 MinQueueAge; 24.82 MustQuoteChars; 24.83 NiceQueueRun; 24.84 NoRecipientAction; 24.85 OldStyleHeaders; 24.86 OperatorChars; 24.87 PidFile; 24.88 PostmasterCopy; 24.89 PrivacyOptions; 24.90 ProcessTitlePrefix; 24.91 QueueDirectory; 24.92 QueueFactor; 24.93 QueueFileMode; 24.94 QueueLA; 24.95 QueueSortOrder; 24.96 QueueTimeout; 24.97 RandFile; 24.98 RecipientFactor; 24.99 RefuseLA; 24.100 ResolverOptions; 24.101 RetryFactor; 24.102 RrtImpliesDsn; 24.103 RunAsUser; 24.104 SafeFileEnvironment; 24.105 SaveFromLine; 24.106 SendMimeErrors; 24.107 ServerCertFile; 24.108 ServerKeyFile; 24.109 ServiceSwitchFile; 24.110 SevenBitInput; 24.111 SharedMemoryKey; 24.112 SingleLineFromHeader; 24.113 SingleThreadDelivery; 24.114 SmtpGreetingMessage; 24.115 StatusFile; 24.116 SuperSafe; 24.117 TempFileMode; 24.118 Timeout; 24.119 TimeZoneSpec; 24.120 TLSSrvOptions; 24.121 TrustedUser; 24.122 TryNullMXList; 24.123 UnixFromLine; 24.124 UnsafeGroupWrites; 24.125 UseErrorsTo; 24.126 UseMSP; 24.127 UserDatabaseSpec; 24.128 Verbose; 24.129 XscriptFileBufferSize; 24.130 M; Chapter 25: The H (Headers) Configuration Command; 25.1 Overview; 25.2 Header Names; 25.3 Header Field Contents; 25.4 ?flags? in Header Definitions; 25.5 Rules Check Header Contents; 25.6 Header Behavior in conf.c; 25.7 Headers and mc Configuration; 25.8 Headers by Category; 25.9 Forwarding with Resent Headers; 25.10 Precedence; 25.11 Pitfalls; 25.12 Alphabetized Header Reference; 25.13 Apparently-From:; 25.14 Apparently-To:; 25.15 Auto-Submitted:; 25.16 Bcc:; 25.17 Cc:; 25.18 Comments:; 25.19 Content-