diff options
author | rgrimes <rgrimes@FreeBSD.org> | 1994-05-26 05:23:31 +0000 |
---|---|---|
committer | rgrimes <rgrimes@FreeBSD.org> | 1994-05-26 05:23:31 +0000 |
commit | babe0fd0e29aedfa2e1d473fbb3dcec915a3b575 (patch) | |
tree | eb9362e7430d1e6cacffec272ea11deacccddd68 /usr.sbin/sendmail/doc/op | |
download | FreeBSD-src-babe0fd0e29aedfa2e1d473fbb3dcec915a3b575.zip FreeBSD-src-babe0fd0e29aedfa2e1d473fbb3dcec915a3b575.tar.gz |
BSD 4.4 Lite usr.sbin Sources
Diffstat (limited to 'usr.sbin/sendmail/doc/op')
-rw-r--r-- | usr.sbin/sendmail/doc/op/Makefile | 13 | ||||
-rw-r--r-- | usr.sbin/sendmail/doc/op/op.me | 6921 | ||||
-rw-r--r-- | usr.sbin/sendmail/doc/op/op.ps | 5477 |
3 files changed, 12411 insertions, 0 deletions
diff --git a/usr.sbin/sendmail/doc/op/Makefile b/usr.sbin/sendmail/doc/op/Makefile new file mode 100644 index 0000000..e8f791a --- /dev/null +++ b/usr.sbin/sendmail/doc/op/Makefile @@ -0,0 +1,13 @@ +# @(#)Makefile 8.2 (Berkeley) 2/28/94 + +DIR= smm/08.sendmailop +SRCS= op.me +MACROS= -me + +all: op.ps + +op.ps: ${SRCS} + rm -f ${.TARGET} + ${PIC} ${SRCS} | ${EQN} | ${ROFF} > ${.TARGET} + +.include <bsd.doc.mk> diff --git a/usr.sbin/sendmail/doc/op/op.me b/usr.sbin/sendmail/doc/op/op.me new file mode 100644 index 0000000..9678d14 --- /dev/null +++ b/usr.sbin/sendmail/doc/op/op.me @@ -0,0 +1,6921 @@ +.\" Copyright (c) 1983 Eric P. Allman +.\" Copyright (c) 1983, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)op.me 8.36 (Berkeley) 4/14/94 +.\" +.\" eqn op.me | pic | troff -me +.eh 'SMM:08-%''Sendmail Installation and Operation Guide' +.oh 'Sendmail Installation and Operation Guide''SMM:08-%' +.\" SD is lib if sendmail is installed in /usr/lib, sbin if in /usr/sbin +.ds SD sbin +.\" SB is bin if newaliases/mailq are installed in /usr/bin, ucb if in /usr/ucb +.ds SB bin +.nr si 3n +.de $0 +.(x +.in \\$3u*3n +.ti -3n +\\$2. \\$1 +.)x +.. +.de $C +.(x +.in 0 +\\$1 \\$2. \\$3 +.)x +.. +.sc +.+c +.(l C +.sz 16 +.b SENDMAIL +.sz 12 +.sp +.b "INSTALLATION AND OPERATION GUIDE" +.sz 10 +.sp +.r +Eric Allman +University of California, Berkeley +Mammoth Project +eric@CS.Berkeley.EDU +.sp +Version 8.36 +.sp +For Sendmail Version 8.6 +.)l +.sp 2 +.pp +.i Sendmail +implements a general purpose internetwork mail routing facility +under the UNIX* +.(f +*UNIX is a trademark of Unix Systems Laboratories. +.)f +operating system. +It is not tied to any one transport protocol \*- +its function may be likened to a crossbar switch, +relaying messages from one domain into another. +In the process, +it can do a limited amount of message header editing +to put the message into a format that is appropriate +for the receiving domain. +All of this is done under the control of a configuration file. +.pp +Due to the requirements of flexibility +for +.i sendmail , +the configuration file can seem somewhat unapproachable. +However, there are only a few basic configurations +for most sites, +for which standard configuration files have been supplied. +Most other configurations +can be built by adjusting an existing configuration files +incrementally. +.pp +.i Sendmail +is based on +RFC822 (Internet Mail Format Protocol), +RFC821 (Simple Mail Transport Protocol), +RFC1123 (Internet Host Requirements), +and +RFC1425 (SMTP Service Extensions). +However, since +.i sendmail +is designed to work in a wider world, +in many cases it can be configured to exceed these protocols. +These cases are described herein. +.pp +Although +.i sendmail +is intended to run +without the need for monitoring, +it has a number of features +that may be used to monitor or adjust the operation +under unusual circumstances. +These features are described. +.pp +Section one describes how to do a basic +.i sendmail +installation. +Section two +explains the day-to-day information you should know +to maintain your mail system. +If you have a relatively normal site, +these two sections should contain sufficient information +for you to install +.i sendmail +and keep it happy. +Section three +describes some parameters that may be safely tweaked. +Section four +has information regarding the command line arguments. +Section five +contains the nitty-gritty information about the configuration +file. +This section is for masochists +and people who must write their own configuration file. +Section six +describes configuration that can be done at compile time. +Section seven +gives a brief description of differences +in this version of +.i sendmail . +The appendixes give a brief +but detailed explanation of a number of features +not described in the rest of the paper. +.bp 7 +.sh 1 "BASIC INSTALLATION" +.pp +There are two basic steps to installing +.i sendmail . +The hard part is to build the configuration table. +This is a file that +.i sendmail +reads when it starts up +that describes the mailers it knows about, +how to parse addresses, +how to rewrite the message header, +and the settings of various options. +Although the configuration table is quite complex, +a configuration can usually be built +by adjusting an existing off-the-shelf configuration. +The second part is actually doing the installation, +i.e., creating the necessary files, etc. +.pp +The remainder of this section will describe the installation of +.i sendmail +assuming you can use one of the existing configurations +and that the standard installation parameters are acceptable. +All pathnames and examples +are given from the root of the +.i sendmail +subtree, +normally +.i /usr/src/usr.\*(SD/sendmail +on 4.4BSD. +.pp +If you are loading this off the tape, +continue with the next section. +If you have a running binary already on your system, +you should probably skip to section 1.2. +.sh 2 "Compiling Sendmail" +.pp +All +.i sendmail +source is in the +.i src +subdirectory. +If you are running on a 4.4BSD system, +compile by typing +.q make . +On other systems, you may have to make some other adjustments. +.sh 3 "Old versions of make" +.pp +If you are not running the new version of +.b make +you will probably have to use +.(b +make \-f Makefile.dist +.)b +This file does not assume several new syntaxes, +including the +.q += +syntax in macro definition +and the +.q ".include" +syntax. +.sh 3 "Compilation flags" +.pp +.i Sendmail +supports two different formats +for the +.i aliases +database. +These formats are: +.nr ii 1i +.ip NDBM +The ``new DBM'' format, +available on nearly all systems around today. +This was the preferred format prior to 4.4BSD. +It allows such complex things as multiple databases +and closing a currently open database. +.ip NEWDB +The new database package from Berkeley. +If you have this, use it. +It allows +long records, +multiple open databases, +real in-memory caching, +and so forth. +You can define this in conjunction with one of the other two; +if you do, +old databases are read, +but when a new database is created it will be in NEWDB format. +As a nasty hack, +if you have NEWDB, NDBM, and NIS defined, +and if the file +.i /var/yp/Makefile +exists and is readable, +.i sendmail +will create both new and old versions of the alias file +during a +.i newalias +command. +This is required because the Sun NIS/YP system +reads the DBM version of the alias file. +It's ugly as sin, +but it works. +.lp +If neither of these are defined, +.i sendmail +reads the alias file into memory on every invocation. +This can be slow and should be avoided. +.pp +System V based systems can define +SYSTEM5 +to make several small adjustments. +This changes the handling of timezones +and uses the much less efficient +.i lockf +call in preference to +.i flock . +These can be specified separately using the compilation flags +SYS5TZ +and +LOCKF +respectively. +.pp +If you don't have the +.i unsetenv +routine in your system library, define the UNSETENV compilation flag. +.pp +You may also have to define the compilation variable LA_TYPE +to describe how your load average is computed. +This and other flags are detailed in section 6.1. +.sh 3 "Compilation and installation" +.pp +After making the local system configuration described above, +You should be able to compile and install the system. +Compilation can be performed using +.q make\** +.(f +\**where you may have to replace +.q make +with +.q "make \-f Makefile.dist" +as appropriate. +.)f +in the +.b sendmail/src +directory. +You may be able to install using +.(b +make install +.)b +This should install the binary in +/usr/\*(SD +and create links from +/usr/\*(SB/newaliases +and +/usr/\*(SB/mailq +to +/usr/\*(SD/sendmail. +On 4.4BSD systems it will also format and install man pages. +.sh 2 "Configuration Files" +.pp +.i Sendmail +cannot operate without a configuration file. +The configuration defines the mail systems understood at this site, +how to access them, +how to forward email to remote mail systems, +and a number of tuning parameters. +This configuration file is detailed +in the later portion of this document. +.pp +The +.i sendmail +configuration can be daunting at first. +The world is complex, +and the mail configuration reflects that. +The distribution includes an m4-based configuration package +that hides a lot of the complexity. +.pp +These configuration files are simpler than old versions +largely because the world has become simpler; +in particular, +text-based host files are officially eliminated, +obviating the need to +.q hide +hosts behind a registered internet gateway. +.pp +These files also assume that most of your neighbors +use domain-based UUCP addressing; +that is, +instead of naming hosts as +.q host!user +they will use +.q host.domain!user . +The configuration files can be customized to work around this, +but it is more complex. +.pp +I haven't tested these yet on an isolated LAN environment +with a single UUCP connection to the outside world. +If you are in such an environment, +please send comments to +sendmail@CS.Berkeley.EDU. +.pp +Our configuration files are processed by +.i m4 +to facilitate local customization; +the directory +.i cf +of the +.i sendmail +distribution directory +contains the source files. +This directory contains several subdirectories: +.nr ii 1i +.ip cf +Both site-dependent and site-independent descriptions of hosts. +These can be literal host names +(e.g., +.q ucbvax.mc ) +when the hosts are gateways +or more general descriptions +(such as +.q "tcpproto.mc" +as a general description of an SMTP-connected host +or +.q "uucpproto.mc" +as a general description of a UUCP-connected host). +Files ending +.b \&.mc +(``Master Configuration'') +are the input descriptions; +the output is in the corresponding +.b \&.cf +file. +The general structure of these files is described below. +.ip domain +Site-dependent subdomain descriptions. +These are tied to the way your organization wants to do addressing. +For example, +.b domain/cs.exposed.m4 +is our description for hosts in the CS.Berkeley.EDU subdomain +that want their individual hostname to be externally visible; +.b domain/cs.hidden.m4 +is the same except that the hostname is hidden +(everything looks like it comes from CS.Berkeley.EDU). +These are referenced using the +.sm DOMAIN +.b m4 +macro in the +.b \&.mc +file. +.ip feature +Definitions of specific features that some particular host in your site +might want. +These are referenced using the +.sm FEATURE +.b m4 +macro. +An example feature is +use_cw_file +(which tells +.i sendmail +to read an /etc/sendmail.cw file on startup +to find the set of local names). +.ip hack +Local hacks, referenced using the +.sm HACK +.b m4 +macro. +Try to avoid these. +The point of having them here is to make it clear that they smell. +.ip m4 +Site-independent +.i m4 (1) +include files that have information common to all configuration files. +This can be thought of as a +.q #include +directory. +.ip mailer +Definitions of mailers, +referenced using the +.sm MAILER +.b m4 +macro. +Defined mailer types in this distribution are +fax, +local, +smtp, +uucp, +and usenet. +.ip ostype +Definitions describing various operating system environments +(such as the location of support files). +These are referenced using the +.sm OSTYPE +.b m4 +macro. +.ip sh +Shell files used by the +.b m4 +build process. +You shouldn't have to mess with these. +.ip siteconfig +Local site configuration information, +such as UUCP connectivity. +They normally contain lists of site information, for example: +.(b +SITE(contessa) +SITE(hoptoad) +SITE(nkainc) +SITE(well) +.)b +They are referenced using the SITECONFIG macro: +.(b +SITECONFIG(site.config.file, name_of_site, X) +.)b +where +.i X +is the macro/class name to use. +It can be U +(indicating locally connected hosts) +or one of W, X, or Y +for up to three remote UUCP hubs. +.pp +If you are in a new domain +(e.g., a company), +you will probably want to create a +cf/domain +file for your domain. +This consists primarily of relay definitions: +for example, Berkeley's domain definition +defines relays for +BitNET, +CSNET, +and UUCP. +Of these, +only the UUCP relay is particularly specific +to Berkeley. +All of these are internet-style domain names. +Please check to make certain they are reasonable for your domain. +.pp +Subdomains at Berkeley are also represented in the +cf/domain +directory. +For example, +the domain +cs-exposed +is the Computer Science subdomain with the local hostname shown +to other users; +cs-hidden +makes users appear to be from the CS.Berkeley.EDU subdomain +(with no local host information included). +You will probably have to update this directory +to be appropriate for your domain. +.pp +You will have to use or create +.b \&.mc +files in the +.i cf/cf +subdirectory for your hosts. +This is detailed in the +cf/README +file. +.sh 2 "Details of Installation Files" +.pp +This subsection describes the files that +comprise the +.i sendmail +installation. +.sh 3 "/usr/\*(SD/sendmail" +.pp +The binary for +.i sendmail +is located in /usr/\*(SD\**. +.(f +\**This is usually +/usr/sbin +on 4.4BSD and newer systems; +many systems install it in +/usr/lib. +I understand it is in /usr/ucblib +on System V Release 4. +.)f +It should be setuid root. +For security reasons, +/, /usr, and /usr/\*(SD +should be owned by root, mode 755\**. +.(f +\**Some vendors ship them owned by bin; +this creates a security hole that is not actually related to +.i sendmail . +Other important directories that should have restrictive ownerships +and permissions are +/bin, /usr/bin, /etc, /usr/etc, /lib, and /usr/lib. +.)f +.sh 3 "/etc/sendmail.cf" +.pp +This is the configuration file for +.i sendmail . +This is the only non-library file name compiled into +.i sendmail \**. +.(f +\**The system libraries can reference other files; +in particular, system library subroutines that +.i sendmail +calls probably reference +.i /etc/passwd +and +.i /etc/resolv.conf . +.)f +Some older systems install it in +.b /usr/lib/sendmail.cf . +.pp +If you want to move this file, +change +.i src/pathnames.h . +.pp +The configuration file is normally created +using the distribution files described above. +If you have a particularly unusual system configuration +you may need to create a special version. +The format of this file is detailed in later sections +of this document. +.sh 3 "/usr/\*(SB/newaliases" +.pp +The +.i newaliases +command should just be a link to +.i sendmail : +.(b +rm \-f /usr/\*(SB/newaliases +ln \-s /usr/\*(SD/sendmail /usr/\*(SB/newaliases +.)b +This can be installed in whatever search path you prefer +for your system. +.sh 3 "/var/spool/mqueue" +.pp +The directory +.i /var/spool/mqueue +should be created to hold the mail queue. +This directory should be mode 700 +and owned by root. +.pp +The actual path of this directory +is defined in the +.b Q +option of the +.i sendmail.cf +file. +.sh 3 "/etc/aliases*" +.pp +The system aliases are held in +.q /etc/aliases . +A sample is given in +.q lib/aliases +which includes some aliases which +.i must +be defined: +.(b +cp lib/aliases /etc/aliases +.i "edit /etc/aliases" +.)b +You should extend this file with any aliases that are apropos to your system. +.pp +Normally +.i sendmail +looks at a version of these files maintained by the +.i dbm \|(3) +or +.i db \|(3) +routines. +These are stored either in +.q /etc/aliases.dir +and +.q /etc/aliases.pag +or +.q /etc/aliases.db +depending on which database package you are using. +These can initially be created as empty files, +but they will have to be initialized promptly. +These should be mode 644: +.(b +cp /dev/null /etc/aliases.dir +cp /dev/null /etc/aliases.pag +chmod 644 /etc/aliases.* +newaliases +.)b +The +.i db +routines preset the mode reasonably, +so this step can be skipped. +The actual path of this file +is defined in the +.b A +option of the +.i sendmail.cf +file. +.sh 3 "/etc/rc" +.pp +It will be necessary to start up the +.i sendmail +daemon when your system reboots. +This daemon performs two functions: +it listens on the SMTP socket for connections +(to receive mail from a remote system) +and it processes the queue periodically +to insure that mail gets delivered when hosts come up. +.pp +Add the following lines to +.q /etc/rc +(or +.q /etc/rc.local +as appropriate) +in the area where it is starting up the daemons: +.(b +if [ \-f /usr/\*(SD/sendmail \-a \-f /etc/sendmail.cf ]; then + (cd /var/spool/mqueue; rm \-f [lnx]f*) + /usr/\*(SD/sendmail \-bd \-q30m & + echo \-n ' sendmail' >/dev/console +fi +.)b +The +.q cd +and +.q rm +commands insure that all lock files have been removed; +extraneous lock files may be left around +if the system goes down in the middle of processing a message. +The line that actually invokes +.i sendmail +has two flags: +.q \-bd +causes it to listen on the SMTP port, +and +.q \-q30m +causes it to run the queue every half hour. +.pp +Some people use a more complex startup script, +removing zero length qf files and df files for which there is no qf file. +For example: +.(b +# remove zero length qf files +for qffile in qf* +do + if [ \-r $qffile ] + then + if [ ! \-s $qffile ] + then + echo \-n " <zero: $qffile>" > /dev/console + rm \-f $qffile + fi + fi +done +# rename tf files to be qf if the qf does not exist +for tffile in tf* +do + qffile=`echo $tffile | sed 's/t/q/'` + if [ \-r $tffile \-a ! \-f $qffile ] + then + echo \-n " <recovering: $tffile>" > /dev/console + mv $tffile $qffile + else + echo \-n " <extra: $tffile>" > /dev/console + rm \-f $tffile + fi +done +# remove df files with no corresponding qf files +for dffile in df* +do + qffile=`echo $dffile | sed 's/d/q/'` + if [ \-r $dffile \-a ! \-f $qffile ] + then + echo \-n " <incomplete: $dffile>" > /dev/console + mv $dffile `echo $dffile | sed 's/d/D/'` + fi +done +# announce files that have been saved during disaster recovery +for xffile in [A-Z]f* +do + echo \-n " <panic: $xffile>" > /dev/console +done +.)b +.pp +If you are not running a version of UNIX +that supports Berkeley TCP/IP, +do not include the +.b \-bd +flag. +.sh 3 "/usr/lib/sendmail.hf" +.pp +This is the help file used by the SMTP +.b HELP +command. +It should be copied from +.q lib/sendmail.hf : +.(b +cp lib/sendmail.hf /usr/lib +.)b +The actual path of this file +is defined in the +.b H +option of the +.i sendmail.cf +file. +.sh 3 "/etc/sendmail.st" +.pp +If you wish to collect statistics +about your mail traffic, +you should create the file +.q /etc/sendmail.st : +.(b +cp /dev/null /etc/sendmail.st +chmod 666 /etc/sendmail.st +.)b +This file does not grow. +It is printed with the program +.q mailstats/mailstats.c. +The actual path of this file +is defined in the +.b S +option of the +.i sendmail.cf +file. +.sh 3 "/usr/\*(SB/newaliases" +.pp +If +.i sendmail +is invoked as +.q newaliases, +it will simulate the +.b \-bi +flag +(i.e., will rebuild the alias database; +see below). +This should be a link to /usr/\*(SD/sendmail. +.sh 3 "/usr/\*(SB/mailq" +.pp +If +.i sendmail +is invoked as +.q mailq, +it will simulate the +.b \-bp +flag +(i.e., +.i sendmail +will print the contents of the mail queue; +see below). +This should be a link to /usr/\*(SD/sendmail. +.sh 1 "NORMAL OPERATIONS" +.sh 2 "The System Log" +.pp +The system log is supported by the +.i syslogd \|(8) +program. +All messages from +.i sendmail +are logged under the +.sm LOG_MAIL +facility. +.sh 3 "Format" +.pp +Each line in the system log +consists of a timestamp, +the name of the machine that generated it +(for logging from several machines +over the local area network), +the word +.q sendmail: , +and a message. +.sh 3 "Levels" +.pp +If you have +.i syslogd \|(8) +or an equivalent installed, +you will be able to do logging. +There is a large amount of information that can be logged. +The log is arranged as a succession of levels. +At the lowest level +only extremely strange situations are logged. +At the highest level, +even the most mundane and uninteresting events +are recorded for posterity. +As a convention, +log levels under ten +are considered generally +.q useful; +log levels above 64 +are reserved for debugging purposes. +Levels from 11\-64 are reserved for verbose information +that some sites might want. +.pp +A complete description of the log levels +is given in section 4.6. +.sh 2 "The Mail Queue" +.pp +The mail queue should be processed transparently. +However, you may find that manual intervention is sometimes necessary. +For example, +if a major host is down for a period of time +the queue may become clogged. +Although +.i sendmail +ought to recover gracefully when the host comes up, +you may find performance unacceptably bad in the meantime. +.sh 3 "Printing the queue" +.pp +The contents of the queue can be printed +using the +.i mailq +command +(or by specifying the +.b \-bp +flag to +.i sendmail ): +.(b +mailq +.)b +This will produce a listing of the queue id's, +the size of the message, +the date the message entered the queue, +and the sender and recipients. +.sh 3 "Forcing the queue" +.pp +.i Sendmail +should run the queue automatically +at intervals. +The algorithm is to read and sort the queue, +and then to attempt to process all jobs in order. +When it attempts to run the job, +.i sendmail +first checks to see if the job is locked. +If so, it ignores the job. +.pp +There is no attempt to insure that only one queue processor +exists at any time, +since there is no guarantee that a job cannot take forever +to process +(however, +.i sendmail +does include heuristics to try to abort jobs +that are taking absurd amounts of time; +technically, this violates RFC 821, but is blessed by RFC 1123). +Due to the locking algorithm, +it is impossible for one job to freeze the entire queue. +However, +an uncooperative recipient host +or a program recipient +that never returns +can accumulate many processes in your system. +Unfortunately, +there is no completely general way to solve this. +.pp +In some cases, +you may find that a major host going down +for a couple of days +may create a prohibitively large queue. +This will result in +.i sendmail +spending an inordinate amount of time +sorting the queue. +This situation can be fixed by moving the queue to a temporary place +and creating a new queue. +The old queue can be run later when the offending host returns to service. +.pp +To do this, +it is acceptable to move the entire queue directory: +.(b +cd /var/spool +mv mqueue omqueue; mkdir mqueue; chmod 700 mqueue +.)b +You should then kill the existing daemon +(since it will still be processing in the old queue directory) +and create a new daemon. +.pp +To run the old mail queue, +run the following command: +.(b +/usr/\*(SD/sendmail \-oQ/var/spool/omqueue \-q +.)b +The +.b \-oQ +flag specifies an alternate queue directory +and the +.b \-q +flag says to just run every job in the queue. +If you have a tendency toward voyeurism, +you can use the +.b \-v +flag to watch what is going on. +.pp +When the queue is finally emptied, +you can remove the directory: +.(b +rmdir /var/spool/omqueue +.)b +.sh 2 "The Alias Database" +.pp +The alias database exists in two forms. +One is a text form, +maintained in the file +.i /etc/aliases. +The aliases are of the form +.(b +name: name1, name2, ... +.)b +Only local names may be aliased; +e.g., +.(b +eric@prep.ai.MIT.EDU: eric@CS.Berkeley.EDU +.)b +will not have the desired effect. +Aliases may be continued by starting any continuation lines +with a space or a tab. +Blank lines and lines beginning with a sharp sign +(\c +.q # ) +are comments. +.pp +The second form is processed by the +.i dbm \|(3) +(or +.i db \|(3)) +library. +This form is in the files +.i /etc/aliases.dir +and +.i /etc/aliases.pag. +This is the form that +.i sendmail +actually uses to resolve aliases. +This technique is used to improve performance. +.pp +You can also use +.sm NIS -based +alias files. +For example, the specification: +.(b +OA/etc/aliases +OAnis:mail.aliases@my.nis.domain +.)b +will first search the /etc/aliases file +and then the map named +.q mail.aliases +in +.q my.nis.domain . +Warning: if you build your own +.sm NIS -based +alias files, +be sure to provide the +.b \-l +flag to +.i makedbm (8) +to map upper case letters in the keys to lower case; +otherwise, aliases with upper case letters in their names +won't match incoming addresses. +.pp +Additional flags can be added after the colon +exactly like a +.b K +line \(em for example: +.(b +OAnis:-N mail.aliases@my.nis.domain +.)b +will search the appropriate NIS map and always include null bytes in the key. +.sh 3 "Rebuilding the alias database" +.pp +The DB or DBM version of the database +may be rebuilt explicitly by executing the command +.(b +newaliases +.)b +This is equivalent to giving +.i sendmail +the +.b \-bi +flag: +.(b +/usr/\*(SD/sendmail \-bi +.)b +.pp +If the +.q D +option is specified in the configuration, +.i sendmail +will rebuild the alias database automatically +if possible +when it is out of date. +Auto-rebuild can be dangerous +on heavily loaded machines +with large alias files; +if it might take more than five minutes +to rebuild the database, +there is a chance that several processes will start the rebuild process +simultaneously. +.pp +If you have multiple aliases databases specified, +the +.b \-bi +flag rebuilds all the database types it understands +(for example, it can rebuild dbm databases but not nis databases). +.sh 3 "Potential problems" +.pp +There are a number of problems that can occur +with the alias database. +They all result from a +.i sendmail +process accessing the DBM version +while it is only partially built. +This can happen under two circumstances: +One process accesses the database +while another process is rebuilding it, +or the process rebuilding the database dies +(due to being killed or a system crash) +before completing the rebuild. +.pp +Sendmail has two techniques to try to relieve these problems. +First, it ignores interrupts while rebuilding the database; +this avoids the problem of someone aborting the process +leaving a partially rebuilt database. +Second, +at the end of the rebuild +it adds an alias of the form +.(b +@: @ +.)b +(which is not normally legal). +Before +.i sendmail +will access the database, +it checks to insure that this entry exists\**. +.(f +\**The +.q a +option is required in the configuration +for this action to occur. +This should normally be specified. +.)f +.sh 3 "List owners" +.pp +If an error occurs on sending to a certain address, +say +.q \fIx\fP , +.i sendmail +will look for an alias +of the form +.q owner-\fIx\fP +to receive the errors. +This is typically useful +for a mailing list +where the submitter of the list +has no control over the maintenance of the list itself; +in this case the list maintainer would be the owner of the list. +For example: +.(b +unix-wizards: eric@ucbarpa, wnj@monet, nosuchuser, + sam@matisse +owner-unix-wizards: eric@ucbarpa +.)b +would cause +.q eric@ucbarpa +to get the error that will occur +when someone sends to +unix-wizards +due to the inclusion of +.q nosuchuser +on the list. +.pp +List owners also cause the envelope sender address to be modified. +The contents of the owner alias are used if they point to a single user, +otherwise the name of the alias itself is used. +For this reason, and to obey Internet conventions, +a typical scheme would be: +.(b +list: some, set, of, addresses +list-request: list-admin-1, list-admin-2, ... +owner-list: list-request +.)b +.sh 2 "User Information Database" +.pp +If you have a version of +.i sendmail +with the user information database +compiled in, +and you have specified one or more databases using the +.b U +option, +the databases will be searched for a +.i user :maildrop +entry. +If found, the mail will be sent to the specified address. +.pp +If the first token passed to user part of the +.q local +mailer is an at sign, +the at sign will be stripped off +and this step will be skipped. +.sh 2 "Per-User Forwarding (.forward Files)" +.pp +As an alternative to the alias database, +any user may put a file with the name +.q .forward +in his or her home directory. +If this file exists, +.i sendmail +redirects mail for that user +to the list of addresses listed in the .forward file. +For example, if the home directory for user +.q mckusick +has a .forward file with contents: +.(b +mckusick@ernie +kirk@calder +.)b +then any mail arriving for +.q mckusick +will be redirected to the specified accounts. +.pp +Actually, the configuration file defines a sequence of filenames to check. +By default, this is the user's .forward file, +but can be defined to be more generally using the +.b J +option. +If you change this, +you will have to inform your user base of the change; +\&.forward is pretty well incorporated into the collective subconscious. +.sh 2 "Special Header Lines" +.pp +Several header lines have special interpretations +defined by the configuration file. +Others have interpretations built into +.i sendmail +that cannot be changed without changing the code. +These builtins are described here. +.sh 3 "Return-Receipt-To:" +.pp +If this header is sent, +a message will be sent to any specified addresses +when the final delivery is complete, +that is, +when successfully delivered to a mailer with the +.b l +flag (local delivery) set in the mailer descriptor\**. +.(f +\**Some sites disable this header, +and other (non-\c +.i sendmail ) +systems do not implement it. +Do not assume that a failure to get a return receipt +means that the mail did not arrive. +Also, do not assume that getting a return receipt +means that the mail has been read; +it just means that the message has been delivered +to the recipient's mailbox. +.)f +This header can be disabled with the +.q noreceipts +privacy flag. +.sh 3 "Errors-To:" +.pp +If errors occur anywhere during processing, +this header will cause error messages to go to +the listed addresses. +This is intended for mailing lists. +.pp +The Errors-To: header was created in the bad old days +when UUCP didn't understand the distinction between an envelope and a header; +this was a hack to provide what should now be passed +as the envelope sender address. +It should go away. +It is only used if the +.b l +option is set. +.sh 3 "Apparently-To:" +.pp +If a message comes in with no recipients listed in the message +(in a To:, Cc:, or Bcc: line) +then +.i sendmail +will add an +.q "Apparently-To:" +header line for any recipients it is aware of. +This is not put in as a standard recipient line +to warn any recipients that the list is not complete. +.pp +At least one recipient line is required under RFC 822. +.sh 2 "IDENT Protocol Support" +.pp +.i Sendmail +supports the IDENT protocol as defined in RFC 1413. +Although this enhances identification +of the author of an email message +by doing a ``call back'' to the originating system to include +the owner of a particular TCP connection +in the audit trail +it is in no sense perfect; +a determined forger can easily spoof the IDENT protocol. +The following description is excerpted from RFC 1413: +.ba +5 +.lp +6. Security Considerations +.lp +The information returned by this protocol is at most as trustworthy +as the host providing it OR the organization operating the host. For +example, a PC in an open lab has few if any controls on it to prevent +a user from having this protocol return any identifier the user +wants. Likewise, if the host has been compromised the information +returned may be completely erroneous and misleading. +.lp +The Identification Protocol is not intended as an authorization or +access control protocol. At best, it provides some additional +auditing information with respect to TCP connections. At worst, it +can provide misleading, incorrect, or maliciously incorrect +information. +.lp +The use of the information returned by this protocol for other than +auditing is strongly discouraged. Specifically, using Identification +Protocol information to make access control decisions - either as the +primary method (i.e., no other checks) or as an adjunct to other +methods may result in a weakening of normal host security. +.lp +An Identification server may reveal information about users, +entities, objects or processes which might normally be considered +private. An Identification server provides service which is a rough +analog of the CallerID services provided by some phone companies and +many of the same privacy considerations and arguments that apply to +the CallerID service apply to Identification. If you wouldn't run a +"finger" server due to privacy considerations you may not want to run +this protocol. +.ba +.sh 1 "ARGUMENTS" +.pp +The complete list of arguments to +.i sendmail +is described in detail in Appendix A. +Some important arguments are described here. +.sh 2 "Queue Interval" +.pp +The amount of time between forking a process +to run through the queue +is defined by the +.b \-q +flag. +If you run in mode +.b f +or +.b a +this can be relatively large, +since it will only be relevant +when a host that was down comes back up. +If you run in +.b q +mode +it should be relatively short, +since it defines the maximum amount of time that a message +may sit in the queue. +.pp +RFC 1123 section 5.3.1.1 says that this value should be at least 30 minutes +(although that probably doesn't make sense if you use ``queue-only'' mode). +.sh 2 "Daemon Mode" +.pp +If you allow incoming mail over an IPC connection, +you should have a daemon running. +This should be set by your +.i /etc/rc +file using the +.b \-bd +flag. +The +.b \-bd +flag and the +.b \-q +flag may be combined in one call: +.(b +/usr/\*(SD/sendmail \-bd \-q30m +.)b +.sh 2 "Forcing the Queue" +.pp +In some cases you may find that the queue has gotten clogged for some reason. +You can force a queue run +using the +.b \-q +flag (with no value). +It is entertaining to use the +.b \-v +flag (verbose) +when this is done to watch what happens: +.(b +/usr/\*(SD/sendmail \-q \-v +.)b +.pp +You can also limit the jobs to those with a particular queue identifier, +sender, or recipient +using one of the queue modifiers. +For example, +.q \-qRberkeley +restricts the queue run to jobs that have the string +.q berkeley +somewhere in one of the recipient addresses. +Similarly, +.q \-qSstring +limits the run to particular senders and +.q \-qIstring +limits it to particular identifiers. +.sh 2 "Debugging" +.pp +There are a fairly large number of debug flags +built into +.i sendmail . +Each debug flag has a number and a level, +where higher levels means to print out more information. +The convention is that levels greater than nine are +.q absurd, +i.e., +they print out so much information that you wouldn't normally +want to see them except for debugging that particular piece of code. +Debug flags are set using the +.b \-d +option; +the syntax is: +.(b +.ta \w'debug-option 'u +debug-flag: \fB\-d\fP debug-list +debug-list: debug-option [ , debug-option ] +debug-option: debug-range [ . debug-level ] +debug-range: integer | integer \- integer +debug-level: integer +.)b +where spaces are for reading ease only. +For example, +.(b +\-d12 Set flag 12 to level 1 +\-d12.3 Set flag 12 to level 3 +\-d3-17 Set flags 3 through 17 to level 1 +\-d3-17.4 Set flags 3 through 17 to level 4 +.)b +For a complete list of the available debug flags +you will have to look at the code +(they are too dynamic to keep this documentation up to date). +.sh 2 "Trying a Different Configuration File" +.pp +An alternative configuration file +can be specified using the +.b \-C +flag; for example, +.(b +/usr/\*(SD/sendmail \-Ctest.cf +.)b +uses the configuration file +.i test.cf +instead of the default +.i /etc/sendmail.cf. +If the +.b \-C +flag has no value +it defaults to +.i sendmail.cf +in the current directory. +.sh 2 "Changing the Values of Options" +.pp +Options can be overridden using the +.b \-o +flag. +For example, +.(b +/usr/\*(SD/sendmail \-oT2m +.)b +sets the +.b T +(timeout) option to two minutes +for this run only. +.pp +Some options have security implications. +Sendmail allows you to set these, +but refuses to run as root thereafter. +.sh 2 "Logging Traffic" +.pp +Many SMTP implementations do not fully implement the protocol. +For example, some personal computer based SMTPs +do not understand continuation lines in reply codes. +These can be very hard to trace. +If you suspect such a problem, you can set traffic logging using the +.b \-X +flag. +For example, +.(b +/usr/\*(SD/sendmail \-X /tmp/traffic -bd +.)b +will log all traffic in the file +.i /tmp/traffic . +.pp +This logs a lot of data very quickly and should never be used +during normal operations. +After starting up such a daemon, +force the errant implementation to send a message to your host. +All message traffic in and out of +.i sendmail , +including the incoming SMTP traffic, +will be logged in this file. +.sh 2 "Dumping State" +.pp +You can ask +.i sendmail +to log a dump of the open files +and the connection cache +by sending it a +.sm SIGUSR1 +signal. +The results are logged at +.sm LOG_DEBUG +priority. +.sh 1 "TUNING" +.pp +There are a number of configuration parameters +you may want to change, +depending on the requirements of your site. +Most of these are set +using an option in the configuration file. +For example, +the line +.q OT5d +sets option +.q T +to the value +.q 5d +(five days). +.pp +Most of these options have appropriate defaults for most sites. +However, +sites having very high mail loads may find they need to tune them +as appropriate for their mail load. +In particular, +sites experiencing a large number of small messages, +many of which are delivered to many recipients, +may find that they need to adjust the parameters +dealing with queue priorities. +.sh 2 "Timeouts" +.pp +All time intervals are set +using a scaled syntax. +For example, +.q 10m +represents ten minutes, whereas +.q 2h30m +represents two and a half hours. +The full set of scales is: +.(b +.ta 4n +s seconds +m minutes +h hours +d days +w weeks +.)b +.sh 3 "Queue interval" +.pp +The argument to the +.b \-q +flag +specifies how often a sub-daemon will run the queue. +This is typically set to between fifteen minutes +and one hour. +RFC 1123 section 5.3.1.1 recommends that this be at least 30 minutes. +.sh 3 "Read timeouts" +.pp +It is possible to time out when reading the standard input +or when reading from a remote SMTP server. +These timeouts are set using the +.b r +option in the configuration file. +The argument is a list of +.i keyword=value +pairs. +The recognized keywords, their default values, and the minimum values +allowed by RFC 1123 section 5.3.2 are: +.nr ii 1i +.ip initial +The wait for the initial 220 greeting message +[5m, 5m]. +.ip helo +The wait for a reply from a HELO or EHLO command +[5m, unspecified]. +This may require a host name lookup, so +five minutes is probably a reasonable minimum. +.ip mail\(dg +The wait for a reply from a MAIL command +[10m, 5m]. +.ip rcpt\(dg +The wait for a reply from a RCPT command +[1h, 5m]. +This should be long +because it could be pointing at a list +that takes a long time to expand. +.ip datainit\(dg +The wait for a reply from a DATA command +[5m, 2m]. +.ip datablock\(dg +The wait for reading a data block +(that is, the body of the message). +[1h, 3m]. +This should be long because it also applies to programs +piping input to +.i sendmail +which have no guarantee of promptness. +.ip datafinal\(dg +The wait for a reply from the dot terminating a message. +[1h, 10m]. +If this is shorter than the time actually needed +for the receiver to deliver the message, +duplicates will be generated. +This is discussed in RFC 1047. +.ip rset +The wait for a reply from a RSET command +[5m, unspecified]. +.ip quit +The wait for a reply from a QUIT command +[2m, unspecified]. +.ip misc +The wait for a reply from miscellaneous (but short) commands +such as NOOP (no-operation) and VERB (go into verbose mode). +[2m, unspecified]. +.ip command\(dg +In server SMTP, +the time to wait for another command. +[1h, 5m]. +.ip ident +The timeout waiting for a reply to an IDENT query +[30s, unspecified]. +.lp +For compatibility with old configuration files, +if no ``keyword='' is specified, +all the timeouts marked with \(dg are set to the indicated value. +.pp +Many of the RFC 1123 minimum values +may well be too short. +.i Sendmail +was designed to the RFC 822 protocols, +which did not specify read timeouts; +hence, +.i sendmail +does not guarantee to reply to messages promptly. +In particular, a +.q RCPT +command specifying a mailing list +will expand and verify the entire list; +a large list on a slow system +may take more than five minutes\**. +.(f +\**This verification includes looking up every address +with the name server; +this involves network delays, +and can in some cases can be considerable. +.)f +I recommend a one hour timeout \*- +since this failure is rare, +a long timeout is not onerous +and may ultimately help reduce network load. +.pp +For example, the line: +.(b +Orcommand=25m,datablock=3h +.)b +sets the server SMTP command timeout to 25 minutes +and the input data block timeout to three hours. +.sh 3 "Message timeouts" +.pp +After sitting in the queue for a few days, +a message will time out. +This is to insure that at least the sender is aware +of the inability to send a message. +The timeout is typically set to three days. +This timeout is set using the +.b T +option in the configuration file. +.pp +The time of submission is set in the queue, +rather than the amount of time left until timeout. +As a result, you can flush messages that have been hanging +for a short period +by running the queue +with a short message timeout. +For example, +.(b +/usr/\*(SD/sendmail \-oT1d \-q +.)b +will run the queue +and flush anything that is one day old. +.pp +Since this option is global, +and since you can not +.i "a priori" +know how long another host outside your domain will be down, +a five day timeout is recommended. +This allows a recipient to fix the problem even if it occurs +at the beginning of a long weekend. +RFC 1123 section 5.3.1.1 says that this parameter +should be ``at least 4\-5 days''. +.pp +The +.b T +option can also take a second timeout indicating a time after which +a warning message should be sent; +the two timeouts are separated by a slash. +For example, the value +.(b +5d/4h +.)b +causes email to fail after five days, +but a warning message will be sent after four hours. +This should be large enough that the message will have been tried +several times. +.sh 2 "Forking During Queue Runs" +.pp +By setting the +.b Y +option, +.i sendmail +will fork before each individual message +while running the queue. +This will prevent +.i sendmail +from consuming large amounts of memory, +so it may be useful in memory-poor environments. +However, if the +.b Y +option is not set, +.i sendmail +will keep track of hosts that are down during a queue run, +which can improve performance dramatically. +.pp +If the +.b Y +option is set, +.i sendmail +can not use connection caching. +.sh 2 "Queue Priorities" +.pp +Every message is assigned a priority when it is first instantiated, +consisting of the message size (in bytes) +offset by the message class times the +.q "work class factor" +and the number of recipients times the +.q "work recipient factor." +The priority is used to order the queue. +Higher numbers for the priority mean that the message will be processed later +when running the queue. +.pp +The message size is included so that large messages are penalized +relative to small messages. +The message class allows users to send +.q "high priority" +messages by including a +.q Precedence: +field in their message; +the value of this field is looked up in the +.b P +lines of the configuration file. +Since the number of recipients affects the amount of load a message presents +to the system, +this is also included into the priority. +.pp +The recipient and class factors +can be set in the configuration file using the +.b y +and +.b z +options respectively. +They default to 30000 (for the recipient factor) +and 1800 +(for the class factor). +The initial priority is: +.EQ +pri = msgsize - (class times bold z) + (nrcpt times bold y) +.EN +(Remember, higher values for this parameter actually mean +that the job will be treated with lower priority.) +.pp +The priority of a job can also be adjusted each time it is processed +(that is, each time an attempt is made to deliver it) +using the +.q "work time factor," +set by the +.b Z +option. +This is added to the priority, +so it normally decreases the precedence of the job, +on the grounds that jobs that have failed many times +will tend to fail again in the future. +The +.b Z +option defaults to 90000. +.sh 2 "Load Limiting" +.pp +.i Sendmail +can be asked to queue (but not deliver) +mail if the system load average gets too high +using the +.b x +option. +When the load average exceeds the value of the +.b x +option, +the delivery mode is set to +.b q +(queue only) +if the +.i "Queue Factor" +(\c +.b q +option) +divided by the difference in the current load average and the +.b x +option +plus one +exceeds the priority of the message \(em +that is, the message is queued iff: +.EQ +pri > { bold q } over { LA - { bold x } + 1 } +.EN +The +.b q +option defaults to 600000, +so each point of load average is worth 600000 +priority points +(as described above). +.pp +For drastic cases, +the +.b X +option defines a load average at which +.i sendmail +will refuse +to accept network connections. +Locally generated mail +(including incoming UUCP mail) +is still accepted. +.sh 2 "Delivery Mode" +.pp +There are a number of delivery modes that +.i sendmail +can operate in, +set by the +.q d +configuration option. +These modes +specify how quickly mail will be delivered. +Legal modes are: +.(b +.ta 4n +i deliver interactively (synchronously) +b deliver in background (asynchronously) +q queue only (don't deliver) +.)b +There are tradeoffs. +Mode +.q i +passes the maximum amount of information to the sender, +but is hardly ever necessary. +Mode +.q q +puts the minimum load on your machine, +but means that delivery may be delayed for up to the queue interval. +Mode +.q b +is probably a good compromise. +However, this mode can cause large numbers of processes +if you have a mailer that takes a long time to deliver a message. +.pp +If you run in mode +.q q +(queue only) +or +.q b +(deliver in background) +.i sendmail +will not expand aliases and follow .forward files +upon initial receipt of the mail. +This speeds up the response to RCPT commands. +.sh 2 "Log Level" +.pp +The level of logging can be set for +.i sendmail . +The default using a standard configuration table is level 9. +The levels are as follows: +.nr ii 0.5i +.ip 0 +No logging. +.ip 1 +Serious system failures and potential security problems. +.ip 2 +Lost communications (network problems) and protocol failures. +.ip 3 +Other serious failures. +.ip 4 +Minor failures. +.ip 5 +Message collection statistics. +.ip 6 +Creation of error messages, +VRFY and EXPN commands. +.ip 7 +Delivery failures (host or user unknown, etc.). +.ip 8 +Successful deliveries. +.ip 9 +Messages being deferred +(due to a host being down, etc.). +.ip 10 +Database expansion (alias, forward, and userdb lookups). +.ip 15 +Automatic alias database rebuilds. +.ip 20 +Logs attempts to run locked queue files. +These are not errors, +but can be useful to note if your queue appears to be clogged. +.ip 30 +Lost locks (only if using lockf instead of flock). +.lp +Additionally, +values above 64 are reserved for extremely verbose debuggging output. +No normal site would ever set these. +.sh 2 "File Modes" +.pp +There are a number of files +that may have a number of modes. +The modes depend on what functionality you want +and the level of security you require. +.sh 3 "To suid or not to suid?" +.pp +.i Sendmail +can safely be made +setuid to root. +At the point where it is about to +.i exec \|(2) +a mailer, +it checks to see if the userid is zero; +if so, +it resets the userid and groupid to a default +(set by the +.b u +and +.b g +options). +(This can be overridden +by setting the +.b S +flag to the mailer +for mailers that are trusted +and must be called as root.) +However, +this will cause mail processing +to be accounted +(using +.i sa \|(8)) +to root +rather than to the user sending the mail. +.sh 3 "Should my alias database be writable?" +.pp +At Berkeley +we have the alias database +(/etc/aliases*) +mode 644. +While this is not as flexible as if the database +were more 666, it avoids potential security problems +with a globally writable database. +.pp +The database that +.i sendmail +actually used +is represented by the two files +.i aliases.dir +and +.i aliases.pag +(both in /etc) +(or +.i aliases.db +if you are running with the new Berkeley database primitives). +The mode on these files should match the mode +on /etc/aliases. +If +.i aliases +is writable +and the +DBM +files +(\c +.i aliases.dir +and +.i aliases.pag ) +are not, +users will be unable to reflect their desired changes +through to the actual database. +However, +if +.i aliases +is read-only +and the DBM files are writable, +a slightly sophisticated user +can arrange to steal mail anyway. +.pp +If your DBM files are not writable by the world +or you do not have auto-rebuild enabled +(with the +.q D +option), +then you must be careful to reconstruct the alias database +each time you change the text version: +.(b +newaliases +.)b +If this step is ignored or forgotten +any intended changes will also be ignored or forgotten. +.sh 2 "Connection Caching" +.pp +When processing the queue, +.i sendmail +will try to keep the last few open connections open +to avoid startup and shutdown costs. +This only applies to IPC connections. +.pp +When trying to open a connection +the cache is first searched. +If an open connection is found, it is probed to see if it is still active +by sending a +.sm NOOP +command. +It is not an error if this fails; +instead, the connection is closed and reopened. +.pp +Two parameters control the connection cache. +The +.b k +option defines the number of simultaneous open connections +that will be permitted. +If it is set to zero, +connections will be closed as quickly as possible. +The default is one. +This should be set as appropriate for your system size; +it will limit the amount of system resources that +.i sendmail +will use during queue runs. +.pp +The +.b K +option specifies the maximum time that any cached connection +will be permitted to idle. +When the idle time exceeds this value +the connection is closed. +This number should be small +(under ten minutes) +to prevent you from grabbing too many resources +from other hosts. +The default is five minutes. +.sh 2 "Name Server Access" +.pp +If your system supports the name server, +then the probability is that +.i sendmail +will be using it regardless of how you configure +.i sendmail . +In particular, the system routine +.i gethostbyname (3) +is used to look up host names, +and most vendor versions try some combination of DNS, NIS, +and file lookup in /etc/hosts. +.pp +However, if you do not have a nameserver configured at all, +such as at a UUCP-only site, +.i sendmail +will get a +.q "connection refused" +message when it tries to connect to the name server +(either indirectly by calling +.i gethostbyname +or directly by looking up MX records). +If the +.b I +option is set, +.i sendmail +will interpret this to mean a temporary failure +and will queue the mail for later processing; +otherwise, it ignores the name server data. +If your name server is running properly, +the setting of this option is not relevant; +however, it is important that it be set properly +to make error handling work properly. +.pp +This option also allows you to tweak name server options. +The command line takes a series of flags as documented in +.i resolver (3) +(with the leading +.q RES_ +deleted). +Each can be preceded by an optional `+' or `\(mi'. +For example, the line +.(b +OITrue +AAONLY \(miDNSRCH +.)b +turns on the AAONLY (accept authoritative answers only) +and turns off the DNSRCH (search the domain path) options. +Most resolver libraries default DNSRCH, DEFNAMES, and RECURSE +flags on and all others off. +Note the use of the initial ``True'' \*- +this is for compatibility with previous versions of +.i sendmail , +but is not otherwise necessary. +.pp +Version level 1 configurations +turn DNSRCH and DEFNAMES off when doing delivery lookups, +but leave them on everywhere else. +Version 8 of +.i sendmail +ignores them when doing canonification lookups +(that is, when using $[ ... $]), +and always does the search. +If you don't want to do automatic name extension, +don't call $[ ... $]. +.pp +The search rules for $[ ... $] are somewhat different than usual. +If the name (that is, the ``...'') +has at least one dot, it always tries the unmodified name first. +If that fails, it tries the reduced search path, +and lastly tries the unmodified name +(but only for names without a dot, +since names with a dot have already been tried). +This allows names such as +``utc.CS'' +to match the site in Czechoslovakia +rather than the site in your local Computer Science department. +It also prefers A and CNAME records over MX records \*- +that is, if it finds an MX record it makes note of it, +but keeps looking. +This way, if you have a wildcard MX record matching your domain, +it will not assume that all names match. +.sh 2 "Moving the Per-User Forward Files" +.pp +Some sites mount each user's home directory +from a local disk on their workstation, +so that local access is fast. +However, the result is that .forward file lookups are slow. +In some cases, +mail can even be delivered on machines inappropriately +because of a file server being down. +The performance can be especially bad if you run the automounter. +.pp +The +.b J +option allows you to set a path of forward files. +For example, the config file line +.(b +OJ/var/forward/$u:$z/.forward +.)b +would first look for a file with the same name as the user's login +in /var/forward; +if that is not found (or is inaccessible) +the file +.q \&.forward +in the user's home directory is searched. +A truly perverse site could also search by sender +by using $r, $s, or $f. +.pp +If you create a directory such as /var/forward, +it should be mode 1777 +(that is, the sticky bit should be set). +Users should create the files mode 644. +.sh 2 "Free Space" +.pp +On systems that have the +.i statfs (2) +system call, +you can specify a minimum number of free blocks on the queue filesystem +using the +.b b +option. +If there are fewer than the indicated number of blocks free +on the filesystem on which the queue is mounted +the SMTP server will reject mail +with the +452 error code. +This invites the SMTP client to try again later. +.pp +Beware of setting this option too high; +it can cause rejection of email +when that mail would be processed without difficulty. +.pp +This option can also specify an advertised +.q "maximum message size" +for hosts that speak ESMTP. +.sh 2 "Privacy Flags" +.pp +The +.b p +option allows you to set certain +``privacy'' +flags. +Actually, many of them don't give you any extra privacy, +rather just insisting that client SMTP servers +use the HELO command +before using certain commands. +.pp +The option takes a series of flag names; +the final privacy is the inclusive or of those flags. +For example: +.(b +Op needmailhelo, noexpn +.)b +insists that the HELO or EHLO command be used before a MAIL command is accepted +and disables the EXPN command. +.pp +The +.q restrictmailq +option restricts printing the queue to the group that owns the queue directory. +It is absurd to set this if you don't also protect the logs. +.pp +The +.q restrictqrun +option restricts people running the queue +(that is, using the +.b \-q +command line flag) +to root and the owner of the queue directory. +.sh 2 "Send to Me Too" +.pp +Normally, +.i sendmail +deletes the (envelope) sender from any list expansions. +For example, if +.q matt +sends to a list that contains +.q matt +as one of the members he won't get a copy of the message. +If the +.b \-m +(me too) +command line flag, or if the +.b m +option is set in the configuration file, +this behaviour is supressed. +Some sites like to run the +.sm SMTP +daemon with +.b \-m . +.sh 1 "THE WHOLE SCOOP ON THE CONFIGURATION FILE" +.pp +This section describes the configuration file +in detail, +including hints on how to write one of your own +if you have to. +.pp +There is one point that should be made clear immediately: +the syntax of the configuration file +is designed to be reasonably easy to parse, +since this is done every time +.i sendmail +starts up, +rather than easy for a human to read or write. +On the +.q "future project" +list is a +configuration-file compiler. +.pp +An overview of the configuration file +is given first, +followed by details of the semantics. +.sh 2 "Configuration File Lines" +.pp +The configuration file is organized as a series of lines, +each of which begins with a single character +defining the semantics for the rest of the line. +Lines beginning with a space or a tab +are continuation lines +(although the semantics are not well defined in many places). +Blank lines and lines beginning with a sharp symbol +(`#') +are comments. +.sh 3 "R and S \*- rewriting rules" +.pp +The core of address parsing +are the rewriting rules. +These are an ordered production system. +.i Sendmail +scans through the set of rewriting rules +looking for a match on the left hand side +(LHS) +of the rule. +When a rule matches, +the address is replaced by the right hand side +(RHS) +of the rule. +.pp +There are several sets of rewriting rules. +Some of the rewriting sets are used internally +and must have specific semantics. +Other rewriting sets +do not have specifically assigned semantics, +and may be referenced by the mailer definitions +or by other rewriting sets. +.pp +The syntax of these two commands are: +.(b F +.b S \c +.i n +.)b +Sets the current ruleset being collected to +.i n . +If you begin a ruleset more than once +it deletes the old definition. +.(b F +.b R \c +.i lhs +.i rhs +.i comments +.)b +The +fields must be separated +by at least one tab character; +there may be embedded spaces +in the fields. +The +.i lhs +is a pattern that is applied to the input. +If it matches, +the input is rewritten to the +.i rhs . +The +.i comments +are ignored. +.pp +Macro expansions of the form +.b $ \c +.i x +are performed when the configuration file is read. +Expansions of the form +.b $& \c +.i x +are performed at run time using a somewhat less general algorithm. +This for is intended only for referencing internally defined macros +such as +.b $h +that are changed at runtime. +.sh 4 "The left hand side" +.pp +The left hand side of rewriting rules contains a pattern. +Normal words are simply matched directly. +Metasyntax is introduced using a dollar sign. +The metasymbols are: +.(b +.ta \w'\fB$=\fP\fIx\fP 'u +\fB$*\fP Match zero or more tokens +\fB$+\fP Match one or more tokens +\fB$\-\fP Match exactly one token +\fB$=\fP\fIx\fP Match any phrase in class \fIx\fP +\fB$~\fP\fIx\fP Match any word not in class \fIx\fP +.)b +If any of these match, +they are assigned to the symbol +.b $ \c +.i n +for replacement on the right hand side, +where +.i n +is the index in the LHS. +For example, +if the LHS: +.(b +$\-:$+ +.)b +is applied to the input: +.(b +UCBARPA:eric +.)b +the rule will match, and the values passed to the RHS will be: +.(b +.ta 4n +$1 UCBARPA +$2 eric +.)b +.pp +Additionally, the LHS can include +.b $@ +to match zero tokens. +This is +.i not +bound to a +.b $ \c +.i N +on the RHS, and is normally only used when it stands alone +in order to match the null input. +.sh 4 "The right hand side" +.pp +When the left hand side of a rewriting rule matches, +the input is deleted and replaced by the right hand side. +Tokens are copied directly from the RHS +unless they begin with a dollar sign. +Metasymbols are: +.(b +.ta \w'$#mailer\0\0\0'u +\fB$\fP\fIn\fP Substitute indefinite token \fIn\fP from LHS +\fB$[\fP\fIname\fP\fB$]\fP Canonicalize \fIname\fP +\fB$(\fP\fImap key\fP \fB$@\fP\fIarguments\fP \fB$:\fP\fIdefault\fP \fB$)\fP + Generalized keyed mapping function +\fB$>\fP\fIn\fP \*(lqCall\*(rq ruleset \fIn\fP +\fB$#\fP\fImailer\fP Resolve to \fImailer\fP +\fB$@\fP\fIhost\fP Specify \fIhost\fP +\fB$:\fP\fIuser\fP Specify \fIuser\fP +.)b +.pp +The +.b $ \c +.i n +syntax substitutes the corresponding value from a +.b $+ , +.b $\- , +.b $* , +.b $= , +or +.b $~ +match on the LHS. +It may be used anywhere. +.pp +A host name enclosed between +.b $[ +and +.b $] +is looked up using the +.i gethostent \|(3) +routines and replaced by the canonical name\**. +.(f +\**This is actually +completely equivalent +to $(host \fIhostname\fP$). +In particular, a +.b $: +default can be used. +.)f +For example, +.q $[csam$] +might become +.q lbl-csam.arpa +and +.q $[[128.32.130.2]$] +would become +.q vangogh.CS.Berkeley.EDU. +.i Sendmail +recognizes it's numeric IP address +without calling the name server +and replaces it with it's canonical name. +.pp +The +.b $( +\&... +.b $) +syntax is a more general form of lookup; +it uses a named map instead of an implicit map. +If no lookup is found, the indicated +.i default +is inserted; +if no default is specified and no lookup matches, +the value is left unchanged. +.pp +The +.b $> \c +.i n +syntax +causes the remainder of the line to be substituted as usual +and then passed as the argument to ruleset +.i n . +The final value of ruleset +.i n +then becomes +the substitution for this rule. +.pp +The +.b $# +syntax should +.i only +be used in ruleset zero +or a subroutine of ruleset zero. +It causes evaluation of the ruleset to terminate immediately, +and signals to +.i sendmail +that the address has completely resolved. +The complete syntax is: +.(b +\fB$#\fP\fImailer\fP \fB$@\fP\fIhost\fP \fB$:\fP\fIuser\fP +.)b +This specifies the +{mailer, host, user} +3-tuple necessary to direct the mailer. +If the mailer is local +the host part may be omitted\**. +.(f +\**You may want to use it for special +.q "per user" +extensions. +For example, at CMU you can send email to +.q jgm+foo ; +the part after the plus sign +is not part of the user name, +and is passed to the local mailer for local use. +.)f +The +.i mailer +must be a single word, +but the +.i host +and +.i user +may be multi-part. +If the +.i mailer +is the builtin IPC mailer, +the +.i host +may be a colon-separated list of hosts +that are searched in order for the first working address +(exactly like MX records). +The +.i user +is later rewritten by the mailer-specific envelope rewriting set +and assigned to the +.b $u +macro. +As a special case, if the value to +.b $# +is +.q local +and the first character of the +.b $: +value is +.q @ , +the +.q @ +is stripped off, and a flag is set in the address descriptor +that causes sendmail to not do ruleset 5 processing. +.pp +Normally, a rule that matches is retried, +that is, +the rule loops until it fails. +A RHS may also be preceded by a +.b $@ +or a +.b $: +to change this behavior. +A +.b $@ +prefix causes the ruleset to return with the remainder of the RHS +as the value. +A +.b $: +prefix causes the rule to terminate immediately, +but the ruleset to continue; +this can be used to avoid continued application of a rule. +The prefix is stripped before continuing. +.pp +The +.b $@ +and +.b $: +prefixes may precede a +.b $> +spec; +for example: +.(b +.ta 8n +R$+ $: $>7 $1 +.)b +matches anything, +passes that to ruleset seven, +and continues; +the +.b $: +is necessary to avoid an infinite loop. +.pp +Substitution occurs in the order described, +that is, +parameters from the LHS are substituted, +hostnames are canonicalized, +.q subroutines +are called, +and finally +.b $# , +.b $@ , +and +.b $: +are processed. +.sh 4 "Semantics of rewriting rule sets" +.pp +There are five rewriting sets +that have specific semantics. +These are related as depicted by figure 2. +.(z +.hl +.ie n \{\ +.(c + +---+ + -->| 0 |-->resolved address + / +---+ + / +---+ +---+ + / ---->| 1 |-->| S |-- + +---+ / +---+ / +---+ +---+ \e +---+ +addr-->| 3 |-->| D |-- --->| 4 |-->msg + +---+ +---+ \e +---+ +---+ / +---+ + --->| 2 |-->| R |-- + +---+ +---+ +.)c + +.\} +.el .ie !"\*(.T"" \ +\{\ +.PS +boxwid = 0.3i +boxht = 0.3i +movewid = 0.3i +moveht = 0.3i +linewid = 0.3i +lineht = 0.3i + + box invis "addr"; arrow +Box3: box "3" +A1: arrow +BoxD: box "D"; line; L1: Here +C: [ + C1: arrow; box "1"; arrow; box "S"; line; E1: Here + move to C1 down 0.5; right + C2: arrow; box "2"; arrow; box "R"; line; E2: Here + ] with .w at L1 + (0.5, 0) + move to C.e right 0.5 +L4: arrow; box "4"; arrow; box invis "msg" + line from L1 to C.C1 + line from L1 to C.C2 + line from C.E1 to L4 + line from C.E2 to L4 + move to BoxD.n up 0.6; right +Box0: arrow; box "0" + arrow; box invis "resolved address" width 1.3 + line from 1/3 of the way between A1 and BoxD.w to Box0 +.PE +.\} +.el .sp 2i +.ce +Figure 2 \*- Rewriting set semantics +.(c +D \*- sender domain addition +S \*- mailer-specific sender rewriting +R \*- mailer-specific recipient rewriting +.)c +.hl +.)z +.pp +Ruleset three +should turn the address into +.q "canonical form." +This form should have the basic syntax: +.(b +local-part@host-domain-spec +.)b +If no +.q @ +sign is specified, +then the +host-domain-spec +.i may +be appended from the +sender address +(if the +.b C +flag is set in the mailer definition +corresponding to the +.i sending +mailer). +Ruleset three +is applied by +.i sendmail +before doing anything with any address. +.pp +Ruleset zero +is applied after ruleset three +to addresses that are going to actually specify recipients. +It must resolve to a +.i "{mailer, host, user}" +triple. +The +.i mailer +must be defined in the mailer definitions +from the configuration file. +The +.i host +is defined into the +.b $h +macro +for use in the argv expansion of the specified mailer. +.pp +Rulesets one and two +are applied to all sender and recipient addresses respectively. +They are applied before any specification +in the mailer definition. +They must never resolve. +.pp +Ruleset four is applied to all addresses +in the message. +It is typically used +to translate internal to external form. +.sh 4 "IPC mailers" +.pp +Some special processing occurs +if the ruleset zero resolves to an IPC mailer +(that is, a mailer that has +.q [IPC] +listed as the Path in the +.b M +configuration line. +The host name passed after +.q $@ +has MX expansion performed; +this looks the name up in DNS to find alternate delivery sites. +.pp +The host name can also be provided as a dotted quad in square brackets; +for example: +.(b +[128.32.149.78] +.)b +This causes direct conversion of the numeric value +to a TCP/IP host address. +.pp +The host name passed in after the +.q $@ +may also be a colon-separated list of hosts. +Each is separately MX expanded and the results are concatenated +to make (essentially) one long MX list. +The intent here is to create +.q fake +MX records that are not published in DNS +for private internal networks. +.pp +As a final special case, the host name can be passed in +as a text string +in square brackets: +.(b +[ucbvax.berkeley.edu] +.)b +This form avoids the MX mapping. +.b N.B.: +This is intended only for situations where you have a network firewall, +so that your MX record points to a gateway machine; +this machine could then do direct delivery to machines +within your local domain. +Use of this feature directly violates RFC 1123 section 5.3.5: +it should not be used lightly. +.sh 3 "D \*- define macro" +.pp +Macros are named with a single character. +These may be selected from the entire ASCII set, +but user-defined macros +should be selected from the set of upper case letters only. +Lower case letters +and special symbols +are used internally. +.pp +The syntax for macro definitions is: +.(b F +.b D \c +.i x\|val +.)b +where +.i x +is the name of the macro +and +.i val +is the value it should have. +.pp +Macros are interpolated +using the construct +.b $ \c +.i x , +where +.i x +is the name of the macro to be interpolated. +This interpolation is done when the configuration file is read, +except in +.b M +lines. +The special construct +.b $& \c +.i x +can be used in +.b R +lines to get deferred interpolation. +.pp +Conditionals can be specified using the syntax: +.(b +$?x text1 $| text2 $. +.)b +This interpolates +.i text1 +if the macro +.b $x +is set, +and +.i text2 +otherwise. +The +.q else +(\c +.b $| ) +clause may be omitted. +.pp +Lower case macro names are reserved to have +special semantics, +used to pass information in or out of +.i sendmail , +and special characters are reserved to +provide conditionals, etc. +Upper case names +(that is, +.b $A +through +.b $Z ) +are specifically reserved for configuration file authors. +.pp +The following macros are defined and/or used internally by +.i sendmail +for interpolation into argv's for mailers +or for other contexts. +The ones marked \(dg are information passed into sendmail\**, +.(f +\**As of version 8.6, +all of these macros have reasonable defaults. +Previous versions required that they be defined. +.)f +the ones marked \(dd are information passed both in and out of sendmail, +and the unmarked macros are passed out of sendmail +but are not otherwise used internally. +These macros are: +.nr ii 5n +.ip $a +.b "The origination date in RFC 822 format." +.ip $b +.b "The current date in RFC 822 format." +.ip $c +.b "The hop count." +.ip $d +.b "The current date in UNIX (ctime) format." +.ip $e\(dg +.b "The SMTP entry message." +This is printed out when SMTP starts up. +The first word must be the +.b $j +macro as specified by RFC821. +Defaults to +.q "$j Sendmail $v ready at $b" . +Commonly redefined to include the configuration version number, e.g., +.q "$j Sendmail $v/$Z ready at $b" +.ip $f +.b "The sender (from) address." +.ip $g +.b "The sender address relative to the recipient." +.ip $h +.b "The recipient host." +.ip $i +.b "The queue id." +.ip $j\(dd +.b "The \*(lqofficial\*(rq domain name for this site." +This is fully qualified if the full qualification can be found. +It +.i must +be redefined to be the fully qualified domain name +if your system is not configured so that information can find +it automatically. +.ip $k +.b "The UUCP node name (from the uname system call)." +.ip $l\(dg +.b "The format of the UNIX from line." +Unless you have changed the UNIX mailbox format, +you should not change the default, +which is +.q "From $g $d" . +.ip $m +.b "The domain part of the \fIgethostname\fP return value." +Under normal circumstances, +.b $j +is equivalent to +.b $w.$m . +.ip $n\(dg +.b "The name of the daemon (for error messages)." +Defaults to +.q MAILER-DAEMON . +.ip $o\(dg +.b "The set of \*(lqoperators\*(rq in addresses." +A list of characters +which will be considered tokens +and which will separate tokens +when doing parsing. +For example, if +.q @ +were in the +.b $o +macro, then the input +.q a@b +would be scanned as three tokens: +.q a, +.q @, +and +.q b. +Defaults to +.q ".:@[]" , +which is the minimum set necessary to do RFC 822 parsing; +a richer set of operators is +.q ".:%@!/[]" , +which adds support for UUCP, the %-hack, and X.400 addresses. +.ip $p +.b "Sendmail's process id." +.ip $q\(dg +.b "Default format of sender address." +The +.b $q +macro specifies how an address should appear in a message +when it is defaulted. +Defaults to +.q "<$g>" . +It is commonly redefined to be +.q "$?x$x <$g>$|$g$." +or +.q "$g$?x ($x)$." , +corresponding to the following two formats: +.(b +Eric Allman <eric@CS.Berkeley.EDU> +eric@CS.Berkeley.EDU (Eric Allman) +.)b +.i Sendmail +properly quotes names that have special characters +if the first form is used. +.ip $r +.b "Protocol used to receive the message." +.ip $s +.b "Sender's host name." +.ip $t +.b "A numeric representation of the current time." +.ip $u +.b "The recipient user." +.ip $v +.b "The version number of \fIsendmail\fP." +.ip $w\(dd +.b "The hostname of this site." +.pp +The +.b $w +macro is set to the root name of this host (but see below for caveats). +.ip $x +.b "The full name of the sender." +.ip $z +.b "The home directory of the recipient." +.ip $_ +.b "The validated sender address." +.pp +There are three types of dates that can be used. +The +.b $a +and +.b $b +macros are in RFC 822 format; +.b $a +is the time as extracted from the +.q Date: +line of the message +(if there was one), +and +.b $b +is the current date and time +(used for postmarks). +If no +.q Date: +line is found in the incoming message, +.b $a +is set to the current time also. +The +.b $d +macro is equivalent to the +.b $b +macro in UNIX +(ctime) +format. +.pp +The macros +.b $w , +.b $j , +and +.b $m +are set to the identity of this host. +.i Sendmail +tries to find the fully qualified name of the host +if at all possible; +it does this by calling +.i gethostname (2) +to get the current hostname +and then passing that to +.i gethostbyname (3) +which is supposed to return the canonical version of that host name.\** +.(f +\**For example, on some systems +.i gethostname +might return +.q foo +which would be mapped to +.q foo.bar.com +by +.i gethostbyname . +.)f +Assuming this is successful, +.b $j +is set to the fully qualified name +and +.b $m +is set to the domain part of the name +(everything after the first dot). +The +.b $w +macro is set to the first word +(everything before the first dot) +if you have a level 5 or higher configuration file; +otherwise, it is set to the same value as +.b $j . +If the canonification is not successful, +it is imperative that the config file set +.b $j +to the fully qualified domain name\**. +.(f +\**Older versions of sendmail didn't pre-define +.b $j +at all, so up until 8.6, +config files +.i always +had to define +.b $j . +.)f +.pp +The +.b $f +macro is the id of the sender +as originally determined; +when mailing to a specific host +the +.b $g +macro is set to the address of the sender +.ul +relative to the recipient. +For example, +if I send to +.q bollard@matisse.CS.Berkeley.EDU +from the machine +.q vangogh.CS.Berkeley.EDU +the +.b $f +macro will be +.q eric +and the +.b $g +macro will be +.q eric@vangogh.CS.Berkeley.EDU. +.pp +The +.b $x +macro is set to the full name of the sender. +This can be determined in several ways. +It can be passed as flag to +.i sendmail . +The second choice is the value of the +.q Full-name: +line in the header if it exists, +and the third choice is the comment field +of a +.q From: +line. +If all of these fail, +and if the message is being originated locally, +the full name is looked up in the +.i /etc/passwd +file. +.pp +When sending, +the +.b $h , +.b $u , +and +.b $z +macros get set to the host, user, and home directory +(if local) +of the recipient. +The first two are set from the +.b $@ +and +.b $: +part of the rewriting rules, respectively. +.pp +The +.b $p +and +.b $t +macros are used to create unique strings +(e.g., for the +.q Message-Id: +field). +The +.b $i +macro is set to the queue id on this host; +if put into the timestamp line +it can be extremely useful for tracking messages. +The +.b $v +macro is set to be the version number of +.i sendmail ; +this is normally put in timestamps +and has been proven extremely useful for debugging. +.pp +The +.b $c +field is set to the +.q "hop count," +i.e., the number of times this message has been processed. +This can be determined +by the +.b \-h +flag on the command line +or by counting the timestamps in the message. +.pp +The +.b $r +and +.b $s +fields are set to the protocol used to communicate with +.i sendmail +and the sending hostname. +.pp +The +.b $_ +is set to a validated sender host name. +If the sender is running an RFC 1413 compliant IDENT server, +it will include the user name on that host. +.sh 3 "C and F \*- define classes" +.pp +Classes of phrases may be defined +to match on the left hand side of rewriting rules, +where a +.q phrase +is a sequence of characters that do not contain space characters. +For example +a class of all local names for this site +might be created +so that attempts to send to oneself +can be eliminated. +These can either be defined directly in the configuration file +or read in from another file. +Classes may be given names +from the set of upper case letters. +Lower case letters and special characters +are reserved for system use. +.pp +The syntax is: +.(b F +.b C \c +.i c\|phrase1 +.i phrase2... +.br +.b F \c +.i c\|file +.)b +The first form defines the class +.i c +to match any of the named words. +It is permissible to split them among multiple lines; +for example, the two forms: +.(b +CHmonet ucbmonet +.)b +and +.(b +CHmonet +CHucbmonet +.)b +are equivalent. +The second form +reads the elements of the class +.i c +from the named +.i file . +.pp +The +.b $~ +(match entries not in class) +only matches a single word; +multi-word entries in the class are ignored in this context. +.pp +The class +.b $=w +is set to be the set of all names +this host is known by. +This can be used to match local hostnames. +.pp +The class +.b $=k +is set to be the same as +.b $k , +that is, the UUCP node name. +.pp +The class +.b $=m +is set to the set of domains by which this host is known, +initially just +.b $m . +.pp +.i Sendmail +can be compiled to allow a +.i scanf (3) +string on the +.b F +line. +This lets you do simplistic parsing of text files. +For example, to read all the user names in your system +.i /etc/passwd +file into a class, use +.(b +FL/etc/passwd %[^:] +.)b +which reads every line up to the first colon. +.sh 3 "M \*- define mailer" +.pp +Programs and interfaces to mailers +are defined in this line. +The format is: +.(b F +.b M \c +.i name , +{\c +.i field =\c +.i value \|}* +.)b +where +.i name +is the name of the mailer +(used internally only) +and the +.q field=name +pairs define attributes of the mailer. +Fields are: +.(b +.ta 1i +Path The pathname of the mailer +Flags Special flags for this mailer +Sender A rewriting set for sender addresses +Recipient A rewriting set for recipient addresses +Argv An argument vector to pass to this mailer +Eol The end-of-line string for this mailer +Maxsize The maximum message length to this mailer +Linelimit The maximum line length in the message body +Directory The working directory for the mailer +.)b +Only the first character of the field name is checked. +.pp +The following flags may be set in the mailer description. +Any other flags may be used freely +to conditionally assign headers to messages +destined for particular mailers. +.nr ii 4n +.ip a +Run Extended SMTP (ESMTP) protocol (defined in RFCs 1425, 1426, and 1427). +.ip b +Force a blank line on the end of a message. +This is intended to work around some stupid versions of +/bin/mail +that require a blank line, but do not provide it themselves. +It would not normally be used on network mail. +.ip c +Do not include comments in addresses. +This should only be used if you have to work around +a remote mailer that gets confused by comments. +.ip C +If mail is +.i received +from a mailer with this flag set, +any addresses in the header that do not have an at sign +(\c +.q @ ) +after being rewritten by ruleset three +will have the +.q @domain +clause from the sender +tacked on. +This allows mail with headers of the form: +.(b +From: usera@hosta +To: userb@hostb, userc +.)b +to be rewritten as: +.(b +From: usera@hosta +To: userb@hostb, userc@hosta +.)b +automatically. +.ip D +This mailer wants a +.q Date: +header line. +.ip e +This mailer is expensive to connect to, +so try to avoid connecting normally; +any necessary connection will occur during a queue run. +.ip E +Escape lines beginning with +.q From +in the message with a `>' sign. +.ip f +The mailer wants a +.b \-f +.i from +flag, +but only if this is a network forward operation +(i.e., +the mailer will give an error +if the executing user +does not have special permissions). +.ip F +This mailer wants a +.q From: +header line. +.ip g +Normally, +.i sendmail +sends internally generated email (e.g., error messages) +using the null return address\** +.(f +\**Actually, this only applies to SMTP, +which uses the ``MAIL FROM:<>'' command. +.)f +as required by RFC 1123. +However, some mailers don't accept a null return address. +If necessary, +you can set the +.b g +flag to prevent +.i sendmail +from obeying the standards; +error messages will be sent as from the MAILER-DAEMON +(actually, the value of the +.b $n +macro). +.ip h +Upper case should be preserved in host names +for this mailer. +.ip I +This mailer will be speaking SMTP +to another +.i sendmail +\*- +as such it can use special protocol features. +This option is not required +(i.e., +if this option is omitted the transmission will still operate successfully, +although perhaps not as efficiently as possible). +.ip l +This mailer is local +(i.e., +final delivery will be performed). +.ip L +Limit the line lengths as specified in RFC821. +This deprecated option should be replaced by the +.b L= +mail declaration. +For historic reasons, the +.b L +flag also sets the +.b 7 +flag. +.ip m +This mailer can send to multiple users +on the same host +in one transaction. +When a +.b $u +macro occurs in the +.i argv +part of the mailer definition, +that field will be repeated as necessary +for all qualifying users. +.ip M +This mailer wants a +.q Message-Id: +header line. +.ip n +Do not insert a UNIX-style +.q From +line on the front of the message. +.ip p +Use the route-addr style reverse-path in the SMTP +.q "MAIL FROM:" +command +rather than just the return address; +although this is required in RFC821 section 3.1, +many hosts do not process reverse-paths properly. +Reverse-paths are officially discouraged by RFC 1123. +.ip P +This mailer wants a +.q Return-Path: +line. +.ip r +Same as +.b f , +but sends a +.b \-r +flag. +.ip s +Strip quote characters off of the address +before calling the mailer. +.ip S +Don't reset the userid +before calling the mailer. +This would be used in a secure environment +where +.i sendmail +ran as root. +This could be used to avoid forged addresses. +This flag is suppressed if given from an +.q unsafe +environment +(e.g, a user's mail.cf file). +.ip u +Upper case should be preserved in user names +for this mailer. +.ip U +This mailer wants Unix-style +.q From +lines with the ugly UUCP-style +.q "remote from <host>" +on the end. +.ip x +This mailer wants a +.q Full-Name: +header line. +.ip X +This mailer want to use the hidden dot algorithm +as specified in RFC821; +basically, +any line beginning with a dot +will have an extra dot prepended +(to be stripped at the other end). +This insures that lines in the message containing a dot +will not terminate the message prematurely. +.ip 7 +Strip all output to seven bits. +This is the default if the +.b L +flag is set. +Note that clearing this option is not +sufficient to get full eight bit data passed through +.i sendmail . +If the +.b 7 +option is set, this is essentially always set, +since the eighth bit was stripped on input. +.pp +The mailer with the special name +.q error +can be used to generate a user error. +The (optional) host field is an exit status to be returned, +and the user field is a message to be printed. +The exit status may be numeric or one of the values +USAGE, NOUSER, NOHOST, UNAVAILABLE, SOFTWARE, TEMPFAIL, PROTOCOL, or CONFIG +to return the corresponding EX_ exit code. +For example, the entry: +.(b +$#error $@ NOHOST $: Host unknown in this domain +.)b +on the RHS of a rule +will cause the specified error to be generated +and the +.q "Host unknown" +exit status to be returned +if the LHS matches. +This mailer is only functional in ruleset zero. +.pp +The mailer named +.q local +.i must +be defined in every configuration file. +This is used to deliver local mail, +and is treated specially in several ways. +Additionally, three other mailers named +.q prog , +.q *file* , +and +.q *include* +may be defined to tune the delivery of messages to programs, +files, +and :include: lists respectively. +They default to: +.(b +Mprog, P=/bin/sh, F=lsD, A=sh \-c $u +M*file*, P=/dev/null, F=lsDFMPEu, A=FILE +M*include*, P=/dev/null, F=su, A=INCLUDE +.)b +.pp +The Sender and Recipient rewriting sets +may either be a simple integer +or may be two integers separated by a slash; +if so, the first rewriting set is applied to envelope +addresses +and the second is applied to headers. +.pp +The Directory +is actually a colon-separated path of directories to try. +For example, the definition +.q D=$z:/ +first tries to execute in the recipient's home directory; +if that is not available, +it tries to execute in the root of the filesystem. +This is intended to be used only on the +.q prog +mailer, +since some shells (such as +.i csh ) +refuse to execute if they cannot read the home directory. +Since the queue directory is not normally readable by normal users +.i csh +scripts as recipients can fail. +.sh 3 "H \*- define header" +.pp +The format of the header lines that +.i sendmail +inserts into the message +are defined by the +.b H +line. +The syntax of this line is: +.(b F +.b H [\c +.b ? \c +.i mflags \c +.b ? ]\c +.i hname \c +.b : +.i htemplate +.)b +Continuation lines in this spec +are reflected directly into the outgoing message. +The +.i htemplate +is macro expanded before insertion into the message. +If the +.i mflags +(surrounded by question marks) +are specified, +at least one of the specified flags +must be stated in the mailer definition +for this header to be automatically output. +If one of these headers is in the input +it is reflected to the output +regardless of these flags. +.pp +Some headers have special semantics +that will be described below. +.sh 3 "O \*- set option" +.pp +There are a number of +.q random +options that +can be set from a configuration file. +Options are represented by single characters. +The syntax of this line is: +.(b F +.b O \c +.i o\|value +.)b +This sets option +.i o +to be +.i value . +Depending on the option, +.i value +may be a string, an integer, +a boolean +(with legal values +.q t , +.q T , +.q f , +or +.q F ; +the default is TRUE), +or +a time interval. +.pp +The options supported are: +.nr ii 1i +.ip a\fIN\fP +If set, +wait up to +.i N +minutes for an +.q @:@ +entry to exist in the alias database +before starting up. +If it does not appear in +.i N +minutes, +rebuild the database +(if the +.b D +option is also set) +or issue a warning. +.ip "A\fIspec, spec, ...\fP" +Specify possible alias file(s). +Each +.i spec +should be in the format +``\c +.i class \c +.b : +.i file '' +where +.i class \c +.b : +is optional and defaults to ``implicit''. +Depending on how +.i sendmail +is compiled, valid classes are +.q implicit +(search through a compiled-in list of alias file types, +for back compatibility), +.q hash +(if +.sm NEWDB +is specified), +.q dbm +(if +.sm NDBM +is specified), +.q stab +(internal symbol table \*- not normally used +unless you have no other database lookup), +or +.q nis +(if +.sm NIS +is specified). +If a list of +.i spec s +are provided, +.i sendmail +searches them in order. +.ip b\fIN\fP/\fIM\fP +Insist on at least +.i N +blocks free on the filesystem that holds the queue files +before accepting email via SMTP. +If there is insufficient space +.i sendmail +gives a 452 response +to the MAIL command. +This invites the sender to try again later. +The optional +.i M +is a maximum message size advertised in the ESMTP EHLO response. +It is currently otherwise unused. +.ip B\fIc\fP +Set the blank substitution character to +.i c . +Unquoted spaces in addresses are replaced by this character. +Defaults to space (i.e., no change is made). +.ip c +If an outgoing mailer is marked as being expensive, +don't connect immediately. +This requires that queueing be compiled in, +since it will depend on a queue run process to +actually send the mail. +.ip C\fIN\fP +Checkpoints the queue every +.i N +(default 10) +addresses sent. +If your system crashes during delivery to a large list, +this prevents retransmission to any but the last +.I N +recipients. +.ip d\fIx\fP +Deliver in mode +.i x . +Legal modes are: +.(b +.ta 4n +i Deliver interactively (synchronously) +b Deliver in background (asynchronously) +q Just queue the message (deliver during queue run) +.)b +Defaults to ``b'' if no option is specified, +``i'' if it is specified but given no argument +(i.e., ``Od'' is equivalent to ``Odi''). +.ip D +If set, +rebuild the alias database if necessary and possible. +If this option is not set, +.i sendmail +will never rebuild the alias database +unless explicitly requested +using +.b \-bi . +.ip e\fIx\fP +Dispose of errors using mode +.i x . +The values for +.i x +are: +.(b +p Print error messages (default) +q No messages, just give exit status +m Mail back errors +w Write back errors (mail if user not logged in) +e Mail back errors and give zero exit stat always +.)b +.ip E\fIfile/message\fP +Prepend error messages with the indicated message. +If it begins with a slash, +it is assumed to be the pathname of a file +containing a message (this is the recommended setting). +Otherwise, it is a literal message. +The error file might contain the name, email address, and/or phone number +of a local postmaster who could provide assistance +in to end users. +If the option is missing or null, +or if it names a file which does not exist or which is not readable, +no message is printed. +.ip f +Save +Unix-style +.q From +lines at the front of headers. +Normally they are assumed redundant +and discarded. +.ip F\fImode\fP +The file mode for queue files. +.ip g\fIn\fP +Set the default group id +for mailers to run in +to +.i n . +Defaults to 1. +The value can also be given as a symbolic group name. +.ip G +Allow fuzzy matching on the GECOS field. +If this flag is set, +and the usual user name lookups fail +(that is, there is no alias with this name and a +.i getpwnam +fails), +sequentially search the password file +for a matching entry in the GECOS field. +This also requires that MATCHGECOS +be turned on during compilation. +This option is not recommended. +.ip h\fIN\fP +The maximum hop count. +Messages that have been processed more than +.i N +times are assumed to be in a loop and are rejected. +Defaults to 25. +.ip H\fIfile\fP +Specify the help file +for SMTP. +.ip i +Ignore dots in incoming messages. +This is always disabled (that is, dots are always accepted) +when reading SMTP mail. +.ip I +Insist that the BIND name server be running +to resolve host names. +If this is not set and the name server is not running, +the +.i /etc/hosts +file will be considered complete. +In general, you do want to set this option +if your +.i /etc/hosts +file does not include all hosts known to you +or if you are using the MX (mail forwarding) feature of the BIND name server. +The name server will still be consulted +even if this option is not set, but +.i sendmail +will feel free to resort to reading +.i /etc/hosts +if the name server is not available. +Thus, you should +.i never +set this option if you do not run the name server. +.ip j +If set, send error messages in MIME format +(see RFC1341 and RFC1344 for details). +.ip J\fIpath\fP +Set the path for searching for users' .forward files. +The default is +.q $z/.forward . +Some sites that use the automounter may prefer to change this to +.q /var/forward/$u +to search a file with the same name as the user in a system directory. +It can also be set to a sequence of paths separated by colons; +.i sendmail +stops at the first file it can successfully and safely open. +For example, +.q /var/forward/$u:$z/.forward +will search first in /var/forward/\c +.i username +and then in +.i ~username /.forward +(but only if the first file does not exist). +.ip k\fIN\fP +The maximum number of open connections that will be cached at a time. +The default is one. +This delays closing the current connection until +either this invocation of +.i sendmail +needs to connect to another host +or it terminates. +Setting it to zero defaults to the old behavior, +that is, connections are closed immediately. +.ip K\fItimeout\fP +The maximum amount of time a cached connection will be permitted to idle +without activity. +If this time is exceeded, +the connection is immediately closed. +This value should be small (on the order of ten minutes). +Before +.i sendmail +uses a cached connection, +it always sends a NOOP (no operation) command +to check the connection; +if this fails, it reopens the connection. +This keeps your end from failing if the other end times out. +The point of this option is to be a good network neighbor +and avoid using up excessive resources +on the other end. +The default is five minutes. +.ip l +If there is an +.q Errors-To: +header, send error messages to the addresses listed there. +They normally go to the envelope sender. +Use of this option causes +.i sendmail +to violate RFC 1123. +.ip L\fIn\fP +Set the default log level to +.i n . +Defaults to 9. +.ip m +Send to me too, +even if I am in an alias expansion. +.ip M\fIx\|value\fP +Set the macro +.i x +to +.i value . +This is intended only for use from the command line. +.ip n +Validate the RHS of aliases when rebuilding the alias database. +.ip o +Assume that the headers may be in old format, +i.e., +spaces delimit names. +This actually turns on +an adaptive algorithm: +if any recipient address contains a comma, parenthesis, +or angle bracket, +it will be assumed that commas already exist. +If this flag is not on, +only commas delimit names. +Headers are always output with commas between the names. +.ip O\fIoptions\fP +Set server SMTP options. +The options are +.i key=value +pairs. +Known keys are: +.(b +.ta 1i +Port Name/number of listening port (defaults to "smtp") +Addr Address mask (defaults INADDR_ANY) +Family Address family (defaults to INET) +Listen Size of listen queue (defaults to 10) +.)b +The +.i Addr ess +mask may be a numeric address in dot notation +or a network name. +.ip p\fI\|opt,opt,...\fP +Set the privacy +.i opt ions. +``Privacy'' is really a misnomer; +many of these are just a way of insisting on stricter adherence +to the SMTP protocol. +The +.i opt ions +can be selected from: +.(b +.ta \w'needvrfyhelo'u+3n +public Allow open access +needmailhelo Insist on HELO or EHLO command before MAIL +needexpnhelo Insist on HELO or EHLO command before EXPN +noexpn Disallow EXPN entirely +needvrfyhelo Insist on HELO or EHLO command before VRFY +novrfy Disallow VRFY entirely +restrictmailq Restrict mailq command +restrictqrun Restrict \-q command line flag +noreceipts Ignore Return-Receipt-To: header +goaway Disallow essentially all SMTP status queries +authwarnings Put X-Authentication-Warning: headers in messages +.)b +The +.q goaway +pseudo-flag sets all flags except +.q restrictmailq +and +.q restrictqrun . +If mailq is restricted, +only people in the same group as the queue directory +can print the queue. +If queue runs are restricted, +only root and the owner of the queue directory +can run the queue. +Authentication Warnings add warnings about various conditions +that may indicate attempts to spoof the mail system, +such as using an non-standard queue directory. +.ip P\fIpostmaster\fP +If set, +copies of error messages will be sent to the named +.i postmaster . +Only the header of the failed message is sent. +Since most errors are user problems, +this is probably not a good idea on large sites, +and arguably contains all sorts of privacy violations, +but it seems to be popular with certain operating systems vendors. +.ip q\fIfactor\fP +Use +.i factor +as the multiplier in the map function +to decide when to just queue up jobs rather than run them. +This value is divided by the difference between the current load average +and the load average limit +(\c +.b x +flag) +to determine the maximum message priority +that will be sent. +Defaults to 600000. +.ip Q\fIdir\fP +Use the named +.i dir +as the queue directory. +.ip r\|\fItimeouts\fP +Timeout reads after +.i time +interval. +The +.i timeouts +argument is a list of +.i keyword=value +pairs. +The recognized timeouts and their default values, and their +minimum values specified in RFC 1123 section 5.3.2 are: +.(b +.ta \w'datafinal'u+3n +initial wait for initial greeting message [5m, 5m] +helo reply to HELO or EHLO command [5m, none] +mail reply to MAIL command [10m, 5m] +rcpt reply to RCPT command [1h, 5m] +datainit reply to DATA command [5m, 2m] +datablock data block read [1h, 3m] +datafinal reply to final ``.'' in data [1h, 10m] +rset reply to RSET command [5m, none] +quit reply to QUIT command [2m, none] +misc reply to NOOP and VERB commands [2m, none] +command command read [1h, 5m] +ident IDENT protocol timeout [30s, none] +.)b +All but +.q command +apply to client SMTP. +For back compatibility, +a timeout with no ``keyword='' part +will set all of the longer values. +.ip R +Normally, +.i sendmail +tries to eliminate any unnecessary explicit routes +when sending an error message +(as discussed in RFC 1123 \(sc 5.2.6). +For example, +when sending an error message to +.(b +<@known1,@known2,@unknown:user@known3> +.)b +.i sendmail +will strip off the +.q @known1 +in order to make the route as direct as possible. +However, if the +.b R +option is set, this will be disabled, +and the mail will be sent to the first address in the route, +even if later addresses are known. +This may be useful if you are caught behind a firewall. +.ip s +Be super-safe when running things, +i.e., +always instantiate the queue file, +even if you are going to attempt immediate delivery. +.i Sendmail +always instantiates the queue file +before returning control the client +under any circumstances. +.ip S\fIfile\fP +Log statistics in the named +.i file . +.ip t\fItzinfo\fP +Set the local time zone info to +.i tzinfo +\*- for example, +.q PST8PDT . +Actually, if this is not set, +the TZ environment variable is cleared (so the system default is used); +if set but null, the user's TZ variable is used, +and if set and non-null the TZ variable is set to this value. +.ip T\fIrtime/wtime\fP +Set the queue timeout to +.i rtime . +After this interval, +messages that have not been successfully sent +will be returned to the sender. +Defaults to five days. +The optional +.i wtime +is the time after which a warning message is sent. +If it is missing or zero +then no warning messages are sent. +.ip u\fIn\fP +Set the default userid for mailers to +.i n . +Mailers without the +.i S +flag in the mailer definition +will run as this user. +Defaults to 1. +The value can also be given as a symbolic user name. +.ip U\fIudbspec\fP +The user database specification. +.ip v +Run in verbose mode. +If this is set, +.i sendmail +adjusts options +.b c +(don't connect to expensive mailers) +and +.b d +(delivery mode) +so that all mail is delivered completely +in a single job +so that you can see the entire delivery process. +Option +.b v +should +.i never +be set in the configuration file; +it is intended for command line use only. +.ip V\fIfallbackhost\fP +If specified, the +.i fallbackhost +acts like a very low priority MX +on every host. +This is intended to be used by sites with poor network connectivity. +.ip w +If you are the +.q best +(that is, lowest preference) +MX for a given host, +you should normally detect this situation +and treat that condition specially, +by forwarding the mail to a UUCP feed, +treating it as local, +or whatever. +However, in some cases (such as Internet firewalls) +you may want to try to connect directly to that host +as though it had no MX records at all. +Setting this option causes +.i sendmail +to try this. +The downside is that errors in your configuration +are likely to be diagnosed as +.q "host unknown" +or +.q "message timed out" +instead of something more meaningful. +This option is disrecommended. +.ip x\fILA\fP +When the system load average exceeds +.i LA , +just queue messages +(i.e., don't try to send them). +Defaults to 8. +.ip X\fILA\fP +When the system load average exceeds +.i LA , +refuse incoming SMTP connections. +Defaults to 12. +.ip y\fIfact\fP +The indicated +.i fact or +is added to the priority (thus +.i lowering +the priority of the job) +for each recipient, +i.e., this value penalizes jobs with large numbers of recipients. +Defaults to 30000. +.ip Y +If set, +deliver each job that is run from the queue in a separate process. +Use this option if you are short of memory, +since the default tends to consume considerable amounts of memory +while the queue is being processed. +.ip z\fIfact\fP +The indicated +.i fact or +is multiplied by the message class +(determined by the Precedence: field in the user header +and the +.b P +lines in the configuration file) +and subtracted from the priority. +Thus, messages with a higher Priority: will be favored. +Defaults to 1800. +.ip Z\fIfact\fP +The +.i fact or +is added to the priority +every time a job is processed. +Thus, +each time a job is processed, +its priority will be decreased by the indicated value. +In most environments this should be positive, +since hosts that are down are all too often down for a long time. +Defaults to 90000. +.ip 7 +Strip input to seven bits for compatibility with old systems. +This shouldn't be necessary. +.lp +All options can be specified on the command line using the +\-o flag, +but most will cause +.i sendmail +to relinquish its setuid permissions. +The options that will not cause this are +b, d, e, i, L, m, o, p, r, s, v, C, and 7. +Also, M (define macro) when defining the r or s macros +is also considered +.q safe . +.sh 3 "P \*- precedence definitions" +.pp +Values for the +.q "Precedence:" +field may be defined using the +.b P +control line. +The syntax of this field is: +.(b +\fBP\fP\fIname\fP\fB=\fP\fInum\fP +.)b +When the +.i name +is found in a +.q Precedence: +field, +the message class is set to +.i num . +Higher numbers mean higher precedence. +Numbers less than zero +have the special property +that if an error occurs during processing +the body of the message will not be returned; +this is expected to be used for +.q "bulk" +mail such as through mailing lists. +The default precedence is zero. +For example, +our list of precedences is: +.(b +Pfirst-class=0 +Pspecial-delivery=100 +Plist=\-30 +Pbulk=\-60 +Pjunk=\-100 +.)b +People writing mailing list exploders +are encouraged to use +.q "Precedence: list" . +Older versions of +.i sendmail +(which discarded all error returns for negative precedences) +didn't recognize this name, giving it a default precedence of zero. +This allows list maintainers to see error returns +on both old and new versions of +.i sendmail . +.sh 3 "V \*- configuration version level" +.pp +To provide compatibility with old configuration files, +the +.b V +line has been added to define some very basic semantics +of the configuration file. +These are not intended to be long term supports; +rather, they describe compatibility features +which will probably be removed in future releases. +.pp +.b N.B.: +these version +.i levels +have nothing +to do with the version +.i number +on the files. +For example, +as of this writing +version 8 config files +(specifically, 8.6) +used version level 5 configurations. +.pp +.q Old +configuration files are defined as version level one. +Version level two files make the following changes: +.np +Host name canonification ($[ ... $]) +appends a dot if the name is recognized; +this gives the config file a way of finding out if anything matched. +(Actually, this just initializes the +.q host +map with the +.q \-a. +flag \*- you can reset it to anything you prefer +by declaring the map explicitly.) +.np +Default host name extension is consistent throughout processing; +version level one configurations turned off domain extension +(that is, adding the local domain name) +during certain points in processing. +Version level two configurations are expected to include a trailing dot +to indicate that the name is already canonical. +.np +Local names that are not aliases +are passed through a new distinguished ruleset five; +this can be used to append a local relay. +This behaviour can be prevented by resolving the local name +with an initial `@'. +That is, something that resolves to a local mailer and a user name of +.q vikki +will be passed through ruleset five, +but a user name of +.q @vikki +will have the `@' stripped, +will not be passed through ruleset five, +but will otherwise be treated the same as the prior example. +The expectation is that this might be used to implement a policy +where mail sent to +.q vikki +was handled by a central hub, +but mail sent to +.q vikki@localhost +was delivered directly. +.pp +Version level three files +allow # initiated comments on all lines. +Exceptions are backslash escaped # marks +and the $# syntax. +.pp +Version level four configurations +are completely equivalent to level three +for historical reasons. +.pp +Version level five configuration files +change the default definition of +.b $w +to be just the first component of the hostname. +.pp +The +.b V +line may have an optional +.b / \c +.i vendor +to indicate that this configuration file uses modifications +specific to a particular vendor\**. +.(f +\**And of course, vendors are encouraged to add themselves +to the list of recognized vendors by editing the routine +.i setvendor +in +.i conf.c . +.)f +.sh 3 "K \*- key file declaration" +.pp +Special maps can be defined using the line: +.(b +Kmapname mapclass arguments +.)b +The +.i mapname +is the handle by which this map is referenced in the rewriting rules. +The +.i mapclass +is the name of a type of map; +these are compiled in to +.i sendmail . +The +.i arguments +are interpreted depending on the class; +typically, +there would be a single argument naming the file containing the map. +.pp +Maps are referenced using the syntax: +.(b +$( \fImap\fP \fIkey\fP $@ \fIarguments\fP $: \fIdefault\fP $) +.)b +where either or both of the +.i arguments +or +.i default +portion may be omitted. +The +.i arguments +may appear more than once. +The indicated +.i key +and +.i arguments +are passed to the appropriate mapping function. +If it returns a value, it replaces the input. +If it does not return a value and the +.i default +is specified, the +.i default +replaces the input. +Otherwise, the input is unchanged. +.pp +During replacement of either a map value or default +the string +.q %\fIn\fP +(where +.i n +is a digit) +is replaced by the corresponding +.i argument . +Argument zero +is always the database key. +For example, the rule +.(b +.ta 1.5i +R$- ! $+ $: $(uucp $1 $@ $2 $: %1 @ %0 . UUCP $) +.)b +Looks up the UUCP name in a (user defined) UUCP map; +if not found it turns it into +.q \&.UUCP +form. +The database might contain records like: +.(b +decvax %1@%0.DEC.COM +research %1@%0.ATT.COM +.)b +.pp +The built in map with both name and class +.q host +is the host name canonicalization lookup. +Thus, +the syntax: +.(b +$(host \fIhostname\fP$) +.)b +is equivalent to: +.(b +$[\fIhostname\fP$] +.)b +.pp +There are four predefined database lookup classes: +.q dbm , +.q btree , +.q hash , +and +.q nis . +The first requires that +.i sendmail +be compiled with the +.b ndbm +library; +the second two require the +.b db +library, +and the third requires that +.i sendmail +be compiled with NIS support. +All four accept as arguments the same optional flags +and a filename +(or a mapname for NIS; +the filename is the root of the database path, +so that +.q .db +or some other extension appropriate for the database type +will be added to get the actual database name). +Known flags are: +.ip "\-o" +Indicates that this map is optional \*- that is, +if it cannot be opened, +no error is produced, +and +.i sendmail +will behave as if the map existed but was empty. +.ip "\-N" +Normally when maps are written, +the trailing null byte is not included as part of the key. +If this flag is indicated it will be included. +During lookups, only the null-byte-included form will be searched. +See also +.b \-O. +.ip "\-O" +If neither +.b \-N +or +.b \-O +are specified, +.i sendmail +uses an adaptive algorithm to decide whether or not to look for null bytes +on the end of keys. +It starts by trying both; +if it finds any key with a null byte it never tries again without a null byte +and vice versa. +If this flag is specified, +it never tries with a null byte; +this can speed matches but is never necessary. +If both +.b \-N +and +.b \-O +are specified, +.i sendmail +will never try any matches at all \(em +that is, everything will appear to fail. +.ip "\-a\fIx\fP" +Append the string +.i x +on successful matches. +For example, the default +.i host +map appends a dot on successful matches. +.ip "\-f" +Do not fold upper to lower case before looking up the key. +.ip "\-m" +Match only (without replacing the value). +If you only care about the existence of a key and not the value +(as you might when searching the NIS map +.q hosts.byname +for example), +this flag prevents the map from substituting the value. +However, +The \-a argument is still appended on a match, +and the default is still taken if the match fails. +.pp +The +.i dbm +map appends the strings +.q \&.pag +and +.q \&.dir +to the given filename; +the two +.i db -based +maps append +.q \&.db . +For example, the map specification +.(b +Kuucp dbm \-o \-N /usr/lib/uucpmap +.)b +specifies an optional map named +.q uucp +of class +.q dbm ; +it always has null bytes at the end of every string, +and the data is located in +/usr/lib/uucpmap.{dir,pag}. +.pp +The program +.i makemap (8) +can be used to build any of the three database-oriented maps. +It takes the following flags: +.ip \-f +Fold upper to lower case in the map. +.ip \-N +Include null bytes in keys. +.ip \-o +Append to an existing (old) file. +.ip \-r +Allow replacement of existing keys; +normally, re-inserting an existing key is an error. +.ip \-v +Print what is happening. +.lp +The +.i sendmail +daemon does not have to be restarted to read the new maps +as long as you change them in place; +file locking is used so that the maps won't be read +while they are being updated.\** +.(f +\**That is, don't create new maps and then use +.i mv (1) +to move them into place. +I consider this a shortfall (a.k.a. bug) in +.i sendmail +which should be fixed in a future release. +.)f +.pp +There are also two builtin maps that are, +strictly speaking, +not database lookups. +.pp +The +.q host +map does host domain canonification; +given a host name it calls the name server +to find the canonical name for that host. +.pp +The +.q dequote +map strips double quotes (") from a name. +It does not strip backslashes. +It will not strip quotes if the resulting string +would contain unscannable syntax +(that is, basic errors like unbalanced angle brackets; +more sophisticated errors such as unknown hosts are not checked). +The intent is for use when trying to accept mail from systems such as +DECnet +that routinely quote odd syntax such as +.(b +"49ers::ubell" +.)b +A typical usage is probably something like: +.(b +Kdequote dequote + +\&... + +R$\- $: $(dequote $1 $) +R$\- $+ $: $>3 $1 $2 +.)b +Care must be taken to prevent unexpected results; +for example, +.(b +"|someprogram < input > output" +.)b +will have quotes stripped, +but the result is probably not what you had in mind. +Fortunately these cases are rare. +.pp +New classes can be added in the routine +.b setupmaps +in file +.b conf.c . +.sh 2 "Building a Configuration File From Scratch" +.pp +Building a configuration table from scratch is an extremely difficult job. +Fortunately, +it is almost never necessary to do so; +nearly every situation that may come up +may be resolved by changing an existing table. +In any case, +it is critical that you understand what it is that you are trying to do +and come up with a philosophy for the configuration table. +This section is intended to explain what the real purpose +of a configuration table is +and to give you some ideas +for what your philosophy might be. +.pp +.b "Do not even consider" +writing your own configuration file +without carefully studying +RFC 821, 822, and 1123. +You should also read RFC 976 +if you are doing UUCP exchange. +.sh 3 "What you are trying to do" +.pp +The configuration table has three major purposes. +The first and simplest +is to set up the environment for +.i sendmail . +This involves setting the options, +defining a few critical macros, +etc. +Since these are described in other places, +we will not go into more detail here. +.pp +The second purpose is to rewrite addresses in the message. +This should typically be done in two phases. +The first phase maps addresses in any format +into a canonical form. +This should be done in ruleset three. +The second phase maps this canonical form +into the syntax appropriate for the receiving mailer. +.i Sendmail +does this in three subphases. +Rulesets one and two +are applied to all sender and recipient addresses respectively. +After this, +you may specify per-mailer rulesets +for both sender and recipient addresses; +this allows mailer-specific customization. +Finally, +ruleset four is applied to do any default conversion +to external form. +.pp +The third purpose +is to map addresses into the actual set of instructions +necessary to get the message delivered. +Ruleset zero must resolve to the internal form, +which is in turn used as a pointer to a mailer descriptor. +The mailer descriptor describes the interface requirements +of the mailer. +.sh 3 "Philosophy" +.pp +The particular philosophy you choose will depend heavily +on the size and structure of your organization. +I will present a few possible philosophies here. +There are as many philosophies as there are config designers; +feel free to develop your own. +.pp +One general point applies to all of these philosophies: +it is almost always a mistake +to try to do full host route resolution. +For example, +if you are on a UUCP-only site +and you are trying to get names of the form +.q user@host +to the Internet, +it does not pay to route them to +.q xyzvax!decvax!ucbvax!c70!user@host +since you then depend on several links not under your control, +some of which are likely to misparse it anyway. +The best approach to this problem +is to simply forward the message for +.q user@host +to +.q xyzvax +and let xyzvax +worry about it from there. +In summary, +just get the message closer to the destination, +rather than determining the full path. +.sh 4 "Large site, many hosts \*- minimum information" +.pp +Berkeley is an example of a large site, +i.e., more than two or three hosts +and multiple mail connections. +We have decided that the only reasonable philosophy +in our environment +is to designate one host as the guru for our site. +It must be able to resolve any piece of mail it receives. +The other sites should have the minimum amount of information +they can get away with. +In addition, +any information they do have +should be hints rather than solid information. +.pp +For example, +a typical site on our local ether network is +.q monet +(actually +.q monet.CS.Berkeley.EDU ). +When monet receives mail for delivery, +it checks whether it knows +that the destination host is directly reachable; +if so, mail is sent to that host. +If it receives mail for any unknown host, +it just passes it directly to +.q ucbvax.CS.Berkeley.EDU , +our master host. +Ucbvax may determine that the host name is illegal +and reject the message, +or may be able to do delivery. +However, it is important to note that when a new mail connection is added, +the only host that +.i must +have its tables updated +is ucbvax; +the others +.i may +be updated if convenient, +but this is not critical. +.pp +This picture is slightly muddied +due to network connections that are not actually located +on ucbvax. +For example, +some UUCP connections are currently on +.q ucbarpa. +However, +monet +.i "does not" +know about this; +the information is hidden totally between ucbvax and ucbarpa. +Mail going from monet to a UUCP host +is transferred via the ethernet +from monet to ucbvax, +then via the ethernet from ucbvax to ucbarpa, +and then is submitted to UUCP. +Although this involves some extra hops, +we feel this is an acceptable tradeoff. +.pp +An interesting point is that it would be possible +to update monet +to send appropriate UUCP mail directly to ucbarpa +if the load got too high; +if monet failed to note a host as connected to ucbarpa +it would go via ucbvax as before, +and if monet incorrectly sent a message to ucbarpa +it would still be sent by ucbarpa +to ucbvax as before. +The only problem that can occur is loops, +for example, +if ucbarpa thought that ucbvax had the UUCP connection +and vice versa. +For this reason, +updates should +.i always +happen to the master host first. +.pp +This philosophy results as much from the need +to have a single source for the configuration files +(typically built using +.i m4 \|(1) +or some similar tool) +as any logical need. +Maintaining more than three separate tables by hand +is essentially an impossible job. +.sh 4 "Small site \*- complete information" +.pp +A small site +(two or three hosts and few external connections) +may find it more reasonable to have complete information +at each host. +This would require that each host +know exactly where each network connection is, +possibly including the names of each host on that network. +As long as the site remains small +and the configuration remains relatively static, +the update problem will probably not be too great. +.sh 4 "Single host" +.pp +This is in some sense the trivial case. +The only major issue is trying to insure that you don't +have to know too much about your environment. +For example, +if you have a UUCP connection +you might find it useful to know about the names of hosts +connected directly to you, +but this is really not necessary +since this may be determined from the syntax. +.sh 4 "A completely different philosophy" +.pp +This is adapted from Bruce Lilly. +Any errors in interpretation are mine. +.pp +Do minimal changes in ruleset 3: +fix some common but unambiguous errors (e.g. trailing dot on domains) and +hide bang paths foo!bar into bar@foo.UUCP. +The resulting "canonical" form is any valid RFC822/RFC1123/RFC976 address. +.pp +Ruleset 0 does the bulk of the work. +It removes the trailing "@.UUCP" that hides bang paths, +strips anything not needed to resolve, +e.g. the phrase from phrase <route-addr> and from named groups, +rejects unparseable addresses using $#error, +and finally +resolves to a mailer/host/user triple. +Ruleset 0 is rather lengthy +as it has to handle 3 basic address forms: +RFC976 bang paths, +RFC1123 %-hacks +(including vanilla RFC822 local-part@domain), +and RFC822 source routes. +It's also complicated by having to handle named lists. +.pp +The header rewriting rulesets 1 and 2 +remove the trailing "@.UUCP" that hides bang paths. +Ruleset 2 also strips the $# mailer $@ host (for test mode). +.pp +Ruleset 4 does absolutely nothing. +.pp +The per-mailer rewriting rulesets conform the envelope and +header addresses to the requirements of the specific +mailer. +.pp +Lots of rulesets-as-subroutines are used. +.pp +As a result, header addresses are subject to minimal munging +(per RFC1123), and the general plan is per RFC822 sect. 3.4.10. +.sh 3 "Relevant issues" +.pp +The canonical form you use +should almost certainly be as specified in +the Internet protocols +RFC819 and RFC822. +Copies of these RFC's are included on the +.i sendmail +tape +as +.i doc/rfc819.lpr +and +.i doc/rfc822.lpr . +.pp +RFC822 +describes the format of the mail message itself. +.i Sendmail +follows this RFC closely, +to the extent that many of the standards described in this document +can not be changed without changing the code. +In particular, +the following characters have special interpretations: +.(b +< > ( ) " \e +.)b +Any attempt to use these characters for other than their RFC822 +purpose in addresses is probably doomed to disaster. +.pp +RFC819 +describes the specifics of the domain-based addressing. +This is touched on in RFC822 as well. +Essentially each host is given a name +which is a right-to-left dot qualified pseudo-path +from a distinguished root. +The elements of the path need not be physical hosts; +the domain is logical rather than physical. +For example, +at Berkeley +one legal host might be +.q a.CC.Berkeley.EDU ; +reading from right to left, +.q EDU +is a top level domain +comprising educational institutions, +.q Berkeley +is a logical domain name, +.q CC +represents the Computer Center, +(in this case a strictly logical entity), +and +.q a +is a host in the Computer Center. +.pp +Beware when reading RFC819 +that there are a number of errors in it. +.sh 3 "How to proceed" +.pp +Once you have decided on a philosophy, +it is worth examining the available configuration tables +to decide if any of them are close enough +to steal major parts of. +Even under the worst of conditions, +there is a fair amount of boiler plate that can be collected safely. +.pp +The next step is to build ruleset three. +This will be the hardest part of the job. +Beware of doing too much to the address in this ruleset, +since anything you do will reflect through +to the message. +In particular, +stripping of local domains is best deferred, +since this can leave you with addresses with no domain spec at all. +Since +.i sendmail +likes to append the sending domain to addresses with no domain, +this can change the semantics of addresses. +Also try to avoid +fully qualifying domains in this ruleset. +Although technically legal, +this can lead to unpleasantly and unnecessarily long addresses +reflected into messages. +The Berkeley configuration files +define ruleset nine +to qualify domain names and strip local domains. +This is called from ruleset zero +to get all addresses into a cleaner form. +.pp +Once you have ruleset three finished, +the other rulesets should be relatively trivial. +If you need hints, +examine the supplied configuration tables. +.sh 3 "Testing the rewriting rules \*- the \-bt flag" +.pp +When you build a configuration table, +you can do a certain amount of testing +using the +.q "test mode" +of +.i sendmail . +For example, +you could invoke +.i sendmail +as: +.(b +sendmail \-bt \-Ctest.cf +.)b +which would read the configuration file +.q test.cf +and enter test mode. +In this mode, +you enter lines of the form: +.(b +rwset address +.)b +where +.i rwset +is the rewriting set you want to use +and +.i address +is an address to apply the set to. +Test mode shows you the steps it takes +as it proceeds, +finally showing you the address it ends up with. +You may use a comma separated list of rwsets +for sequential application of rules to an input. +For example: +.(b +3,1,21,4 monet:bollard +.)b +first applies ruleset three to the input +.q monet:bollard. +Ruleset one is then applied to the output of ruleset three, +followed similarly by rulesets twenty-one and four. +.pp +If you need more detail, +you can also use the +.q \-d21 +flag to turn on more debugging. +For example, +.(b +sendmail \-bt \-d21.99 +.)b +turns on an incredible amount of information; +a single word address +is probably going to print out several pages worth of information. +.pp +You should be warned that internally, +.i sendmail +applies ruleset 3 to all addresses. +In this version of +.i sendmail , +you will have to do that manually. +For example, older versions allowed you to use +.(b +0 bruce@broadcast.sony.com +.)b +This version requires that you use: +.(b +3,0 bruce@broadcast.sony.com +.)b +.sh 3 "Building mailer descriptions" +.pp +To add an outgoing mailer to your mail system, +you will have to define the characteristics of the mailer. +.pp +Each mailer must have an internal name. +This can be arbitrary, +except that the names +.q local +and +.q prog +must be defined. +.pp +The pathname of the mailer must be given in the P field. +If this mailer should be accessed via an IPC connection, +use the string +.q [IPC] +instead. +.pp +The F field defines the mailer flags. +You should specify an +.q f +or +.q r +flag to pass the name of the sender as a +.b \-f +or +.b \-r +flag respectively. +These flags are only passed if they were passed to +.i sendmail , +so that mailers that give errors under some circumstances +can be placated. +If the mailer is not picky +you can just specify +.q "\-f $g" +in the argv template. +If the mailer must be called as +.b root +the +.q S +flag should be given; +this will not reset the userid +before calling the mailer\**. +.(f +\**\c +.i Sendmail +must be running setuid to root +for this to work. +.)f +If this mailer is local +(i.e., will perform final delivery +rather than another network hop) +the +.q l +flag should be given. +Quote characters +(backslashes and " marks) +can be stripped from addresses if the +.q s +flag is specified; +if this is not given +they are passed through. +If the mailer is capable of sending to more than one user +on the same host +in a single transaction +the +.q m +flag should be stated. +If this flag is on, +then the argv template containing +.b $u +will be repeated for each unique user +on a given host. +The +.q e +flag will mark the mailer as being +.q expensive, +which will cause +.i sendmail +to defer connection +until a queue run\**. +.(f +\**The +.q c +configuration option must be given +for this to be effective. +.)f +.pp +An unusual case is the +.q C +flag. +This flag applies to the mailer that the message is received from, +rather than the mailer being sent to; +if set, +the domain spec of the sender +(i.e., the +.q @host.domain +part) +is saved +and is appended to any addresses in the message +that do not already contain a domain spec. +For example, +a message of the form: +.(b +From: eric@vangogh.CS.Berkeley.EDU +To: wnj@monet.CS.Berkeley.EDU, mckusick +.)b +will be modified to: +.(b +From: eric@vangogh.CS.Berkeley.EDU +To: wnj@monet.CS.Berkeley.EDU, mckusick@vangogh.CS.Berkeley.EDU +.)b +.i "if and only if" +the +.q C +flag is defined in the mailer resolved to +by running +.q eric@vangogh.CS.Berkeley.EDU +through rulesets 3 and 0. +.pp +Other flags are described +in Appendix C. +.pp +The S and R fields in the mailer description +are per-mailer rewriting sets +to be applied to sender and recipient addresses +respectively. +These are applied after the sending domain is appended +and the general rewriting sets +(numbers one and two) +are applied, +but before the output rewrite +(ruleset four) +is applied. +A typical use is to append the current domain +to addresses that do not already have a domain. +For example, +a header of the form: +.(b +From: eric +.)b +might be changed to be: +.(b +From: eric@vangogh.CS.Berkeley.EDU +.)b +or +.(b +From: ucbvax!eric +.)b +depending on the domain it is being shipped into. +These sets can also be used +to do special purpose output rewriting +in cooperation with ruleset four. +.pp +The S and R fields +can be specified as two numbers separated by a slash +(e.g., +.q "S=10/11" ), +meaning that all envelope addresses will be processed through ruleset 10 +and all header addresses will be processed through ruleset 11. +With only one number specified, +both envelope and header rewriting sets are set to the indicated ruleset. +.pp +The E field defines the string to use +as an end-of-line indication. +A string containing only newline is the default. +The usual backslash escapes +(\er, \en, \ef, \eb) +may be used. +.pp +Finally, +an argv template is given as the A field. +It may have embedded spaces. +If there is no argv with a +.b $u +macro in it, +.i sendmail +will speak SMTP +to the mailer. +If the pathname for this mailer is +.q [IPC], +the argv should be +.(b +IPC $h [ \fIport\fP ] +.)b +where +.i port +is the optional port number +to connect to. +.pp +For example, +the specifications: +.(b +.ta \w'Mlocal, 'u +\w'P=/bin/mail, 'u +\w'F=rlsm, 'u +\w'S=10, 'u +\w'R=20, 'u +Mlocal, P=/bin/mail, F=rlsm S=10, R=20, A=mail \-d $u +Mether, P=[IPC], F=meC, S=11, R=21, A=IPC $h, M=100000 +.)b +specifies a mailer to do local delivery +and a mailer for ethernet delivery. +The first is called +.q local, +is located in the file +.q /bin/mail, +takes a picky +.b \-r +flag, +does local delivery, +quotes should be stripped from addresses, +and multiple users can be delivered at once; +ruleset ten +should be applied to sender addresses in the message +and ruleset twenty +should be applied to recipient addresses; +the argv to send to a message will be the word +.q mail, +the word +.q \-d, +and words containing the name of the receiving user. +If a +.b \-r +flag is inserted +it will be between the words +.q mail +and +.q \-d. +The second mailer is called +.q ether, +it should be connected to via an IPC connection, +it can handle multiple users at once, +connections should be deferred, +and any domain from the sender address +should be appended to any receiver name +without a domain; +sender addresses should be processed by ruleset eleven +and recipient addresses by ruleset twenty-one. +There is a 100,000 byte limit on messages passed through this mailer. +.sh 2 "The User Database" +.pp +If you have a version of +.i sendmail +with the user database package +compiled in, +the handling of sender and recipient addresses +is modified. +.pp +The location of this database is controlled with the +.b U +option. +.sh 3 "Structure of the user database" +.pp +The database is a sorted (BTree-based) structure. +User records are stored with the key: +.(b +\fIuser-name\fP\fB:\fP\fIfield-name\fP +.)b +The sorted database format ensures that user records are clustered together. +Meta-information is always stored with a leading colon. +.pp +Field names define both the syntax and semantics of the value. +Defined fields include: +.nr ii 1i +.ip maildrop +The delivery address for this user. +There may be multiple values of this record. +In particular, +mailing lists will have one +.i maildrop +record for each user on the list. +.ip "mailname" +The outgoing mailname for this user. +For each outgoing name, +there should be an appropriate +.i maildrop +record for that name to allow return mail. +See also +.i :default:mailname . +.ip mailsender +Changes any mail sent to this address to have the indicated envelope sender. +This is intended for mailing lists, +and will normally be the name of an appropriate -request address. +It is very similar to the owner-\c +.i list +syntax in the alias file. +.ip fullname +The full name of the user. +.ip office-address +The office address for this user. +.ip office-phone +The office phone number for this user. +.ip office-fax +The office FAX number for this user. +.ip home-address +The home address for this user. +.ip home-phone +The home phone number for this user. +.ip home-fax +The home FAX number for this user. +.ip project +A (short) description of the project this person is affiliated with. +In the University this is often just the name of their graduate advisor. +.ip plan +A pointer to a file from which plan information can be gathered. +.pp +As of this writing, +only a few of these fields are actually being used by +.i sendmail : +.i maildrop +and +.i mailname . +A +.i finger +program that uses the other fields is planned. +.sh 3 "User database semantics" +.pp +When the rewriting rules submit an address to the local mailer, +the user name is passed through the alias file. +If no alias is found (or if the alias points back to the same address), +the name (with +.q :maildrop +appended) +is then used as a key in the user database. +If no match occurs (or if the maildrop points at the same address), +forwarding is tried. +.pp +If the first token of the user name returned by ruleset 0 +is an +.q @ +sign, the user database lookup is skipped. +The intent is that the user database will act as a set of defaults +for a cluster (in our case, the Computer Science Division); +mail sent to a specific machine should ignore these defaults. +.pp +When mail is sent, +the name of the sending user is looked up in the database. +If that user has a +.q mailname +record, +the value of that record is used as their outgoing name. +For example, I might have a record: +.(b +eric:mailname Eric.Allman@CS.Berkeley.EDU +.)b +This would cause my outgoing mail to be sent as Eric.Allman. +.pp +If a +.q maildrop +is found for the user, +but no corresponding +.q mailname +record exists, +the record +.q :default:mailname +is consulted. +If present, this is the name of a host to override the local host. +For example, in our case we would set it to +.q CS.Berkeley.EDU . +The effect is that anyone known in the database +gets their outgoing mail stamped as +.q user@CS.Berkeley.EDU , +but people not listed in the database use the local hostname. +.sh 3 "Creating the database\**" +.(f +\**These instructions are known to be incomplete. +A future version of the user database is planned +including things such as finger service \*- and good documentation. +.)f +.pp +The user database is built from a text file +using the +.i makemap +utility +(in the distribution in the makemap subdirectory). +The text file is a series of lines corresponding to userdb records; +each line has a key and a value separated by white space. +The key is always in the format described above \*- +for example: +.(b +eric:maildrop +.)b +This file is normally installed in a system directory; +for example, it might be called +.i /etc/userdb . +To make the database version of the map, run the program: +.(b +makemap btree /etc/userdb.db < /etc/userdb +.)b +Then create a config file that uses this. +For example, using the V8 M4 configuration, include the +following line in your .mc file: +.(b +define(\`confUSERDB_SPEC\', /etc/userdb.db) +.)b +.sh 1 "OTHER CONFIGURATION" +.pp +There are some configuration changes that can be made by +recompiling +.i sendmail . +This section describes what changes can be made +and what has to be modified to make them. +.sh 2 "Parameters in src/Makefile" +.pp +These parameters are intended to describe the compilation environment, +not site policy, +and should normally be defined in src/Makefile. +.ip NDBM +If set, +the new version of the DBM library +that allows multiple databases will be used. +If neither NDBM nor NEWDB are set, +a much less efficient method of alias lookup is used. +.ip NEWDB +If set, use the new database package from Berkeley (from 4.4BSD). +This package is substantially faster than DBM or NDBM. +If NEWDB and NDBM are both set, +.i sendmail +will read DBM files, +but will create and use NEWDB files. +.ip NIS +Include support for NIS. +If set together with +.i both +NEWDB and NDBM, +.i sendmail +will create both DBM and NEWDB files if and only if +the file /var/yp/Makefile +exists and is readable. +This is intended for compatibility with Sun Microsystems' +.i mkalias +program used on YP masters. +.ip SYSTEM5 +Set all of the compilation parameters appropriate for System V. +.ip LOCKF +Use System V +.b lockf +instead of Berkeley +.b flock . +Due to the highly unusual semantics of locks +across forks in +.b lockf , +this should never be used unless absolutely necessary. +Set by default if +SYSTEM5 is set. +.ip SYS5TZ +Use System V +time zone semantics. +.ip HASINITGROUPS +Set this if your system has the +.i initgroups() +call +(if you have multiple group support). +This is the default if SYSTEM5 is +.i not +defined or if you are on HPUX. +.ip HASUNAME +Set this if you have the +.i uname (2) +system call (or corresponding library routine). +Set by default if +SYSTEM5 +is set. +.ip HASSTATFS +Set this if you have the +.i statfs (2) +system call. +This will allow you to give a temporary failure +message to incoming SMTP email +when you are low on disk space. +It is set by default on 4.4BSD and OSF/1 systems. +.ip HASUSTAT +Set if you have the +.i ustat (2) +system call. +This is an alternative implementation of disk space control. +You should only set one of HASSTATFS or HASUSTAT; +the first is preferred. +.ip _PATH_SENDMAILCF +The pathname of the sendmail.cf file. +.ip _PATH_SENDMAILPID +The pathname of the sendmail.pid file. +.ip LA_TYPE +The load average type. +Details are described below. +.lp +The are several built-in ways of computing the load average. +.i Sendmail +tries to auto-configure them based on imperfect guesses; +you can select one using the +.i cc +option +.b \-DLA_TYPE= \c +.i type , +where +.i type +is: +.ip LA_INT +The kernel stores the load average in the kernel as an array of long integers. +The actual values are scaled by a factor FSCALE +(default 256). +.ip LA_SHORT +The kernel stores the load average in the kernel as an array of short integers. +The actual values are scaled by a factor FSCALE +(default 256). +.ip LA_FLOAT +The kernel stores the load average in the kernel as an array of +double precision floats. +.ip LA_MACH +Use MACH-style load averages. +.ip LA_SUBR +Call the +.i getloadavg +routine to get the load average as an array of doubles. +.ip LA_ZERO +Always return zero as the load average. +This is the fallback case. +.lp +If type +.sm LA_INT , +.sm LA_SHORT , +or +.sm LA_FLOAT +is specified, +you may also need to specify +.sm _PATH_UNIX +(the path to your system binary) +and +.sm LA_AVENRUN +(the name of the variable containing the load average in the kernel; +usually +.q _avenrun +or +.q avenrun ). +.pp +There are also several compilation flags to indicate the environment +such as +.q _AIX3 +and +.q _SCO_unix_ . +See the READ_ME +file for the latest scoop on these flags. +.sh 2 "Parameters in src/conf.h" +.pp +Parameters and compilation options +are defined in conf.h. +Most of these need not normally be tweaked; +common parameters are all in sendmail.cf. +However, the sizes of certain primitive vectors, etc., +are included in this file. +The numbers following the parameters +are their default value. +.nr ii 1.2i +.ip "MAXLINE [1024]" +The maximum line length of any input line. +If message lines exceed this length +they will still be processed correctly; +however, header lines, +configuration file lines, +alias lines, +etc., +must fit within this limit. +.ip "MAXNAME [256]" +The maximum length of any name, +such as a host or a user name. +.ip "MAXPV [40]" +The maximum number of parameters to any mailer. +This limits the number of recipients that may be passed in one transaction. +It can be set to any arbitrary number above about 10, +since +.i sendmail +will break up a delivery into smaller batches as needed. +A higher number may reduce load on your system, however. +.ip "MAXATOM [100]" +The maximum number of atoms +(tokens) +in a single address. +For example, +the address +.q "eric@CS.Berkeley.EDU" +is seven atoms. +.ip "MAXMAILERS [25]" +The maximum number of mailers that may be defined +in the configuration file. +.ip "MAXRWSETS [100]" +The maximum number of rewriting sets +that may be defined. +.ip "MAXPRIORITIES [25]" +The maximum number of values for the +.q Precedence: +field that may be defined +(using the +.b P +line in sendmail.cf). +.ip "MAXUSERENVIRON [40]" +The maximum number of items in the user environment +that will be passed to subordinate mailers. +.ip "QUEUESIZE [1000]" +The maximum number of entries that will be processed +in a single queue run. +.ip "MAXMXHOSTS [20]" +The maximum number of MX records we will accept for any single host. +.lp +A number of other compilation options exist. +These specify whether or not specific code should be compiled in. +.nr ii 1.2i +.ip DEBUG +If set, debugging information is compiled in. +To actually get the debugging output, +the +.b \-d +flag must be used. +.b "WE STRONGLY RECOMMEND THAT THIS BE LEFT ON." +Some people, believing that it was a security hole +(it was, once) +have turned it off and thus crippled debuggers. +.ip NETINET +If set, +support for Internet protocol networking is compiled in. +Previous versions of +.i sendmail +referred to this as +.sm DAEMON ; +this old usage is now incorrect. +.ip NETISO +If set, +support for ISO protocol networking is compiled in +(it may be appropriate to #define this in the Makefile instead of conf.h). +.ip LOG +If set, +the +.i syslog +routine in use at some sites is used. +This makes an informational log record +for each message processed, +and makes a higher priority log record +for internal system errors. +.ip MATCHGECOS +Compile in the code to do ``fuzzy matching'' on the GECOS field +in /etc/passwd. +This also requires that option G be turned on. +.ip NAMED_BIND +Compile in code to use the +Berkeley Internet Name Domain (BIND) server +to resolve TCP/IP host names. +.ip NOTUNIX +If you are using a non-UNIX mail format, +you can set this flag to turn off special processing +of UNIX-style +.q "From " +lines. +.ip QUEUE +This flag should be set to compile in the queueing code. +If this is not set, +mailers must accept the mail immediately +or it will be returned to the sender. +.ip SETPROCTITLE +If defined, +.i sendmail +will change its +.i argv +array to indicate its current status. +This can be used in conjunction with the +.i ps +command to find out just what it's up to. +.ip SMTP +If set, +the code to handle user and server SMTP will be compiled in. +This is only necessary if your machine has some mailer +that speaks SMTP +(this means most machines everywhere). +.ip UGLYUUCP +If you have a UUCP host adjacent to you which is not running +a reasonable version of +.i rmail , +you will have to set this flag to include the +.q "remote from sysname" +info on the from line. +Otherwise, UUCP gets confused about where the mail came from. +.ip USERDB +Include the +.b experimental +Berkeley user information database package. +This adds a new level of local name expansion +between aliasing and forwarding. +It also uses the NEWDB package. +This may change in future releases. +.ip IDENTPROTO +Compile in the IDENT protocol as defined in RFC 1413. +This defaults on for all systems except Ultrix, +which apparently has the interesting +.q feature +that when it receives a +.q "host unreachable" +message it closes all open connections to that host. +Since some firewall gateways send this error code +when you access an unauthorized port (such as 113, used by IDENT), +Ultrix cannot receive email from such hosts. +.sh 2 "Configuration in src/conf.c" +.pp +The following changes can be made in conf.c. +.sh 3 "Built-in Header Semantics" +.pp +Not all header semantics are defined in the configuration file. +Header lines that should only be included by certain mailers +(as well as other more obscure semantics) +must be specified in the +.i HdrInfo +table in +.i conf.c . +This table contains the header name +(which should be in all lower case) +and a set of header control flags (described below), +The flags are: +.ip H_ACHECK +Normally when the check is made to see if a header line is compatible +with a mailer, +.i sendmail +will not delete an existing line. +If this flag is set, +.i sendmail +will delete +even existing header lines. +That is, +if this bit is set and the mailer does not have flag bits set +that intersect with the required mailer flags +in the header definition in +sendmail.cf, +the header line is +.i always +deleted. +.ip H_EOH +If this header field is set, +treat it like a blank line, +i.e., +it will signal the end of the header +and the beginning of the message text. +.ip H_FORCE +Add this header entry +even if one existed in the message before. +If a header entry does not have this bit set, +.i sendmail +will not add another header line if a header line +of this name already existed. +This would normally be used to stamp the message +by everyone who handled it. +.ip H_TRACE +If set, +this is a timestamp +(trace) +field. +If the number of trace fields in a message +exceeds a preset amount +the message is returned +on the assumption that it has an aliasing loop. +.ip H_RCPT +If set, +this field contains recipient addresses. +This is used by the +.b \-t +flag to determine who to send to +when it is collecting recipients from the message. +.ip H_FROM +This flag indicates that this field +specifies a sender. +The order of these fields in the +.i HdrInfo +table specifies +.i sendmail 's +preference +for which field to return error messages to. +.nr ii 5n +.lp +Let's look at a sample +.i HdrInfo +specification: +.(b +.ta 4n +\w'"return-receipt-to", 'u +struct hdrinfo HdrInfo[] = +\&{ + /* originator fields, most to least significant */ + "resent-sender", H_FROM, + "resent-from", H_FROM, + "sender", H_FROM, + "from", H_FROM, + "full-name", H_ACHECK, + /* destination fields */ + "to", H_RCPT, + "resent-to", H_RCPT, + "cc", H_RCPT, + /* message identification and control */ + "message", H_EOH, + "text", H_EOH, + /* trace fields */ + "received", H_TRACE|H_FORCE, + + NULL, 0, +}; +.)b +This structure indicates that the +.q To: , +.q Resent-To: , +and +.q Cc: +fields +all specify recipient addresses. +Any +.q Full-Name: +field will be deleted unless the required mailer flag +(indicated in the configuration file) +is specified. +The +.q Message: +and +.q Text: +fields will terminate the header; +these are used by random dissenters around the network world. +The +.q Received: +field will always be added, +and can be used to trace messages. +.pp +There are a number of important points here. +First, +header fields are not added automatically just because they are in the +.i HdrInfo +structure; +they must be specified in the configuration file +in order to be added to the message. +Any header fields mentioned in the configuration file but not +mentioned in the +.i HdrInfo +structure have default processing performed; +that is, +they are added unless they were in the message already. +Second, +the +.i HdrInfo +structure only specifies cliched processing; +certain headers are processed specially by ad hoc code +regardless of the status specified in +.i HdrInfo . +For example, +the +.q Sender: +and +.q From: +fields are always scanned on ARPANET mail +to determine the sender\**; +.(f +\**Actually, this is no longer true in SMTP; +this information is contained in the envelope. +The older ARPANET protocols did not completely distinguish +envelope from header. +.)f +this is used to perform the +.q "return to sender" +function. +The +.q "From:" +and +.q "Full-Name:" +fields are used to determine the full name of the sender +if possible; +this is stored in the macro +.b $x +and used in a number of ways. +.sh 3 "Restricting Use of Email" +.pp +If it is necessary to restrict mail through a relay, +the +.i checkcompat +routine can be modified. +This routine is called for every recipient address. +It returns an exit status +indicating the status of the message. +The status +.sm EX_OK +accepts the address, +.sm EX_TEMPFAIL +queues the message for a later try, +and other values +(commonly +.sm EX_UNAVAILABLE ) +reject the message. +It is up to +.i checkcompat +to print an error message +(using +.i usrerr ) +if the message is rejected. +For example, +.i checkcompat +could read: +.(b +.re +.sz -1 +.ta 4n +4n +4n +4n +4n +4n +4n +int +checkcompat(to, e) + register ADDRESS *to; + register ENVELOPE *e; +\&{ + register STAB *s; + + s = stab("private", ST_MAILER, ST_FIND); + if (s != NULL && e\->e_from.q_mailer != LocalMailer && + to->q_mailer == s->s_mailer) + { + usrerr("No private net mail allowed through this machine"); + return (EX_UNAVAILABLE); + } + if (MsgSize > 50000 && to\->q_mailer != LocalMailer) + { + usrerr("Message too large for non-local delivery"); + NoReturn = TRUE; + return (EX_UNAVAILABLE); + } + return (EX_OK); +} +.sz +.)b +This would reject messages greater than 50000 bytes +unless they were local. +The +.i NoReturn +flag can be sent to suppress the return of the actual body +of the message in the error return. +The actual use of this routine is highly dependent on the +implementation, +and use should be limited. +.sh 3 "Load Average Computation" +.pp +The routine +.i getla +should return an approximation of the current system load average +as an integer. +There are four versions included on compilation flags +as described above. +.sh 3 "New Database Map Classes" +.pp +New key maps can be added by creating a class initialization function +and a lookup function. +These are then added to the routine +.i setupmaps. +.pp +The initialization function is called as +.(b +\fIxxx\fP_map_init(MAP *map, char *mapname, char *args) +.)b +The +.i map +is an internal data structure. +The +.i mapname +is the name of the map (used for error messages). +The +.i args +is a pointer to the rest of the configuration file line; +flags and filenames can be extracted from this line. +The initialization function must return +.sm TRUE +if it successfully opened the map, +.sm FALSE +otherwise. +.pp +The lookup function is called as +.(b +\fIxxx\fP_map_lookup(MAP *map, char buf[], int bufsize, char **av, int *statp) +.)b +The +.i map +defines the map internally. +The parameters +.i buf +and +.i bufsize +have the input key. +This may be (and often is) used destructively. +The +.i av +is a list of arguments passed in from the rewrite line. +The lookup function should return a pointer to the new value. +IF the map lookup fails, +.i *statp +should be set to an exit status code; +in particular, it should be set to +.sm EX_TEMPFAIL +if recovery is to be attempted by the higher level code. +.sh 3 "Queueing Function" +.pp +The routine +.i shouldqueue +is called to decide if a message should be queued +or processed immediately. +Typically this compares the message priority to the current load average. +The default definition is: +.(b +bool +shouldqueue(pri, ctime) + long pri; + time_t ctime; +{ + if (CurrentLA < QueueLA) + return (FALSE); + if (CurrentLA >= RefuseLA) + return (TRUE); + return (pri > (QueueFactor / (CurrentLA \- QueueLA + 1))); +} +.)b +If the current load average +(global variable +.i CurrentLA , +which is set before this function is called) +is less than the low threshold load average +(option +.b x , +variable +.i QueueLA ), +.i shouldqueue +returns +.sm FALSE +immediately +(that is, it should +.i not +queue). +If the current load average exceeds the high threshold load average +(option +.b X , +variable +.i RefuseLA ), +.i shouldqueue +returns +.sm TRUE +immediately. +Otherwise, it computes the function based on the message priority, +the queue factor +(option +.b q , +global variable +.i QueueFactor ), +and the current and threshold load averages. +.pp +An implementation wishing to take the actual age of the message into account +can also use the +.i ctime +parameter, +which is the time that the message was first submitted to +.i sendmail . +Note that the +.i pri +parameter is already weighted +by the number of times the message has been tried +(although this tends to lower the priority of the message with time); +the expectation is that the +.i ctime +would be used as an +.q "escape clause" +to ensure that messages are eventually processed. +.sh 3 "Refusing Incoming SMTP Connections" +.pp +The function +.i refuseconnections +returns +.sm TRUE +if incoming SMTP connections should be refused. +The current implementation is based exclusively on the current load average +and the refuse load average option +(option +.b X , +global variable +.i RefuseLA ): +.(b +bool +refuseconnections() +{ + return (CurrentLA >= RefuseLA); +} +.)b +A more clever implementation +could look at more system resources. +.sh 3 "Load Average Computation" +.pp +The routine +.i getla +returns the current load average (as a rounded integer). +The distribution includes several possible implementations. +.sh 2 "Configuration in src/daemon.c" +.pp +The file +.i src/daemon.c +contains a number of routines that are dependent +on the local networking environment. +The version supplied assumes you have BSD style sockets. +.pp +In previous releases, +we recommended that you modify the routine +.i maphostname +if you wanted to generalize +.b $[ +\&...\& +.b $] +lookups. +We now recommend that you create a new keyed map instead. +.sh 1 "CHANGES IN VERSION 8" +.pp +The following summarizes changes +since the last commonly available version of +.i sendmail +(5.67): +.sh 2 "Connection Caching" +.pp +Instead of closing SMTP connections immediately, +those connections are cached for possible future use. +The advent of MX records made this effective for mailing lists; +in addition, +substantial performance improvements can be expected for queue processing. +.sh 2 "MX Piggybacking" +.pp +If two hosts with different names in a single message +happen to have the same set of MX hosts, +they can be sent in the same transaction. +Version 8 notices this and tries to batch the messages. +.sh 2 "RFC 1123 Compliance" +.pp +A number of changes have been made to make +.i sendmail +.q "conditionally compliant" +(that is, +.i sendmail +satisfies all of the +.q MUST +clauses and most but not all of the +.q SHOULD +clauses in RFC 1123). +.pp +The major areas of change are (numbers are RFC 1123 section numbers): +.nr ii \w'5.3.1.1\0\0'u +.ip 5.2.7 +Response to RCPT command is fast. +.ip 5.2.8 +Numeric IP addresses are logged in Received: lines. +.ip 5.2.17 +Self domain literal is properly handled. +.ip 5.3.2 +Better control over individual timeouts. +.ip 5.3.3 +Error messages are sent as +.q From:<> . +.ip 5.3.3 +Error messages are never sent to +.q <> . +.ip 5.3.3 +Route-addrs are pruned. +.lp +The areas in which +.i sendmail +is not +.q "unconditionally compliant" +are: +.ip 5.2.6 +.i Sendmail +does do header munging. +.ip 5.2.10 +.i Sendmail +doesn't always use the exact SMTP message text +as listed in RFC 821. +.ip 5.3.1.1 +.i Sendmail +doesn't guarantee only one connect for each host in queue runs. +.ip 5.3.1.1 +.i Sendmail +doesn't always provide adequate concurrency limits. +.sh 2 "Extended SMTP Support" +.pp +Version 8 includes both sending and receiving support for Extended +SMTP support as defined by RFC 1425 (basic) and RFC 1427 (SIZE); +and limited support for RFC 1426 (BODY). +.sh 2 "Eight-Bit Clean" +.pp +Previous versions of +.i sendmail +used the 0200 bit for quoting. +This version avoids that use. +However, for compatibility with RFC 822, +you can set option `7' to get seven bit stripping. +.pp +Individual mailers can still produce seven bit output using the +`7' mailer flag. +.sh 2 "User Database" +.pp +The user database is an as-yet experimental attempt +to provide unified large-site name support. +We are installing it at Berkeley; +future versions may show significant modifications. +.sh 2 "Improved BIND Support" +.pp +The BIND support, +particularly for MX records, +had a number of annoying +.q features +which have been removed in this release. +In particular, +these more tightly bind (pun intended) the name server to +.i sendmail , +so that the name server resolution rules are incorporated directly into +.b sendmail . +.sh 2 "Keyed Files" +.pp +Generalized keyed files is an idea taken directly from +.sm IDA +.i sendmail +(albeit with a completely different implementation). +They can be useful on large sites. +.pp +Version 8 also understands YP. +.sh 2 "Multi-Word Classes" +.pp +Classes can now be multiple words. +For example, +.(b +CShofmann.CS.Berkeley.EDU +.)b +allows you to match the entire string +.q hofmann.CS.Berkeley.EDU +using the single construct +.q $=S . +.sh 2 "Deferred Macro Expansion" +.pp +The +.b $& \c +.i x +construct has been adopted from +.sm IDA . +.sh 2 "IDENT Protocol Support" +.pp +The IDENT protocol as defined in RFC 1413 is supported. +.sh 2 "Parsing Bug Fixes" +.pp +A number of small bugs having to do with things like +backslash-escaped quotes inside of comments +have been fixed. +.sh 2 "Separate Envelope/Header Processing" +.pp +Since the From: line is passed in separately from the envelope sender, +these have both been made visible; +the +.b $g +macro is set to the envelope sender during processing +of mailer argument vectors +and the header sender during processing of headers. +.pp +It is also possible to specify separate per-mailer +envelope and header processing. +The +.b S enderRWSet +and +.b R ecipientRWset +arguments for mailers +can be specified as +.i envelope/header +to give different rewritings for envelope versus header addresses. +.sh 2 "Owner-List Propagates to Envelope" +.pp +When an alias has an associated owner\-list name, +that alias is used to change the envelope sender address. +This will cause downstream errors to be returned to that owner. +.sh 2 "Dynamic Header Allocation" +.pp +The fixed size limit on header lines has been eliminated. +.sh 2 "New Command Line Flags" +.pp +The +.b \-B +flag has been added to pass in body type information. +.pp +The +.b \-p +flag has been added +to pass in protocol information. +.pp +The +.b \-X +flag has been added +to allow logging of all protocol in and out of +.i sendmail +for debugging. +.sh 2 "Enhanced Command Line Flags" +.pp +The +.b \-q +flag can limit limit a queue run to specific recipients, senders, or queue ids +using +.b \-qR\c +.i substring , +.b \-qS\c +.i substring , +or +.b \-qI\c +.i substring +respectively. +.sh 2 "New and Old Configuration Line Types" +.pp +The +.b T +(Trusted users) configuration line has been deleted. +It will still be accepted but will be ignored. +.pp +The +.b K +line has been added to declare database maps. +.pp +The +.b V +line has been added to declare the configuration version level. +.pp +The +.b M +line has a +.q D= +field that lets you change into a temporary directory while that mailer +is running. +.sh 2 "New Options" +.pp +Several new options have been added, +many to support new features, +others to allow tuning that was previously available +only by recompiling. +They are described in detail in Section 5.1.5. +Briefly, +.nr ii 0.5i +.ip b +Insist on a minimum number of disk blocks. +.ip C +Set checkpoint interval. +.ip E +Default error message. +.ip G +Enable GECOS matching. +.ip h +Maximum hop count. +.ip j +Send errors in MIME-encapsulated format. +.ip J +Forward file path. +.ip k +Connection cache size +.ip K +Connection cache lifetime. +.ip l +Enable Errors-To: header. +These headers violate RFC 1123; +this option is included to provide back compatibility +with old versions of +.i sendmail . +.ip O +Set incoming SMTP daemon options, such as an alternate SMTP port. +.ip p +Privacy options. +.ip R +Don't prune route-addrs. +.ip U +User database spec. +.ip V +Fallback +.q MX +host. +.ip w +.q "Best MX" +handling technique. +.ip 7 +Do not run eight bit clean. +.sh 2 "Extended Options" +.pp +The +.b r +(read timeout), +.b I +(use BIND), +and +.b T +(queue timeout) +options have been extended to pass in more information. +.sh 2 "New Mailer Flags" +.pp +Several new mailer flags have been added. +.ip a +Try to use ESMTP when creating a connection. +If this is not set, +.i sendmail +will still try if the other end hints that it knows about ESMTP +in its greeting message; +this flag says to try even if it doesn't hint. +If the EHLO (extended hello) +command fails, +.i sendmail +falls back to old SMTP. +.ip b +Ensure that there is a blank line at the end of all messages. +.ip c +Strip all comments from addresses; +this should only be used as a last resort +when dealing with cranky mailers. +.ip g +Never use the null sender as the envelope sender, +even when running SMTP. +Although this violates RFC 1123, +it may be necessary when you must deal with some obnoxious old hosts. +.ip 7 +Strip all output to 7 bits. +.sh 2 "New Pre-Defined Macros" +.pp +The following macros are pre-defined: +.ip $k +The UUCP node name, +nominally from +.i uname (2) +call. +.ip $m +The domain part of our full hostname. +.ip $_ +The RFC 1413-provided sender address. +.sh 2 "New LHS Token" +.pp +Version 8 allows +.b $@ +on the Left Hand Side of an +.q R +line to match zero tokens. +This is intended to be used to match the null input. +.sh 2 "Bigger Defaults" +.pp +Version 8 allows up to 100 rulesets instead of 30. +It is recommended that rulesets 0\-9 be reserved for +.i sendmail 's +dedicated use in future releases. +.pp +The total number of MX records that can be used has been raised to 20. +.pp +The number of queued messages that can be handled at one time +has been raised from 600 to 1000. +.sh 2 "Different Default Tuning Parameters" +.pp +Version 8 has changed the default parameters +for tuning queue costs +to make the number of recipients more important +than the size of the message (for small messages). +This is reasonable if you are connected with reasonably fast links. +.sh 2 "Auto-Quoting in Addresses" +.pp +Previously, the +.q "Full Name <email address>" +syntax would generate incorrect protocol output +if +.q "Full Name" +had special characters such as dot. +This version puts quotes around such names. +.sh 2 "Symbolic Names On Error Mailer" +.pp +Several names have been built in to the $@ portion of the $#error +mailer. +.sh 2 "SMTP VRFY Doesn't Expand" +.pp +Previous versions of +.i sendmail +treated VRFY and EXPN the same. +In this version, +VRFY doesn't expand aliases or follow .forward files. +EXPN still does. +.pp +As an optimization, if you run with your default delivery mode being +queue-only or deliver-in-background, +the RCPT command will also not chase aliases and .forward files. +It will chase them when it processes the queue. +.sh 2 "[IPC] Mailers Allow Multiple Hosts" +.pp +When an address resolves to a mailer that has +.q [IPC] +as its +.q Path , +the $@ part (host name) +can be a colon-separated list of hosts instead of a single hostname. +This asks +.i sendmail +to search the list for the first entry that is available +exactly as though it were an MX record. +The intent is to route internal traffic through internal networks +without publishing an MX record to the net. +MX expansion is still done on the individual items. +.sh 2 "Aliases Extended" +.pp +The implementation has been merged with maps. +Among other things, +this supports NIS-based aliases. +.sh 2 "Portability and Security Enhancements" +.pp +A number of internal changes have been made to enhance portability. +.pp +Several fixes have been made to increase the paranoia factor. +.sh 2 "Miscellaneous Changes" +.pp +.i Sendmail +writes a +.i /etc/sendmail.pid +file with the current process id of the SMTP daemon. +.pp +Two people using the same program in their .forward file +are considered different +so that duplicate elimination doesn't delete one of them. +.pp +The +.i mailstats +program prints mailer names +and gets the location of the +.i sendmail.st +file from +.i /etc/sendmail.cf . +.pp +Many minor bugs have been fixed, such as handling of backslashes +inside of quotes. +.pp +A hook (ruleset 5) has been added +to allow rewriting of local addresses after aliasing. +.sh 1 "ACKNOWLEDGEMENTS" +.pp +I've worked on +.i sendmail +for many years, +and many employers have been remarkably patient +about letting me work on a large project +that was not part of my official job. +This includes time on the INGRES Project at Berkeley, +at Britton Lee, +and again on the Mammoth Project at Berkeley. +.pp +Much of the second wave of improvements +should be credited to Bryan Costales of ICSI. +As he passed me drafts of his book on +.i sendmail +I was inspired to start working on things again. +Bryan was also available to bounce ideas off of. +.pp +Many, many people contributed chunks of code and ideas to +.i sendmail . +It has proven to be a group network effort. +Version 8 in particular was a group project. +The following people made notable contributions: +.(l +Keith Bostic, CSRG, University of California, Berkeley +Michael J. Corrigan, University of California, San Diego +Bryan Costales, International Computer Science Institute +Pa\*:r (Pell) Emanuelsson +Craig Everhart, Transarc Corporation +Tom Ivar Helbekkmo, Norwegian School of Economics +Allan E. Johannesen, WPI +Jonathan Kamens, OpenVision Technologies, Inc. +Takahiro Kanbe, Fuji Xerox Information Systems Co., Ltd. +Brian Kantor, University of California, San Diego +Murray S. Kucherawy, HookUp Communication Corp. +Bruce Lilly, Sony U.S. +Karl London +Nakamura Motonori, Kyoto University +John Gardiner Myers, Carnegie Mellon University +Neil Rickert, Northern Illinois University +Eric Schnoebelen, Convex Computer Corp. +Eric Wassenaar, National Institute for Nuclear and High Energy Physics, Amsterdam +Christophe Wolfhugel, Herve Schauer Consultants (Paris) +.)l +I apologize for anyone I have omitted, misspelled, misattributed, or +otherwise missed. +Many other people have contributed ideas, comments, and encouragement. +I appreciate their contribution as well. +.++ A +.+c "COMMAND LINE FLAGS" +.ba 0 +.nr ii 1i +.pp +Arguments must be presented with flags before addresses. +The flags are: +.ip \-b\fIx\fP +Set operation mode to +.i x . +Operation modes are: +.(b +.ta 4n +m Deliver mail (default) +s Speak SMTP on input side +d Run as a daemon +t Run in test mode +v Just verify addresses, don't collect or deliver +i Initialize the alias database +p Print the mail queue +.)b +.ip \-B\fItype\fP +Indicate body type. +.ip \-C\fIfile\fP +Use a different configuration file. +.i Sendmail +runs as the invoking user (rather than root) +when this flag is specified. +.ip \-d\fIlevel\fP +Set debugging level. +.ip "\-f\ \fIaddr\fP" +The sender's machine address is +.i addr . +.ip \-F\fIname\fP +Sets the full name of this user to +.i name . +.ip "\-h\ \fIcnt\fP" +Sets the +.q "hop count" +to +.i cnt . +This represents the number of times this message has been processed +by +.i sendmail +(to the extent that it is supported by the underlying networks). +.i Cnt +is incremented during processing, +and if it reaches +MAXHOP +(currently 30) +.i sendmail +throws away the message with an error. +.ip \-n +Don't do aliasing or forwarding. +.ip "\-r\ \fIaddr\fP" +An obsolete form of +.b \-f . +.ip \-o\fIx\|value\fP +Set option +.i x +to the specified +.i value . +These options are described in Appendix B. +.ip \-p\fIprotocol\fP +Set the sending protocol. +Programs are encouraged to set this. +The protocol field can be in the form +.i protocol \c +.b : \c +.i host +to set both the sending protocol and sending host. +For example, +.q \-pUUCP:uunet +sets the sending protocol to UUCP +and the sending host to uunet. +(Some existing programs use \-oM to set the r and s macros; +this is equivalent to using \-p.) +.ip \-q\fItime\fP +Try to process the queued up mail. +If the time is given, +a +.i sendmail +will run through the queue at the specified interval +to deliver queued mail; +otherwise, it only runs once. +.ip \-q\fIXstring\fP +Run the queue once, +limiting the jobs to those matching +.i Xstring . +The key letter +.i X +can be +.b I +to limit based on queue identifier, +.b R +to limit based on recipient, +or +.b S +to limit based on sender. +A particular queued job is accepted if one of the corresponding addresses +contains the indicated +.i string . +.ip \-t +Read the header for +.q To: , +.q Cc: , +and +.q Bcc: +lines, and send to everyone listed in those lists. +The +.q Bcc: +line will be deleted before sending. +Any addresses in the argument vector will be deleted +from the send list. +.ip "\-X \fIlogfile\fP" +Log all traffic in and out of +.i sendmail +in the indicated +.i logfile +for debugging mailer problems. +This produces a lot of data very quickly and should be used sparingly. +.pp +There are a number of options that may be specified as +primitive flags. +These are the e, i, m, and v options. +Also, +the f option +may be specified as the +.b \-s +flag. +.+c "QUEUE FILE FORMATS" +.pp +This appendix describes the format of the queue files. +These files live in the directory defined by the +.b Q +option in the +.i sendmail.cf +file, usually +.i /var/spool/mqueue +or +.i /usr/spool/mqueue . +.pp +All queue files have the name +\fIx\fP\|\fBf\fP\fIAAA99999\fP +where +.i AAA99999 +is the +.i id +for this message +and the +.i x +is a type. +The first letter of the id encodes the hour of the day +that the message was received by the system +(with A being the hour between midnight and 1:00AM). +All files with the same id collectively define one message. +.pp +The types are: +.nr ii 0.5i +.ip d +The data file. +The message body (excluding the header) is kept in this file. +.ip l +The lock file. +If this file exists, +the job is currently being processed, +and a queue run will not process the file. +For that reason, +an extraneous +.b lf +file can cause a job to apparently disappear +(it will not even time out!). +[Actually, this file is obsolete on most systems that support the +.b flock +or +.b lockf +system calls.] +.ip n +This file is created when an id is being created. +It is a separate file to insure that no mail can ever be destroyed +due to a race condition. +It should exist for no more than a few milliseconds +at any given time. +[This is only used on old versions of +.i sendmail ; +it is not used +on newer versions.] +.ip q +The queue control file. +This file contains the information necessary to process the job. +.ip t +A temporary file. +These are an image of the +.b qf +file when it is being rebuilt. +It should be renamed to a +.b qf +file very quickly. +.ip x +A transcript file, +existing during the life of a session +showing everything that happens +during that session. +.pp +The +.b qf +file is structured as a series of lines +each beginning with a code letter. +The lines are as follows: +.ip D +The name of the data file. +There may only be one of these lines. +.ip H +A header definition. +There may be any number of these lines. +The order is important: +they represent the order in the final message. +These use the same syntax +as header definitions in the configuration file. +.ip C +The controlling address. +The syntax is +.q localuser:aliasname . +Recipient addresses following this line +will be flagged so that deliveries will be run as the +.i localuser +(a user name from the /etc/passwd file); +.i aliasname +is the name of the alias that expanded to this address +(used for printing messages). +.ip R +A recipient address. +This will normally be completely aliased, +but is actually realiased when the job is processed. +There will be one line +for each recipient. +.ip S +The sender address. +There may only be one of these lines. +.ip E +An error address. +If any such lines exist, +they represent the addresses that should receive error messages. +.ip T +The job creation time. +This is used to compute when to time out the job. +.ip P +The current message priority. +This is used to order the queue. +Higher numbers mean lower priorities. +The priority changes +as the message sits in the queue. +The initial priority depends on the message class +and the size of the message. +.ip M +A message. +This line is printed by the +.i mailq +command, +and is generally used to store status information. +It can contain any text. +.ip F +Flag bits, represented as one letter per flag. +Defined flag bits are +.b r +indicating that this is a response message +and +.b w +indicating that a warning message has been sent +announcing that the mail has been delayed. +.ip $ +A macro definition. +The values of certain macros +(as of this writing, only +.b $r +and +.b $s ) +are passed through to the queue run phase. +.ip B +The body type. +The remainder of the line is a text string defining the body type. +If this field is missing, +the body type is assumed to be +.q "undefined" +and no special processing is attempted. +Legal values are +.q 7BIT +and +.q 8BITMIME . +.pp +As an example, +the following is a queue file sent to +.q eric@mammoth.Berkeley.EDU +and +.q bostic@okeeffe.CS.Berkeley.EDU \**: +.(f +\**This example is contrived and probably inaccurate for your environment. +Glance over it to get an idea; +nothing can replace looking at what your own system generates. +.)f +.(b +P835771 +T404261372 +DdfAAA13557 +Seric +Eowner-sendmail@vangogh.CS.Berkeley.EDU +Ceric:sendmail@vangogh.CS.Berkeley.EDU +Reric@mammoth.Berkeley.EDU +Rbostic@okeeffe.CS.Berkeley.EDU +H?P?return-path: <owner-sendmail@vangogh.CS.Berkeley.EDU> +Hreceived: by vangogh.CS.Berkeley.EDU (5.108/2.7) id AAA06703; + Fri, 17 Jul 92 00:28:55 -0700 +Hreceived: from mail.CS.Berkeley.EDU by vangogh.CS.Berkeley.EDU (5.108/2.7) + id AAA06698; Fri, 17 Jul 92 00:28:54 -0700 +Hreceived: from [128.32.31.21] by mail.CS.Berkeley.EDU (5.96/2.5) + id AA22777; Fri, 17 Jul 92 03:29:14 -0400 +Hreceived: by foo.bar.baz.de (5.57/Ultrix3.0-C) + id AA22757; Fri, 17 Jul 92 09:31:25 GMT +H?F?from: eric@foo.bar.baz.de (Eric Allman) +H?x?full-name: Eric Allman +Hmessage-id: <9207170931.AA22757@foo.bar.baz.de> +HTo: sendmail@vangogh.CS.Berkeley.EDU +Hsubject: this is an example message +.)b +This shows the name of the data file, +the person who sent the message, +the submission time +(in seconds since January 1, 1970), +the message priority, +the message class, +the recipients, +and the headers for the message. +.+c "SUMMARY OF SUPPORT FILES" +.pp +This is a summary of the support files +that +.i sendmail +creates or generates. +Many of these can be changed by editing the sendmail.cf file; +check there to find the actual pathnames. +.nr ii 1i +.ip "/usr/\*(SD/sendmail" +The binary of +.i sendmail . +.ip /usr/\*(SB/newaliases +A link to /usr/\*(SD/sendmail; +causes the alias database to be rebuilt. +Running this program is completely equivalent to giving +.i sendmail +the +.b \-bi +flag. +.ip /usr/\*(SB/mailq +Prints a listing of the mail queue. +This program is equivalent to using the +.b \-bp +flag to +.i sendmail . +.ip /etc/sendmail.cf +The configuration file, +in textual form. +.ip /usr/lib/sendmail.hf +The SMTP help file. +.ip /etc/sendmail.st +A statistics file; need not be present. +.ip /etc/sendmail.pid +Created in daemon mode; +it contains the process id of the current SMTP daemon. +If you use this in scripts; +use ``head \-1'' to get just the first line; +later versions of +.i sendmail +may add information to subsequent lines. +.ip /etc/aliases +The textual version of the alias file. +.ip /etc/aliases.{pag,dir} +The alias file in +.i dbm \|(3) +format. +.ip /var/spool/mqueue +The directory in which the mail queue +and temporary files reside. +.ip /var/spool/mqueue/qf* +Control (queue) files for messages. +.ip /var/spool/mqueue/df* +Data files. +.ip /var/spool/mqueue/tf* +Temporary versions of the qf files, +used during queue file rebuild. +.ip /var/spool/mqueue/xf* +A transcript of the current session. +.\".ro +.\".ls 1 +.\".tp +.\".sp 2i +.\".in 0 +.\".ce 100 +.\".sz 24 +.\".b SENDMAIL +.\".sz 14 +.\".sp +.\"INSTALLATION AND OPERATION GUIDE +.\".sp +.\".sz 10 +.\"Eric Allman +.\"Britton-Lee, Inc. +.\".sp +.\"Version 8.36 +.\".ce 0 +.bp 2 +.rs +.sp |4i +.ce 2 +This page intentionally left blank; +replace it with a blank sheet for double-sided output. +.bp 3 +.ce +.sz 12 +TABLE OF CONTENTS +.sz 10 +.sp +.\" remove some things to avoid "out of temp file space" problem +.rm sh +.rm (x +.rm )x +.rm ip +.rm pp +.rm lp +.rm he +.rm fo +.rm eh +.rm oh +.rm ef +.rm of +.xp diff --git a/usr.sbin/sendmail/doc/op/op.ps b/usr.sbin/sendmail/doc/op/op.ps new file mode 100644 index 0000000..d0abd0c --- /dev/null +++ b/usr.sbin/sendmail/doc/op/op.ps @@ -0,0 +1,5477 @@ +%!PS-Adobe-3.0 +%%Creator: groff version 1.08 +%%DocumentNeededResources: font Times-Bold +%%+ font Times-Roman +%%+ font Times-Italic +%%+ font Symbol +%%DocumentSuppliedResources: procset grops 1.08 0 +%%Pages: 64 +%%PageOrder: Ascend +%%Orientation: Portrait +%%EndComments +%%BeginProlog +%%BeginResource: procset grops 1.08 0 +/setpacking where{ +pop +currentpacking +true setpacking +}if +/grops 120 dict dup begin +/SC 32 def +/A/show load def +/B{0 SC 3 -1 roll widthshow}bind def +/C{0 exch ashow}bind def +/D{0 exch 0 SC 5 2 roll awidthshow}bind def +/E{0 rmoveto show}bind def +/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def +/G{0 rmoveto 0 exch ashow}bind def +/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def +/I{0 exch rmoveto show}bind def +/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def +/K{0 exch rmoveto 0 exch ashow}bind def +/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def +/M{rmoveto show}bind def +/N{rmoveto 0 SC 3 -1 roll widthshow}bind def +/O{rmoveto 0 exch ashow}bind def +/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def +/Q{moveto show}bind def +/R{moveto 0 SC 3 -1 roll widthshow}bind def +/S{moveto 0 exch ashow}bind def +/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def +/SF{ +findfont exch +[exch dup 0 exch 0 exch neg 0 0]makefont +dup setfont +[exch/setfont cvx]cvx bind def +}bind def +/MF{ +findfont +[5 2 roll +0 3 1 roll +neg 0 0]makefont +dup setfont +[exch/setfont cvx]cvx bind def +}bind def +/level0 0 def +/RES 0 def +/PL 0 def +/LS 0 def +/PLG{ +gsave newpath clippath pathbbox grestore +exch pop add exch pop +}bind def +/BP{ +/level0 save def +1 setlinecap +1 setlinejoin +72 RES div dup scale +LS{ +90 rotate +}{ +0 PL translate +}ifelse +1 -1 scale +}bind def +/EP{ +level0 restore +showpage +}bind def +/DA{ +newpath arcn stroke +}bind def +/SN{ +transform +.25 sub exch .25 sub exch +round .25 add exch round .25 add exch +itransform +}bind def +/DL{ +SN +moveto +SN +lineto stroke +}bind def +/DC{ +newpath 0 360 arc closepath +}bind def +/TM matrix def +/DE{ +TM currentmatrix pop +translate scale newpath 0 0 .5 0 360 arc closepath +TM setmatrix +}bind def +/RC/rcurveto load def +/RL/rlineto load def +/ST/stroke load def +/MT/moveto load def +/CL/closepath load def +/FL{ +currentgray exch setgray fill setgray +}bind def +/BL/fill load def +/LW/setlinewidth load def +/RE{ +findfont +dup maxlength 1 index/FontName known not{1 add}if dict begin +{ +1 index/FID ne{def}{pop pop}ifelse +}forall +/Encoding exch def +dup/FontName exch def +currentdict end definefont pop +}bind def +/DEFS 0 def +/EBEGIN{ +moveto +DEFS begin +}bind def +/EEND/end load def +/CNT 0 def +/level1 0 def +/PBEGIN{ +/level1 save def +translate +div 3 1 roll div exch scale +neg exch neg exch translate +0 setgray +0 setlinecap +1 setlinewidth +0 setlinejoin +10 setmiterlimit +[]0 setdash +/setstrokeadjust where{ +pop +false setstrokeadjust +}if +/setoverprint where{ +pop +false setoverprint +}if +newpath +/CNT countdictstack def +userdict begin +/showpage{}def +}bind def +/PEND{ +clear +countdictstack CNT sub{end}repeat +level1 restore +}bind def +end def +/setpacking where{ +pop +setpacking +}if +%%EndResource +%%IncludeResource: font Times-Bold +%%IncludeResource: font Times-Roman +%%IncludeResource: font Times-Italic +%%IncludeResource: font Symbol +grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 def/PL +792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron/zcaron +/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef +/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space +/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft +/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four +/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C +/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash +/bracketright/circumflex/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q +/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase +/guillemotleft/guillemotright/bullet/florin/fraction/perthousand/dagger +/daggerdbl/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut +/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash +/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen/brokenbar +/section/dieresis/copyright/ordfeminine/guilsinglleft/logicalnot/minus +/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu +/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guilsinglright +/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde +/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute +/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis +/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute +/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve +/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex +/udieresis/yacute/thorn/ydieresis]def/Times-Italic@0 ENC0/Times-Italic RE +/Times-Roman@0 ENC0/Times-Roman RE/Times-Bold@0 ENC0/Times-Bold RE +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 16/Times-Bold@0 SF(SENDMAIL)244.888 143.4 Q/F1 12/Times-Bold@0 SF(INST) +170.172 172.2 Q(ALLA)-1.08 E(TION AND OPERA)-1.14 E(TION GUIDE)-1.14 E/F2 10 +/Times-Roman@0 SF(Eric Allman)263.42 196.2 Q(Uni)219.725 208.2 Q -.15(ve)-.25 G +(rsity of California, Berk).15 E(ele)-.1 E(y)-.15 E(Mammoth Project)251.75 +220.2 Q(eric@CS.Berk)239.41 232.2 Q(ele)-.1 E -.65(y.)-.15 G(EDU).65 E -1.11 +(Ve)262.725 256.2 S(rsion 8.36)1.11 E -.15(Fo)236.965 280.2 S 2.5(rS).15 G +(endmail V)258.765 280.2 Q(ersion 8.6)-1.11 E/F3 10/Times-Italic@0 SF(Sendmail) +97 324.6 Q F2 .699(implements a general purpose internetw)3.199 F .698 +(ork mail routing f)-.1 F .698(acility under the UNIX* operat-)-.1 F .378 +(ing system.)72 336.6 R .378(It is not tied to an)5.378 F 2.878(yo)-.15 G .378 +(ne transport protocol \212 its function may be lik)208.214 336.6 R .378 +(ened to a crossbar switch,)-.1 F 1.036 +(relaying messages from one domain into another)72 348.6 R 6.036(.I)-.55 G +3.536(nt)284.502 348.6 S 1.036 +(he process, it can do a limited amount of message)295.818 348.6 R .604(header\ + editing to put the message into a format that is appropriate for the recei)72 +360.6 R .604(ving domain.)-.25 F .604(All of this is)5.604 F +(done under the control of a con\214guration \214le.)72 372.6 Q .711 +(Due to the requirements of \215e)97 388.8 R .711(xibility for)-.15 F F3 +(sendmail)3.211 E F2 3.211(,t)C .71(he con\214guration \214le can seem some) +311.688 388.8 R .71(what unap-)-.25 F 2.893(proachable. Ho)72 400.8 R(we)-.25 E +-.15(ve)-.25 G 1.193 -.4(r, t).15 H .393(here are only a fe).4 F 2.893(wb)-.25 +G .394(asic con\214gurations for most sites, for which standard con\214gu-) +253.381 400.8 R .646(ration \214les ha)72 412.8 R .946 -.15(ve b)-.2 H .646 +(een supplied.).15 F .645(Most other con\214gurations can be b)5.646 F .645 +(uilt by adjusting an e)-.2 F .645(xisting con\214gura-)-.15 F +(tion \214les incrementally)72 424.8 Q(.)-.65 E F3(Sendmail)97 441 Q F2 .15 +(is based on RFC822 \(Internet Mail F)2.65 F .15 +(ormat Protocol\), RFC821 \(Simple Mail T)-.15 F .15(ransport Pro-)-.35 F .129 +(tocol\), RFC1123 \(Internet Host Requirements\), and RFC1425 \(SMTP Service E\ +xtensions\).)72 453 R(Ho)5.129 E(we)-.25 E -.15(ve)-.25 G .929 -.4(r, s).15 H +(ince).4 E F3(sendmail)72 465 Q F2 .749(is designed to w)3.249 F .749 +(ork in a wider w)-.1 F .749(orld, in man)-.1 F 3.25(yc)-.15 G .75 +(ases it can be con\214gured to e)309.31 465 R .75(xceed these proto-)-.15 F +2.5(cols. These)72 477 R(cases are described herein.)2.5 E(Although)97 493.2 Q +F3(sendmail)3.548 E F2 1.047(is intended to run without the need for monitorin\ +g, it has a number of features)3.548 F 1.972(that may be used to monitor or ad\ +just the operation under unusual circumstances.)72 505.2 R 1.972 +(These features are)6.972 F(described.)72 517.2 Q .817 +(Section one describes ho)97 533.4 R 3.317(wt)-.25 G 3.317(od)211.668 533.4 S +3.317(oa)224.985 533.4 S(basic)-.001 E F3(sendmail)3.316 E F2 3.316 +(installation. Section)3.316 F(tw)3.316 E 3.316(oe)-.1 G .816 +(xplains the day-to-day)412.938 533.4 R .282(information you should kno)72 +545.4 R 2.782(wt)-.25 G 2.782(om)196.768 545.4 S .282 +(aintain your mail system.)212.33 545.4 R .282(If you ha)5.282 F .583 -.15 +(ve a r)-.2 H(elati).15 E -.15(ve)-.25 G .283(ly normal site, these tw).15 F(o) +-.1 E .635(sections should contain suf)72 557.4 R .635 +(\214cient information for you to install)-.25 F F3(sendmail)3.135 E F2 .634 +(and k)3.135 F .634(eep it happ)-.1 F 4.434 -.65(y. S)-.1 H .634(ection three) +.65 F .925(describes some parameters that may be safely tweak)72 569.4 R 3.425 +(ed. Section)-.1 F .925(four has information re)3.425 F -.05(ga)-.15 G .925 +(rding the com-).05 F .886(mand line ar)72 581.4 R 3.386(guments. Section)-.18 +F<8c76>3.386 E 3.386(ec)-.15 G .885 +(ontains the nitty-gritty information about the con\214guration \214le.)221.92 +581.4 R(This)5.885 E .004 +(section is for masochists and people who must write their o)72 593.4 R .005 +(wn con\214guration \214le.)-.25 F .005(Section six describes con-)5.005 F .886 +(\214guration that can be done at compile time.)72 605.4 R .886(Section se) +5.886 F -.15(ve)-.25 G 3.386(ng).15 G -2.15 -.25(iv e)322.1 605.4 T 3.386(sab) +.25 G .886(rief description of dif)354.022 605.4 R .885(ferences in this)-.25 F +-.15(ve)72 617.4 S 1.619(rsion of).15 F F3(sendmail)4.119 E F2 6.619(.T)C 1.619 +(he appendix)169.197 617.4 R 1.619(es gi)-.15 F 1.919 -.15(ve a b)-.25 H 1.619 +(rief b).15 F 1.619(ut detailed e)-.2 F 1.62 +(xplanation of a number of features not)-.15 F +(described in the rest of the paper)72 629.4 Q(.)-.55 E .32 LW 76 680.4 72 +680.4 DL 80 680.4 76 680.4 DL 84 680.4 80 680.4 DL 88 680.4 84 680.4 DL 92 +680.4 88 680.4 DL 96 680.4 92 680.4 DL 100 680.4 96 680.4 DL 104 680.4 100 +680.4 DL 108 680.4 104 680.4 DL 112 680.4 108 680.4 DL 116 680.4 112 680.4 DL +120 680.4 116 680.4 DL 124 680.4 120 680.4 DL 128 680.4 124 680.4 DL 132 680.4 +128 680.4 DL 136 680.4 132 680.4 DL 140 680.4 136 680.4 DL 144 680.4 140 680.4 +DL 148 680.4 144 680.4 DL 152 680.4 148 680.4 DL 156 680.4 152 680.4 DL 160 +680.4 156 680.4 DL 164 680.4 160 680.4 DL 168 680.4 164 680.4 DL 172 680.4 168 +680.4 DL 176 680.4 172 680.4 DL 180 680.4 176 680.4 DL 184 680.4 180 680.4 DL +188 680.4 184 680.4 DL 192 680.4 188 680.4 DL 196 680.4 192 680.4 DL 200 680.4 +196 680.4 DL 204 680.4 200 680.4 DL 208 680.4 204 680.4 DL 212 680.4 208 680.4 +DL 216 680.4 212 680.4 DL/F4 8/Times-Roman@0 SF +(*UNIX is a trademark of Unix Systems Laboratories.)93.6 692.4 Q/F5 10 +/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 756 Q(SMM:08-1) +457.9 756 Q EP +%%Page: 7 2 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-7)457.9 60 Q 2.5(1. B)72 96 R(ASIC INST)-.3 E(ALLA)-.9 E(TION)-.95 E/F1 +10/Times-Roman@0 SF .234(There are tw)112 112.2 R 2.733(ob)-.1 G .233 +(asic steps to installing)175.631 112.2 R/F2 10/Times-Italic@0 SF(sendmail) +2.733 E F1 5.233(.T)C .233(he hard part is to b)317.076 112.2 R .233 +(uild the con\214guration table.)-.2 F 1.185(This is a \214le that)87 124.2 R +F2(sendmail)3.686 E F1 1.186 +(reads when it starts up that describes the mailers it kno)3.686 F 1.186 +(ws about, ho)-.25 F 3.686(wt)-.25 G(o)499 124.2 Q .715(parse addresses, ho)87 +136.2 R 3.215(wt)-.25 G 3.215(or)178.315 136.2 S -.25(ew)189.86 136.2 S .715 +(rite the message header).25 F 3.215(,a)-.4 G .715(nd the settings of v)306.75 +136.2 R .714(arious options.)-.25 F .714(Although the)5.714 F .852 +(con\214guration table is quite comple)87 148.2 R .852 +(x, a con\214guration can usually be b)-.15 F .852(uilt by adjusting an e)-.2 F +.852(xisting of)-.15 F(f-)-.25 E 1.078(the-shelf con\214guration.)87 160.2 R +1.078(The second part is actually doing the installation, i.e., creating the n\ +ecessary)6.078 F(\214les, etc.)87 172.2 Q .192 +(The remainder of this section will describe the installation of)112 188.4 R F2 +(sendmail)2.692 E F1 .192(assuming you can use one)2.692 F 1.432(of the e)87 +200.4 R 1.432(xisting con\214gurations and that the standard installation para\ +meters are acceptable.)-.15 F 1.431(All path-)6.431 F 8.62(names and e)87 212.4 +R 8.62(xamples are gi)-.15 F -.15(ve)-.25 G 11.12(nf).15 G 8.62 +(rom the root of the)257.57 212.4 R F2(sendmail)378.16 212.4 Q F1 8.62 +(subtree, normally)425.39 212.4 R F2(/usr/sr)87 224.4 Q(c/usr)-.37 E +(.sbin/sendmail)-1.11 E F1(on 4.4BSD.)2.5 E .543(If you are loading this of)112 +240.6 R 3.042(ft)-.25 G .542(he tape, continue with the ne)222.766 240.6 R .542 +(xt section.)-.15 F .542(If you ha)5.542 F .842 -.15(ve a r)-.2 H .542 +(unning binary).15 F +(already on your system, you should probably skip to section 1.2.)87 252.6 Q F0 +2.5(1.1. Compiling)87 276.6 R(Sendmail)2.5 E F1(All)127 292.8 Q F2(sendmail) +2.934 E F1 .434(source is in the)2.934 F F2(sr)2.934 E(c)-.37 E F1 +(subdirectory)2.934 E 5.434(.I)-.65 G 2.934(fy)321.652 292.8 S .435 +(ou are running on a 4.4BSD system, com-)332.916 292.8 R +(pile by typing \231mak)102 304.8 Q 2.5(e\232. On)-.1 F +(other systems, you may ha)2.5 E .3 -.15(ve t)-.2 H 2.5(om).15 G(ak)348.75 +304.8 Q 2.5(es)-.1 G(ome other adjustments.)368.92 304.8 Q F0 2.5(1.1.1. Old) +102 328.8 R -.1(ve)2.5 G(rsions of mak).1 E(e)-.1 E F1 +(If you are not running the ne)142 345 Q 2.5(wv)-.25 G(ersion of)270.74 345 Q +F0(mak)2.5 E(e)-.1 E F1(you will probably ha)2.5 E .3 -.15(ve t)-.2 H 2.5(ou) +.15 G(se)444.16 345 Q(mak)157 361.2 Q 2.5<65ad>-.1 G 2.5(fM)186.7 361.2 S(ak) +201.42 361.2 Q(e\214le.dist)-.1 E .885(This \214le does not assume se)117 377.4 +R -.15(ve)-.25 G .885(ral ne).15 F 3.385(ws)-.25 G(yntax)280.025 377.4 Q .885 +(es, including the \231+=\232 syntax in macro de\214nition)-.15 F +(and the \231.include\232 syntax.)117 389.4 Q F0 2.5(1.1.2. Compilation)102 +413.4 R(\215ags)2.5 E F2(Sendmail)142 429.6 Q F1(supports tw)2.5 E 2.5(od)-.1 G +(if)240.51 429.6 Q(ferent formats for the)-.25 E F2(aliases)2.5 E F1 2.5 +(database. These)2.5 F(formats are:)2.5 E 39.5(NDBM The)117 445.8 R -.74(``) +3.166 G(ne).74 E 3.166(wD)-.25 G(BM')240.432 445.8 Q 3.166('f)-.74 G .666 +(ormat, a)268.408 445.8 R -.25(va)-.2 G .666 +(ilable on nearly all systems around today).25 F 5.667(.T)-.65 G(his)492.33 +445.8 Q -.1(wa)189 457.8 S 3.541(st).1 G 1.041 +(he preferred format prior to 4.4BSD.)210.771 457.8 R 1.041(It allo)6.041 F +1.041(ws such comple)-.25 F 3.54(xt)-.15 G 1.04(hings as)470.46 457.8 R +(multiple databases and closing a currently open database.)189 469.8 Q 32.84 +(NEWDB The)117 486 R(ne)3.323 E 3.323(wd)-.25 G .824(atabase package from Berk) +232.606 486 R(ele)-.1 E 4.624 -.65(y. I)-.15 H 3.324(fy).65 G .824(ou ha) +382.716 486 R 1.124 -.15(ve t)-.2 H .824(his, use it.).15 F .824(It allo)5.824 +F(ws)-.25 E .839 +(long records, multiple open databases, real in-memory caching, and so forth.) +189 498 R -1.1(Yo)189 510 S 3.581(uc)1.1 G 1.081 +(an de\214ne this in conjunction with one of the other tw)213.141 510 R 1.082 +(o; if you do, old)-.1 F .693(databases are read, b)189 522 R .693 +(ut when a ne)-.2 F 3.193(wd)-.25 G .693 +(atabase is created it will be in NEWDB)341.681 522 R 2.851(format. As)189 534 +R 2.851(an)2.851 G .351(asty hack, if you ha)249.763 534 R .652 -.15(ve N)-.2 H +.352(EWDB, NDBM, and NIS de\214ned, and).15 F 1.593(if the \214le)189 546 R F2 +(/var/yp/Mak)4.093 E(e\214le)-.1 E F1 -.15(ex)4.093 G 1.593 +(ists and is readable,).15 F F2(sendmail)4.093 E F1 1.592(will create both) +4.092 F(ne)189 558 Q 3.975(wa)-.25 G 1.475(nd old v)213.825 558 R 1.475 +(ersions of the alias \214le during a)-.15 F F2(ne)3.976 E(walias)-.15 E F1 +3.976(command. This)3.976 F(is)3.976 E .711 +(required because the Sun NIS/YP system reads the DBM v)189 570 R .71 +(ersion of the alias)-.15 F 2.5(\214le. It')189 582 R 2.5(su)-.55 G +(gly as sin, b)229.56 582 Q(ut it w)-.2 E(orks.)-.1 E 1.112 +(If neither of these are de\214ned,)117 598.2 R F2(sendmail)3.612 E F1 1.112 +(reads the alias \214le into memory on e)3.612 F -.15(ve)-.25 G 1.112(ry in).15 +F -.2(vo)-.4 G(cation.).2 E(This can be slo)117 610.2 Q 2.5(wa)-.25 G +(nd should be a)191.18 610.2 Q -.2(vo)-.2 G(ided.).2 E .719 +(System V based systems can de\214ne SYSTEM5 to mak)142 626.4 R 3.219(es)-.1 G +-2.15 -.25(ev e)378.083 626.4 T .719(ral small adjustments.).25 F(This)5.719 E +1.076(changes the handling of timezones and uses the much less ef)117 638.4 R +(\214cient)-.25 E F2(loc)3.576 E(kf)-.2 E F1 1.076(call in preference to)3.576 +F F2(\215oc)117 650.4 Q(k)-.2 E F1 7.225(.T)C 2.224(hese can be speci\214ed se\ +parately using the compilation \215ags SYS5TZ and LOCKF)151.515 650.4 R +(respecti)117 662.4 Q -.15(ve)-.25 G(ly).15 E(.)-.65 E 1.646(If you don')142 +678.6 R 4.147(th)-.18 G -2.25 -.2(av e)202.03 678.6 T(the)4.347 E F2(unseten) +4.147 E(v)-.4 E F1 1.647(routine in your system library)4.147 F 4.147(,d)-.65 G +1.647(e\214ne the UNSETENV)411.276 678.6 R(compilation \215ag.)117 690.6 Q -1.1 +(Yo)142 706.8 S 3.855(um)1.1 G 1.355(ay also ha)169.755 706.8 R 1.655 -.15 +(ve t)-.2 H 3.855(od).15 G 1.355(e\214ne the compilation v)242.035 706.8 R +1.354(ariable LA_TYPE to describe ho)-.25 F 3.854(wy)-.25 G(our)490.67 706.8 Q +(load a)117 718.8 Q -.15(ve)-.2 G(rage is computed.).15 E +(This and other \215ags are detailed in section 6.1.)5 E EP +%%Page: 8 3 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 198.36(SMM:08-8 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(1.1.3. Compilation)102 96 R +(and installation)2.5 E/F1 10/Times-Roman@0 SF .308 +(After making the local system con\214guration described abo)142 112.2 R -.15 +(ve)-.15 G 2.809(,Y).15 G .309(ou should be able to com-)398.855 112.2 R .87 +(pile and install the system.)117 126.2 R .87 +(Compilation can be performed using \231mak)5.87 F(e)-.1 E/F2 7/Times-Roman@0 +SF(1)412.24 122.2 Q F1 3.37<9a69>415.74 126.2 S 3.37(nt)426.33 126.2 S(he) +437.48 126.2 Q F0(sendmail/sr)3.37 E(c)-.18 E F1(directory)117 138.2 Q 5(.Y) +-.65 G(ou may be able to install using)166.07 138.2 Q(mak)157 154.4 Q 2.5(ei) +-.1 G(nstall)183.84 154.4 Q 3.346 +(This should install the binary in /usr/sbin and create links from /usr/bin/ne) +117 170.6 R -.1(wa)-.25 G 3.346(liases and).1 F 1.577 +(/usr/bin/mailq to /usr/sbin/sendmail.)117 182.6 R 1.577 +(On 4.4BSD systems it will also format and install man)6.577 F(pages.)117 194.6 +Q F0 2.5(1.2. Con\214guration)87 218.6 R(Files)2.5 E/F3 10/Times-Italic@0 SF +(Sendmail)127 234.8 Q F1 .355(cannot operate without a con\214guration \214le.) +2.855 F .355(The con\214guration de\214nes the mail sys-)5.355 F .286 +(tems understood at this site, ho)102 246.8 R 2.786(wt)-.25 G 2.786(oa)239.856 +246.8 S .286(ccess them, ho)252.082 246.8 R 2.786(wt)-.25 G 2.786(of)323.79 +246.8 S(orw)334.906 246.8 Q .286(ard email to remote mail systems, and)-.1 F +3.113(an)102 258.8 S .613(umber of tuning parameters.)114.553 258.8 R .614 +(This con\214guration \214le is detailed in the later portion of this docu-) +5.614 F(ment.)102 270.8 Q(The)127 287 Q F3(sendmail)2.764 E F1 .264 +(con\214guration can be daunting at \214rst.)2.764 F .264(The w)5.264 F .264 +(orld is comple)-.1 F .264(x, and the mail con-)-.15 F .108 +(\214guration re\215ects that.)102 299 R .108(The distrib)5.108 F .109 +(ution includes an m4-based con\214guration package that hides a lot)-.2 F +(of the comple)102 311 Q(xity)-.15 E(.)-.65 E .47 +(These con\214guration \214les are simpler than old v)127 327.2 R .47 +(ersions lar)-.15 F .47(gely because the w)-.18 F .47(orld has become)-.1 F +1.448(simpler; in particular)102 339.2 R 3.948(,t)-.4 G -.15(ex)197.604 339.2 S +1.448(t-based host \214les are of).15 F 1.449(\214cially eliminated, ob)-.25 F +1.449(viating the need to \231hide\232)-.15 F(hosts behind a re)102 351.2 Q +(gistered internet g)-.15 E(ate)-.05 E -.1(wa)-.25 G -.65(y.).1 G .092(These \ +\214les also assume that most of your neighbors use domain-based UUCP addressi\ +ng; that)127 367.4 R .361(is, instead of naming hosts as \231host!user\232 the) +102 379.4 R 2.861(yw)-.15 G .361(ill use \231host.domain!user\232.)299.435 +379.4 R .361(The con\214guration \214les)5.361 F(can be customized to w)102 +391.4 Q(ork around this, b)-.1 E(ut it is more comple)-.2 E(x.)-.15 E 2.828(Ih) +127 407.6 S -2.25 -.2(av e)138.158 407.6 T(n').2 E 2.828(tt)-.18 G .328 +(ested these yet on an isolated LAN en)168.226 407.6 R .328 +(vironment with a single UUCP connection to)-.4 F 4.408(the outside w)102 419.6 +R 6.908(orld. If)-.1 F 4.409(you are in such an en)6.908 F 4.409 +(vironment, please send comments to send-)-.4 F(mail@CS.Berk)102 431.6 Q(ele) +-.1 E -.65(y.)-.15 G(EDU.).65 E .658 +(Our con\214guration \214les are processed by)127 447.8 R F3(m4)3.158 E F1 .658 +(to f)3.158 F .657(acilitate local customization; the directory)-.1 F F3(cf) +3.157 E F1 .396(of the)102 459.8 R F3(sendmail)2.896 E F1(distrib)2.896 E .396 +(ution directory contains the source \214les.)-.2 F .396 +(This directory contains se)5.396 F -.15(ve)-.25 G .397(ral sub-).15 F +(directories:)102 471.8 Q 61.73(cf Both)102 488 R .56 +(site-dependent and site-independent descriptions of hosts.)3.06 F .56 +(These can be lit-)5.56 F .445(eral host names \(e.g., \231ucb)174 500 R -.25 +(va)-.15 G .445(x.mc\232\) when the hosts are g).25 F(ate)-.05 E -.1(wa)-.25 G +.445(ys or more general).1 F 3.589(descriptions \(such as \231tcpproto.mc\232 \ +as a general description of an SMTP-)174 512 R .536(connected host or \231uucp\ +proto.mc\232 as a general description of a UUCP-connected)174 524 R 3.291 +(host\). Files)174 536 R(ending)3.291 E F0(.mc)3.291 E F1(\(`)3.291 E .791 +(`Master Con\214guration')-.74 F .791('\) are the input descriptions; the)-.74 +F 2.14(output is in the corresponding)174 548 R F0(.cf)4.64 E F1 4.64 +(\214le. The)4.64 F 2.14(general structure of these \214les is)4.64 F +(described belo)174 560 Q -.65(w.)-.25 G 39.5(domain Site-dependent)102 576.2 R +.428(subdomain descriptions.)2.928 F .428(These are tied to the w)5.428 F .428 +(ay your or)-.1 F -.05(ga)-.18 G(niza-).05 E .292(tion w)174 588.2 R .292 +(ants to do addressing.)-.1 F -.15(Fo)5.292 G 2.792(re).15 G(xample,)313.122 +588.2 Q F0(domain/cs.exposed.m4)2.792 E F1 .292(is our descrip-)2.792 F .443 +(tion for hosts in the CS.Berk)174 600.2 R(ele)-.1 E -.65(y.)-.15 G .443 +(EDU subdomain that w).65 F .442(ant their indi)-.1 F .442(vidual host-)-.25 F +.962(name to be e)174 612.2 R .963(xternally visible;)-.15 F F0 +(domain/cs.hidden.m4)3.463 E F1 .963(is the same e)3.463 F .963(xcept that the) +-.15 F 2.628(hostname is hidden \(e)174 624.2 R -.15(ve)-.25 G 2.628 +(rything looks lik).15 F 5.128(ei)-.1 G 5.128(tc)362.038 624.2 S 2.627 +(omes from CS.Berk)374.386 624.2 R(ele)-.1 E -.65(y.)-.15 G(EDU\).).65 E +(These are referenced using the)174 636.2 Q/F4 9/Times-Roman@0 SF(DOMAIN)2.5 E +F0(m4)2.5 E F1(macro in the)2.5 E F0(.mc)2.5 E F1(\214le.)2.5 E 41.74 +(feature De\214nitions)102 652.4 R .728 +(of speci\214c features that some particular host in your site might w)3.228 F +(ant.)-.1 E 2.467(These are referenced using the)174 664.4 R F4(FEA)4.966 E +(TURE)-.999 E F0(m4)4.966 E F1 4.966(macro. An)4.966 F -.15(ex)4.966 G 2.466 +(ample feature is).15 F 1.316(use_cw_\214le \(which tells)174 676.4 R F3 +(sendmail)3.816 E F1 1.317(to read an /etc/sendmail.cw \214le on startup to) +3.816 F .32 LW 76 686 72 686 DL 80 686 76 686 DL 84 686 80 686 DL 88 686 84 686 +DL 92 686 88 686 DL 96 686 92 686 DL 100 686 96 686 DL 104 686 100 686 DL 108 +686 104 686 DL 112 686 108 686 DL 116 686 112 686 DL 120 686 116 686 DL 124 686 +120 686 DL 128 686 124 686 DL 132 686 128 686 DL 136 686 132 686 DL 140 686 136 +686 DL 144 686 140 686 DL 148 686 144 686 DL 152 686 148 686 DL 156 686 152 686 +DL 160 686 156 686 DL 164 686 160 686 DL 168 686 164 686 DL 172 686 168 686 DL +176 686 172 686 DL 180 686 176 686 DL 184 686 180 686 DL 188 686 184 686 DL 192 +686 188 686 DL 196 686 192 686 DL 200 686 196 686 DL 204 686 200 686 DL 208 686 +204 686 DL 212 686 208 686 DL 216 686 212 686 DL/F5 5/Times-Roman@0 SF(1)93.6 +696.4 Q/F6 8/Times-Roman@0 SF(where you may ha)3.2 I .24 -.12(ve t)-.16 H 2(or) +.12 G(eplace \231mak)175.132 699.6 Q(e\232 with \231mak)-.08 E 2<65ad>-.08 G 2 +(fM)267.452 699.6 S(ak)279.228 699.6 Q(e\214le.dist\232 as appropriate.)-.08 E +EP +%%Page: 9 4 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-9)457.9 60 Q/F1 10/Times-Roman@0 SF(\214nd the set of local names\).) +174 96 Q 50.62(hack Local)102 112.2 R 1.886(hacks, referenced using the)4.387 F +/F2 9/Times-Roman@0 SF(HA)4.386 E(CK)-.36 E F0(m4)4.386 E F1 4.386(macro. T) +4.386 F 1.886(ry to a)-.35 F -.2(vo)-.2 G 1.886(id these.).2 F(The)6.886 E +(point of ha)174 124.2 Q(ving them here is to mak)-.2 E 2.5(ei)-.1 G 2.5(tc) +325.91 124.2 S(lear that the)335.63 124.2 Q 2.5(ys)-.15 G(mell.)394.08 124.2 Q +56.72(m4 Site-independent)102 140.4 R/F3 10/Times-Italic@0 SF(m4)2.538 E F1 +.038(\(1\) include \214les that ha)B .338 -.15(ve i)-.2 H .038 +(nformation common to all con\214gu-).15 F(ration \214les.)174 152.4 Q +(This can be thought of as a \231#include\232 directory)5 E(.)-.65 E 43.95 +(mailer De\214nitions)102 168.6 R .918(of mailers, referenced using the)3.418 F +F2(MAILER)3.417 E F0(m4)3.417 E F1 3.417(macro. De\214ned)3.417 F(mailer)3.417 +E(types in this distrib)174 180.6 Q(ution are f)-.2 E +(ax, local, smtp, uucp, and usenet.)-.1 E 43.39(ostype De\214nitions)102 196.8 +R 1.156(describing v)3.656 F 1.157(arious operating system en)-.25 F 1.157 +(vironments \(such as the loca-)-.4 F(tion of support \214les\).)174 208.8 Q +(These are referenced using the)5 E F2(OSTYPE)2.5 E F0(m4)2.5 E F1(macro.)2.5 E +60.61(sh Shell)102 225 R(\214les used by the)2.5 E F0(m4)2.5 E F1 -.2(bu)2.5 G +(ild process.).2 E -1.1(Yo)5 G 2.5(us)1.1 G(houldn')362.97 225 Q 2.5(th)-.18 G +-2.25 -.2(av e)404.18 225 T(to mess with these.)2.7 E 30.61(sitecon\214g Local) +102 241.2 R .49(site con\214guration information, such as UUCP connecti)2.99 F +(vity)-.25 E 5.49(.T)-.65 G(he)450.61 241.2 Q 2.99(yn)-.15 G(ormally)472.89 +241.2 Q(contain lists of site information, for e)174 253.2 Q(xample:)-.15 E +(SITE\(contessa\))214 269.4 Q(SITE\(hoptoad\))214 281.4 Q(SITE\(nkainc\))214 +293.4 Q(SITE\(well\))214 305.4 Q(The)174 321.6 Q 2.5(ya)-.15 G +(re referenced using the SITECONFIG macro:)201.34 321.6 Q +(SITECONFIG\(site.con\214g.\214le, name_of_site, X\))214 337.8 Q(where)174 354 +Q F3(X)2.703 E F1 .203(is the macro/class name to use.)2.703 F .204 +(It can be U \(indicating locally connected)5.204 F(hosts\) or one of W)174 366 +Q 2.5(,X)-.92 G 2.5(,o)259.73 366 S 2.5(rYf)269.73 366 S +(or up to three remote UUCP hubs.)288.61 366 Q .757(If you are in a ne)127 +382.2 R 3.257(wd)-.25 G .757(omain \(e.g., a compan)214.042 382.2 R .756 +(y\), you will probably w)-.15 F .756(ant to create a cf/domain)-.1 F .87 +(\214le for your domain.)102 394.2 R .871 +(This consists primarily of relay de\214nitions: for e)5.871 F .871 +(xample, Berk)-.15 F(ele)-.1 E(y')-.15 E 3.371(sd)-.55 G(omain)479 394.2 Q .16 +(de\214nition de\214nes relays for BitNET)102 406.2 R 2.66(,C)-.74 G(SNET) +257.61 406.2 Q 2.66(,a)-.74 G .16(nd UUCP)291.47 406.2 R 5.16(.O)-1.11 G 2.66 +(ft)344.57 406.2 S .16(hese, only the UUCP relay is particu-)353.34 406.2 R .46 +(larly speci\214c to Berk)102 418.2 R(ele)-.1 E 4.26 -.65(y. A)-.15 H .46 +(ll of these are internet-style domain names.).65 F .46(Please check to mak) +5.46 F 2.96(ec)-.1 G(er)493.1 418.2 Q(-)-.2 E(tain the)102 430.2 Q 2.5(ya)-.15 +G(re reasonable for your domain.)143.51 430.2 Q 1.407(Subdomains at Berk)127 +446.4 R(ele)-.1 E 3.907(ya)-.15 G 1.407 +(re also represented in the cf/domain directory)235.681 446.4 R 6.406(.F)-.65 G +1.406(or e)439.408 446.4 R 1.406(xample, the)-.15 F 1.49(domain cs-e)102 458.4 +R 1.491(xposed is the Computer Science subdomain with the local hostname sho) +-.15 F 1.491(wn to other)-.25 F 1.411(users; cs-hidden mak)102 470.4 R 1.411 +(es users appear to be from the CS.Berk)-.1 F(ele)-.1 E -.65(y.)-.15 G 1.41 +(EDU subdomain \(with no local).65 F 1.083(host information included\).)102 +482.4 R -1.1(Yo)6.083 G 3.583(uw)1.1 G 1.083(ill probably ha)246.332 482.4 R +1.384 -.15(ve t)-.2 H 3.584(ou).15 G 1.084 +(pdate this directory to be appropriate for)335.866 482.4 R(your domain.)102 +494.4 Q -1.1(Yo)127 510.6 S 4.373(uw)1.1 G 1.873(ill ha)154.713 510.6 R 2.173 +-.15(ve t)-.2 H 4.373(ou).15 G 1.873(se or create)207.482 510.6 R F0(.mc)4.372 +E F1 1.872(\214les in the)4.372 F F3(cf/cf)4.372 E F1 1.872 +(subdirectory for your hosts.)4.372 F 1.872(This is)6.872 F +(detailed in the cf/README \214le.)102 522.6 Q F0 2.5(1.3. Details)87 546.6 R +(of Installation Files)2.5 E F1 +(This subsection describes the \214les that comprise the)127 562.8 Q F3 +(sendmail)2.5 E F1(installation.)2.5 E F0 2.5(1.3.1. /usr/sbin/sendmail)102 +586.8 R F1 .08(The binary for)142 605 R F3(sendmail)2.58 E F1 .079 +(is located in /usr/sbin)2.58 F/F4 7/Times-Roman@0 SF(2)326.708 601 Q F1 5.079 +(.I)330.208 605 S 2.579(ts)341.117 605 S .079(hould be setuid root.)350.366 605 +R -.15(Fo)5.079 G 2.579(rs).15 G .079(ecurity rea-)458.111 605 R(sons, /, /usr) +117 619 Q 2.5(,a)-.4 G(nd /usr/sbin should be o)171.6 619 Q +(wned by root, mode 755)-.25 E F4(3)364.4 615 Q F1(.)367.9 619 Q .32 LW 76 646 +72 646 DL 80 646 76 646 DL 84 646 80 646 DL 88 646 84 646 DL 92 646 88 646 DL +96 646 92 646 DL 100 646 96 646 DL 104 646 100 646 DL 108 646 104 646 DL 112 +646 108 646 DL 116 646 112 646 DL 120 646 116 646 DL 124 646 120 646 DL 128 646 +124 646 DL 132 646 128 646 DL 136 646 132 646 DL 140 646 136 646 DL 144 646 140 +646 DL 148 646 144 646 DL 152 646 148 646 DL 156 646 152 646 DL 160 646 156 646 +DL 164 646 160 646 DL 168 646 164 646 DL 172 646 168 646 DL 176 646 172 646 DL +180 646 176 646 DL 184 646 180 646 DL 188 646 184 646 DL 192 646 188 646 DL 196 +646 192 646 DL 200 646 196 646 DL 204 646 200 646 DL 208 646 204 646 DL 212 646 +208 646 DL 216 646 212 646 DL/F5 5/Times-Roman@0 SF(2)93.6 656.4 Q/F6 8 +/Times-Roman@0 SF .384(This is usually /usr/sbin on 4.4BSD and ne)3.2 J .384 +(wer systems; man)-.2 F 2.385(ys)-.12 G .385(ystems install it in /usr/lib) +302.957 659.6 R 4.385(.I)-.32 G .385(understand it is in /usr/ucblib on)398.739 +659.6 R(System V Release 4.)72 669.2 Q F5(3)93.6 679.6 Q F6 .149(Some v)3.2 J +.15(endors ship them o)-.12 F .15 +(wned by bin; this creates a security hole that is not actually related to)-.2 +F/F7 8/Times-Italic@0 SF(sendmail)2.15 E F6 4.15(.O)C .15(ther important di-) +447.26 682.8 R(rectories that should ha)72 692.4 Q .24 -.12(ve r)-.16 H +(estricti).12 E .24 -.12(ve o)-.2 H(wnerships and permissions are /bin, /usr/b\ +in, /etc, /usr/etc, /lib, and /usr/lib)-.08 E(.)-.32 E EP +%%Page: 10 5 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-10 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(1.3.2. /etc/sendmail.cf)102 96 R/F1 +10/Times-Roman@0 SF .025(This is the con\214guration \214le for)142 112.2 R/F2 +10/Times-Italic@0 SF(sendmail)2.525 E F1 5.025(.T)C .025 +(his is the only non-library \214le name compiled)321.335 112.2 R(into)117 +126.2 Q F2(sendmail)2.5 E/F3 7/Times-Roman@0 SF(4)171.17 122.2 Q F1 5(.S)174.67 +126.2 S(ome older systems install it in)187.73 126.2 Q F0(/usr/lib/sendmail.cf) +2.5 E F1(.)A(If you w)142 142.4 Q(ant to mo)-.1 E .3 -.15(ve t)-.15 H +(his \214le, change).15 E F2(sr)2.5 E(c/pathnames.h)-.37 E F1(.)A .721 +(The con\214guration \214le is normally created using the distrib)142 158.6 R +.721(ution \214les described abo)-.2 F -.15(ve)-.15 G 5.72(.I).15 G(f)500.67 +158.6 Q .64(you ha)117 170.6 R .94 -.15(ve a p)-.2 H .64 +(articularly unusual system con\214guration you may need to create a special v) +.15 F(ersion.)-.15 E +(The format of this \214le is detailed in later sections of this document.)117 +182.6 Q F0 2.5(1.3.3. /usr/bin/newaliases)102 206.6 R F1(The)142 222.8 Q F2(ne) +2.5 E(waliases)-.15 E F1(command should just be a link to)2.5 E F2(sendmail)2.5 +E F1(:)A(rm \255f /usr/bin/ne)157 239 Q -.1(wa)-.25 G(liases).1 E +(ln \255s /usr/sbin/sendmail /usr/bin/ne)157 251 Q -.1(wa)-.25 G(liases).1 E +(This can be installed in whate)117 267.2 Q -.15(ve)-.25 G 2.5(rs).15 G +(earch path you prefer for your system.)254.91 267.2 Q F0 2.5(1.3.4. /v)102 +291.2 R(ar/spool/mqueue)-.1 E F1 .218(The directory)142 307.4 R F2 +(/var/spool/mqueue)2.718 E F1 .217(should be created to hold the mail queue.) +2.718 F .217(This directory)5.217 F(should be mode 700 and o)117 319.4 Q +(wned by root.)-.25 E(The actual path of this directory is de\214ned in the)142 +335.6 Q F0(Q)2.5 E F1(option of the)2.5 E F2(sendmail.cf)2.5 E F1(\214le.)2.5 E +F0 2.5(1.3.5. /etc/aliases*)102 359.6 R F1 1.492 +(The system aliases are held in \231/etc/aliases\232.)142 375.8 R 3.992(As) +6.492 G 1.492(ample is gi)350.006 375.8 R -.15(ve)-.25 G 3.993(ni).15 G 3.993 +<6e99>417.694 375.8 S 1.493(lib/aliases\232 which)431.127 375.8 R +(includes some aliases which)117 387.8 Q F2(must)2.5 E F1(be de\214ned:)2.5 E +(cp lib/aliases /etc/aliases)157 404 Q F2(edit /etc/aliases)157 416 Q F1 -1.1 +(Yo)117 432.2 S 2.5(us)1.1 G(hould e)139.51 432.2 Q(xtend this \214le with an) +-.15 E 2.5(ya)-.15 G(liases that are apropos to your system.)267.54 432.2 Q +(Normally)142 448.4 Q F2(sendmail)3.61 E F1 1.109(looks at a v)3.61 F 1.109 +(ersion of these \214les maintained by the)-.15 F F2(dbm)3.609 E F1 1.109 +(\(3\) or)1.666 F F2(db)3.609 E F1(\(3\))1.666 E 3.46(routines. These)117 460.4 +R .96(are stored either in \231/etc/aliases.dir\232 and \231/etc/aliases.pag\ +\232 or \231/etc/aliases.db\232)3.46 F 1.022 +(depending on which database package you are using.)117 472.4 R 1.022 +(These can initially be created as empty)6.022 F(\214les, b)117 484.4 Q(ut the) +-.2 E 2.5(yw)-.15 G(ill ha)180.54 484.4 Q .3 -.15(ve t)-.2 H 2.5(ob).15 G 2.5 +(ei)227.69 484.4 S(nitialized promptly)237.41 484.4 Q 5(.T)-.65 G +(hese should be mode 644:)326.76 484.4 Q(cp /de)157 500.6 Q +(v/null /etc/aliases.dir)-.25 E(cp /de)157 512.6 Q(v/null /etc/aliases.pag)-.25 +E(chmod 644 /etc/aliases.*)157 524.6 Q(ne)157 536.6 Q -.1(wa)-.25 G(liases).1 E +(The)117 552.8 Q F2(db)2.79 E F1 .29(routines preset the mode reasonably)2.79 F +2.79(,s)-.65 G 2.79(ot)301.68 552.8 S .29(his step can be skipped.)312.25 552.8 +R .29(The actual path of this)5.29 F(\214le is de\214ned in the)117 564.8 Q F0 +(A)2.5 E F1(option of the)2.5 E F2(sendmail.cf)2.5 E F1(\214le.)2.5 E F0 2.5 +(1.3.6. /etc/r)102 588.8 R(c)-.18 E F1 .156 +(It will be necessary to start up the)142 605 R F2(sendmail)2.655 E F1 .155 +(daemon when your system reboots.)2.655 F .155(This dae-)5.155 F 1.537 +(mon performs tw)117 617 R 4.037(of)-.1 G 1.537 +(unctions: it listens on the SMTP sock)201.221 617 R 1.537 +(et for connections \(to recei)-.1 F 1.838 -.15(ve m)-.25 H(ail).15 E .442(fro\ +m a remote system\) and it processes the queue periodically to insure that mai\ +l gets deli)117 629 R -.15(ve)-.25 G(red).15 E(when hosts come up.)117 641 Q +.505(Add the follo)142 657.2 R .505(wing lines to \231/etc/rc\232 \(or \231/et\ +c/rc.local\232 as appropriate\) in the area where it)-.25 F +(is starting up the daemons:)117 669.2 Q .32 LW 76 678.8 72 678.8 DL 80 678.8 +76 678.8 DL 84 678.8 80 678.8 DL 88 678.8 84 678.8 DL 92 678.8 88 678.8 DL 96 +678.8 92 678.8 DL 100 678.8 96 678.8 DL 104 678.8 100 678.8 DL 108 678.8 104 +678.8 DL 112 678.8 108 678.8 DL 116 678.8 112 678.8 DL 120 678.8 116 678.8 DL +124 678.8 120 678.8 DL 128 678.8 124 678.8 DL 132 678.8 128 678.8 DL 136 678.8 +132 678.8 DL 140 678.8 136 678.8 DL 144 678.8 140 678.8 DL 148 678.8 144 678.8 +DL 152 678.8 148 678.8 DL 156 678.8 152 678.8 DL 160 678.8 156 678.8 DL 164 +678.8 160 678.8 DL 168 678.8 164 678.8 DL 172 678.8 168 678.8 DL 176 678.8 172 +678.8 DL 180 678.8 176 678.8 DL 184 678.8 180 678.8 DL 188 678.8 184 678.8 DL +192 678.8 188 678.8 DL 196 678.8 192 678.8 DL 200 678.8 196 678.8 DL 204 678.8 +200 678.8 DL 208 678.8 204 678.8 DL 212 678.8 208 678.8 DL 216 678.8 212 678.8 +DL/F4 5/Times-Roman@0 SF(4)93.6 689.2 Q/F5 8/Times-Roman@0 SF .588 +(The system libraries can reference other \214les; in particular)3.2 J 2.589 +(,s)-.32 G .589(ystem library subroutines that)294.805 692.4 R/F6 8 +/Times-Italic@0 SF(sendmail)2.589 E F5 .589(calls probably reference)2.589 F F6 +(/etc/passwd)72 702 Q F5(and)2 E F6(/etc/r)2 E(esolv)-.296 E(.conf)-.592 E F5 +(.)A EP +%%Page: 11 6 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-11)452.9 60 Q/F1 10/Times-Roman@0 SF +(if [ \255f /usr/sbin/sendmail \255a \255f /etc/sendmail.cf ]; then)157 96 Q +(\(cd /v)193 108 Q(ar/spool/mqueue; rm \255f [lnx]f*\))-.25 E +(/usr/sbin/sendmail \255bd \255q30m &)193 120 Q(echo \255n ' sendmail' >/de)193 +132 Q(v/console)-.25 E<8c>157 144 Q .174 +(The \231cd\232 and \231rm\232 commands insure that all lock \214les ha)117 +160.2 R .473 -.15(ve b)-.2 H .173(een remo).15 F -.15(ve)-.15 G .173(d; e).15 F +.173(xtraneous lock \214les)-.15 F .004 +(may be left around if the system goes do)117 172.2 R .005 +(wn in the middle of processing a message.)-.25 F .005(The line that)5.005 F +2.294(actually in)117 184.2 R -.2(vo)-.4 G -.1(ke).2 G(s).1 E/F2 10 +/Times-Italic@0 SF(sendmail)4.794 E F1 2.294(has tw)4.794 F 4.794<6f8d>-.1 G +2.293(ags: \231\255bd\232 causes it to listen on the SMTP port, and)272.94 +184.2 R(\231\255q30m\232 causes it to run the queue e)117 196.2 Q -.15(ve)-.25 +G(ry half hour).15 E(.)-.55 E .378(Some people use a more comple)142 212.4 R +2.879(xs)-.15 G .379(tartup script, remo)285.209 212.4 R .379 +(ving zero length qf \214les and df \214les)-.15 F +(for which there is no qf \214le.)117 224.4 Q -.15(Fo)5 G 2.5(re).15 G(xample:) +253.9 224.4 Q 2.5(#r)157 240.6 S(emo)167.83 240.6 Q .3 -.15(ve z)-.15 H +(ero length qf \214les).15 E(for qf)157 252.6 Q(\214le in qf*)-.25 E(do)157 +264.6 Q(if [ \255r $qf)193 276.6 Q(\214le ])-.25 E(then)193 288.6 Q +(if [ ! \255s $qf)229 300.6 Q(\214le ])-.25 E(then)229 312.6 Q +(echo \255n " <zero: $qf)265 324.6 Q(\214le>" > /de)-.25 E(v/console)-.25 E +(rm \255f $qf)265 336.6 Q(\214le)-.25 E<8c>229 348.6 Q<8c>193 360.6 Q(done)157 +372.6 Q 2.5(#r)157 384.6 S(ename tf \214les to be qf if the qf does not e) +167.83 384.6 Q(xist)-.15 E(for tf)157 396.6 Q(\214le in tf*)-.25 E(do)157 408.6 +Q(qf)193 420.6 Q(\214le=`echo $tf)-.25 E(\214le | sed ')-.25 E(s/t/q/'`)-.55 E +(if [ \255r $tf)193 432.6 Q(\214le \255a ! \255f $qf)-.25 E(\214le ])-.25 E +(then)193 444.6 Q(echo \255n " <reco)229 456.6 Q -.15(ve)-.15 G(ring: $tf).15 E +(\214le>" > /de)-.25 E(v/console)-.25 E(mv $tf)229 468.6 Q(\214le $qf)-.25 E +(\214le)-.25 E(else)193 480.6 Q(echo \255n " <e)229 492.6 Q(xtra: $tf)-.15 E +(\214le>" > /de)-.25 E(v/console)-.25 E(rm \255f $tf)229 504.6 Q(\214le)-.25 E +<8c>193 516.6 Q(done)157 528.6 Q 2.5(#r)157 540.6 S(emo)167.83 540.6 Q .3 -.15 +(ve d)-.15 H 2.5<668c>.15 G(les with no corresponding qf \214les)213.08 540.6 Q +(for df)157 552.6 Q(\214le in df*)-.25 E(do)157 564.6 Q(qf)193 576.6 Q +(\214le=`echo $df)-.25 E(\214le | sed ')-.25 E(s/d/q/'`)-.55 E(if [ \255r $df) +193 588.6 Q(\214le \255a ! \255f $qf)-.25 E(\214le ])-.25 E(then)193 600.6 Q +(echo \255n " <incomplete: $df)229 612.6 Q(\214le>" > /de)-.25 E(v/console)-.25 +E(mv $df)229 624.6 Q(\214le `echo $df)-.25 E(\214le | sed ')-.25 E(s/d/D/'`) +-.55 E<8c>193 636.6 Q(done)157 648.6 Q 2.5(#a)157 660.6 S +(nnounce \214les that ha)168.94 660.6 Q .3 -.15(ve b)-.2 H(een sa).15 E -.15 +(ve)-.2 G 2.5(dd).15 G(uring disaster reco)314.32 660.6 Q -.15(ve)-.15 G(ry).15 +E(for xf)157 672.6 Q(\214le in [A-Z]f*)-.25 E(do)157 684.6 Q +(echo \255n " <panic: $xf)193 696.6 Q(\214le>" > /de)-.25 E(v/console)-.25 E +(done)157 708.6 Q EP +%%Page: 12 7 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-12 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF .756 +(If you are not running a v)142 96 R .755(ersion of UNIX that supports Berk) +-.15 F(ele)-.1 E 3.255(yT)-.15 G(CP/IP)416.725 96 Q 3.255(,d)-1.11 G 3.255(on) +450.27 96 S .755(ot include)463.525 96 R(the)117 108 Q F0(\255bd)2.5 E F1 +(\215ag.)2.5 E F0 2.5(1.3.7. /usr/lib/sendmail.hf)102 132 R F1 2.078 +(This is the help \214le used by the SMTP)142 148.2 R F0(HELP)4.578 E F1 4.578 +(command. It)4.578 F 2.078(should be copied from)4.578 F +(\231lib/sendmail.hf\232:)117 160.2 Q(cp lib/sendmail.hf /usr/lib)157 176.4 Q +(The actual path of this \214le is de\214ned in the)117 192.6 Q F0(H)2.5 E F1 +(option of the)2.5 E/F2 10/Times-Italic@0 SF(sendmail.cf)2.5 E F1(\214le.)2.5 E +F0 2.5(1.3.8. /etc/sendmail.st)102 216.6 R F1 3.04 +(If you wish to collect statistics about your mail traf)142 232.8 R 3.04 +(\214c, you should create the \214le)-.25 F(\231/etc/sendmail.st\232:)117 244.8 +Q(cp /de)157 261 Q(v/null /etc/sendmail.st)-.25 E(chmod 666 /etc/sendmail.st) +157 273 Q .715(This \214le does not gro)117 289.2 R 4.516 -.65(w. I)-.25 H +3.216(ti).65 G 3.216(sp)231.502 289.2 S .716 +(rinted with the program \231mailstats/mailstats.c.)243.608 289.2 R 5.716<9a54> +-.7 G .716(he actual path)447.028 289.2 R(of this \214le is de\214ned in the) +117 301.2 Q F0(S)2.5 E F1(option of the)2.5 E F2(sendmail.cf)2.5 E F1(\214le.) +2.5 E F0 2.5(1.3.9. /usr/bin/newaliases)102 325.2 R F1(If)142 341.4 Q F2 +(sendmail)3.256 E F1 .756(is in)3.256 F -.2(vo)-.4 G -.1(ke).2 G 3.256(da).1 G +3.256<7399>240.424 341.4 S(ne)252.01 341.4 Q -.1(wa)-.25 G(liases,).1 E 3.255 +<9a69>-.7 G 3.255(tw)307.255 341.4 S .755(ill simulate the)320.51 341.4 R F0 +(\255bi)3.255 E F1 .755(\215ag \(i.e., will reb)3.255 F .755(uild the)-.2 F +(alias database; see belo)117 353.4 Q 2.5(w\). This)-.25 F +(should be a link to /usr/sbin/sendmail.)2.5 E F0 2.5(1.3.10. /usr/bin/mailq) +102 377.4 R F1(If)142 393.6 Q F2(sendmail)3.439 E F1 .939(is in)3.439 F -.2(vo) +-.4 G -.1(ke).2 G 3.439(da).1 G 3.439<7399>241.156 393.6 S(mailq,)252.925 393.6 +Q 3.439<9a69>-.7 G 3.439(tw)288.164 393.6 S .939(ill simulate the)301.603 393.6 +R F0(\255bp)3.439 E F1 .94(\215ag \(i.e.,)3.44 F F2(sendmail)3.44 E F1 .94 +(will print)3.44 F(the contents of the mail queue; see belo)117 405.6 Q 2.5 +(w\). This)-.25 F(should be a link to /usr/sbin/sendmail.)2.5 E F0 2.5 +(2. NORMAL)72 429.6 R(OPERA)2.5 E(TIONS)-.95 E 2.5(2.1. The)87 453.6 R +(System Log)2.5 E F1 1.511(The system log is supported by the)127 469.8 R F2 +(syslo)4.011 E(gd)-.1 E F1 1.511(\(8\) program.)1.666 F 1.511 +(All messages from)6.511 F F2(sendmail)4.011 E F1(are)4.011 E(logged under the) +102 481.8 Q/F3 9/Times-Roman@0 SF(LOG_MAIL)2.5 E F1 -.1(fa)2.5 G(cility).1 E(.) +-.65 E F0 2.5(2.1.1. F)102 505.8 R(ormat)-.25 E F1 .574(Each line in the syste\ +m log consists of a timestamp, the name of the machine that gener)142 522 R(-) +-.2 E .849(ated it \(for logging from se)117 534 R -.15(ve)-.25 G .849 +(ral machines o).15 F -.15(ve)-.15 G 3.349(rt).15 G .848(he local area netw) +316.942 534 R .848(ork\), the w)-.1 F .848(ord \231sendmail:\232,)-.1 F +(and a message.)117 546 Q F0 2.5(2.1.2. Le)102 570 R -.1(ve)-.15 G(ls).1 E F1 +.204(If you ha)142 586.2 R -.15(ve)-.2 G F2(syslo)2.854 E(gd)-.1 E F1 .204 +(\(8\) or an equi)1.666 F -.25(va)-.25 G .205 +(lent installed, you will be able to do logging.).25 F .205(There is)5.205 F +2.788(al)117 598.2 S(ar)127.008 598.2 Q .287 +(ge amount of information that can be logged.)-.18 F .287 +(The log is arranged as a succession of le)5.287 F -.15(ve)-.25 G(ls.).15 E .65 +(At the lo)117 610.2 R .65(west le)-.25 F -.15(ve)-.25 G 3.15(lo).15 G .65 +(nly e)201.72 610.2 R .651(xtremely strange situations are logged.)-.15 F .651 +(At the highest le)5.651 F -.15(ve)-.25 G .651(l, e).15 F -.15(ve)-.25 G 3.151 +(nt).15 G(he)494.56 610.2 Q .826(most mundane and uninteresting e)117 622.2 R +-.15(ve)-.25 G .825(nts are recorded for posterity).15 F 5.825(.A)-.65 G 3.325 +(sac)400.27 622.2 S(on)419.69 622.2 Q -.15(ve)-.4 G .825(ntion, log le).15 F +-.15(ve)-.25 G(ls).15 E .2 +(under ten are considered generally \231useful;\232 log le)117 634.2 R -.15(ve) +-.25 G .201(ls abo).15 F .501 -.15(ve 6)-.15 H 2.701(4a).15 G .201(re reserv) +381.566 634.2 R .201(ed for deb)-.15 F .201(ugging pur)-.2 F(-)-.2 E 2.5 +(poses. Le)117 646.2 R -.15(ve)-.25 G(ls from 11\25564 are reserv).15 E +(ed for v)-.15 E(erbose information that some sites might w)-.15 E(ant.)-.1 E +2.5(Ac)142 662.4 S(omplete description of the log le)156.16 662.4 Q -.15(ve) +-.25 G(ls is gi).15 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(ns)340.35 662.4 S +(ection 4.6.)351.74 662.4 Q F0 2.5(2.2. The)87 686.4 R(Mail Queue)2.5 E F1 .263 +(The mail queue should be processed transparently)127 702.6 R 5.262(.H)-.65 G +-.25(ow)342.868 702.6 S -2.15 -.25(ev e).25 H 1.062 -.4(r, y).25 H .262 +(ou may \214nd that manual inter).4 F(-)-.2 E -.15(ve)102 714.6 S .081 +(ntion is sometimes necessary).15 F 5.081(.F)-.65 G .081(or e)240.254 714.6 R +.081(xample, if a major host is do)-.15 F .081 +(wn for a period of time the queue)-.25 F EP +%%Page: 13 8 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-13)452.9 60 Q/F1 10/Times-Roman@0 SF .268(may become clogged.)102 96 R +(Although)5.268 E/F2 10/Times-Italic@0 SF(sendmail)2.768 E F1 .268 +(ought to reco)2.768 F -.15(ve)-.15 G 2.768(rg).15 G .268 +(racefully when the host comes up, you)348.254 96 R +(may \214nd performance unacceptably bad in the meantime.)102 108 Q F0 2.5 +(2.2.1. Printing)102 132 R(the queue)2.5 E F1 .526 +(The contents of the queue can be printed using the)142 148.2 R F2(mailq)3.026 +E F1 .526(command \(or by specifying the)3.026 F F0(\255bp)117 160.2 Q F1 +(\215ag to)2.5 E F2(sendmail)2.5 E F1(\):)A(mailq)157 176.4 Q 1.673 +(This will produce a listing of the queue id')117 192.6 R 1.673 +(s, the size of the message, the date the message)-.55 F +(entered the queue, and the sender and recipients.)117 204.6 Q F0 2.5(2.2.2. F) +102 228.6 R(or)-.25 E(cing the queue)-.18 E F2(Sendmail)142 244.8 Q F1 1.137 +(should run the queue automatically at interv)3.637 F 3.638(als. The)-.25 F +1.138(algorithm is to read and)3.638 F .355 +(sort the queue, and then to attempt to process all jobs in order)117 256.8 R +5.355(.W)-.55 G .355(hen it attempts to run the job,)384.37 256.8 R F2 +(sendmail)117 268.8 Q F1(\214rst checks to see if the job is lock)2.5 E 2.5 +(ed. If)-.1 F(so, it ignores the job)2.5 E(.)-.4 E .338 +(There is no attempt to insure that only one queue processor e)142 285 R .338 +(xists at an)-.15 F 2.838(yt)-.15 G .339(ime, since there)440.282 285 R .095 +(is no guarantee that a job cannot tak)117 297 R 2.595(ef)-.1 G(ore)272.07 297 +Q -.15(ve)-.25 G 2.595(rt).15 G 2.595(op)302.585 297 S .094(rocess \(ho)315.18 +297 R(we)-.25 E -.15(ve)-.25 G -.4(r,).15 G F2(sendmail)2.994 E F1 .094 +(does include heuris-)2.594 F 1.086 +(tics to try to abort jobs that are taking absurd amounts of time; technically) +117 309 R 3.587(,t)-.65 G 1.087(his violates RFC)435.146 309 R .462(821, b)117 +321 R .461(ut is blessed by RFC 1123\).)-.2 F .461 +(Due to the locking algorithm, it is impossible for one job to)5.461 F 1.086 +(freeze the entire queue.)117 333 R(Ho)6.086 E(we)-.25 E -.15(ve)-.25 G 1.886 +-.4(r, a).15 H 3.586(nu).4 G(ncooperati)279.346 333 Q 1.386 -.15(ve r)-.25 H +1.086(ecipient host or a program recipient that).15 F(ne)117 345 Q -.15(ve)-.25 +G 3.351(rr).15 G .851(eturns can accumulate man)145.491 345 R 3.351(yp)-.15 G +.851(rocesses in your system.)269.825 345 R(Unfortunately)5.851 E 3.351(,t)-.65 +G .85(here is no com-)439.52 345 R(pletely general w)117 357 Q(ay to solv)-.1 E +2.5(et)-.15 G(his.)234.23 357 Q .082 +(In some cases, you may \214nd that a major host going do)142 373.2 R .083 +(wn for a couple of days may create)-.25 F 2.925(ap)117 385.2 S(rohibiti) +129.365 385.2 Q -.15(ve)-.25 G .425(ly lar).15 F .425(ge queue.)-.18 F .424 +(This will result in)5.425 F F2(sendmail)2.924 E F1 .424 +(spending an inordinate amount of time)2.924 F 1.084(sorting the queue.)117 +397.2 R 1.084(This situation can be \214x)6.084 F 1.084(ed by mo)-.15 F 1.085 +(ving the queue to a temporary place and)-.15 F .023(creating a ne)117 409.2 R +2.523(wq)-.25 G 2.523(ueue. The)182.629 409.2 R .022 +(old queue can be run later when the of)2.523 F .022 +(fending host returns to service.)-.25 F 1.6 -.8(To d)142 425.4 T 2.5(ot).8 G +(his, it is acceptable to mo)170.09 425.4 Q .3 -.15(ve t)-.15 H +(he entire queue directory:).15 E(cd /v)157 441.6 Q(ar/spool)-.25 E +(mv mqueue omqueue; mkdir mqueue; chmod 700 mqueue)157 453.6 Q -1.1(Yo)117 +469.8 S 2.708(us)1.1 G .208(hould then kill the e)139.718 469.8 R .209 +(xisting daemon \(since it will still be processing in the old queue direc-) +-.15 F(tory\) and create a ne)117 481.8 Q 2.5(wd)-.25 G(aemon.)213.1 481.8 Q +1.6 -.8(To r)142 498 T(un the old mail queue, run the follo).8 E(wing command:) +-.25 E(/usr/sbin/sendmail \255oQ/v)157 514.2 Q(ar/spool/omqueue \255q)-.25 E +(The)117 530.4 Q F0(\255oQ)2.868 E F1 .367 +(\215ag speci\214es an alternate queue directory and the)2.868 F F0<ad71>2.867 +E F1 .367(\215ag says to just run e)2.867 F -.15(ve)-.25 G .367(ry job in).15 F +.593(the queue.)117 542.4 R .593(If you ha)5.593 F .893 -.15(ve a t)-.2 H +(endenc).15 E 3.093(yt)-.15 G -2.1 -.25(ow a)263.111 542.4 T .593(rd v).25 F +-.1(oy)-.2 G .593(eurism, you can use the).1 F F0<ad76>3.094 E F1 .594 +(\215ag to w)3.094 F .594(atch what is)-.1 F(going on.)117 554.4 Q +(When the queue is \214nally emptied, you can remo)142 570.6 Q .3 -.15(ve t) +-.15 H(he directory:).15 E(rmdir /v)157 586.8 Q(ar/spool/omqueue)-.25 E F0 2.5 +(2.3. The)87 615 R(Alias Database)2.5 E F1 .361(The alias database e)127 631.2 +R .361(xists in tw)-.15 F 2.861(of)-.1 G 2.861(orms. One)261.116 631.2 R .361 +(is a te)2.861 F .36(xt form, maintained in the \214le)-.15 F F2(/etc/aliases.) +2.86 E F1(The aliases are of the form)102 643.2 Q(name: name1, name2, ...)142 +659.4 Q(Only local names may be aliased; e.g.,)102 675.6 Q(eric@prep.ai.MIT)142 +691.8 Q(.EDU: eric@CS.Berk)-.74 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E .348 +(will not ha)102 708 R .648 -.15(ve t)-.2 H .348(he desired ef).15 F 2.849 +(fect. Aliases)-.25 F .349(may be continued by starting an)2.849 F 2.849(yc) +-.15 G .349(ontinuation lines with a)408.783 708 R(space or a tab)102 720 Q 5 +(.B)-.4 G(lank lines and lines be)170.47 720 Q +(ginning with a sharp sign \(\231#\232\) are comments.)-.15 E EP +%%Page: 14 9 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-14 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 1.593 +(The second form is processed by the)127 96 R/F2 10/Times-Italic@0 SF(dbm)4.093 +E F1 1.593(\(3\) \(or)1.666 F F2(db)4.093 E F1 1.593(\(3\)\) library)1.666 F +6.593(.T)-.65 G 1.593(his form is in the \214les)409.085 96 R F2 +(/etc/aliases.dir)102 108 Q F1(and)3.028 E F2(/etc/aliases.pa)3.028 E -.15(g.) +-.1 G F1 .528(This is the form that)5.678 F F2(sendmail)3.029 E F1 .529 +(actually uses to resolv)3.029 F 3.029(ea)-.15 G(liases.)479.28 108 Q +(This technique is used to impro)102 120 Q .3 -.15(ve p)-.15 H(erformance.).15 +E -1.1(Yo)127 136.2 S 2.5(uc)1.1 G(an also use)150.06 136.2 Q/F3 9 +/Times-Roman@0 SF(NIS)2.5 E F1(-based alias \214les.)A -.15(Fo)5 G 2.5(re).15 G +(xample, the speci\214cation:)305.069 136.2 Q -.35(OA)142 152.4 S(/etc/aliases) +.35 E -.35(OA)142 164.4 S(nis:mail.aliases@my).35 E(.nis.domain)-.65 E 1.725(w\ +ill \214rst search the /etc/aliases \214le and then the map named \231mail.ali\ +ases\232 in \231my)102 180.6 R(.nis.domain\232.)-.65 E -.8(Wa)102 192.6 S .589 +(rning: if you b).8 F .589(uild your o)-.2 F(wn)-.25 E F3(NIS)3.089 E F1 .589 +(-based alias \214les, be sure to pro)B .59(vide the)-.15 F F0<ad6c>3.09 E F1 +.59(\215ag to)3.09 F F2(mak)3.09 E(edbm)-.1 E F1(\(8\))A .159 +(to map upper case letters in the k)102 204.6 R -.15(ey)-.1 G 2.659(st).15 G +2.659(ol)253.552 204.6 S -.25(ow)263.991 204.6 S .159 +(er case; otherwise, aliases with upper case letters in their).25 F(names w)102 +216.6 Q(on')-.1 E 2.5(tm)-.18 G(atch incoming addresses.)163.38 216.6 Q +(Additional \215ags can be added after the colon e)127 232.8 Q(xactly lik)-.15 +E 2.5(ea)-.1 G F0(K)A F1(line \212 for e)2.5 E(xample:)-.15 E -.35(OA)142 249 S +(nis:-N mail.aliases@my).35 E(.nis.domain)-.65 E +(will search the appropriate NIS map and al)102 265.2 Q -.1(wa)-.1 G +(ys include null bytes in the k).1 E -.15(ey)-.1 G(.)-.5 E F0 2.5(2.3.1. Reb) +102 289.2 R(uilding the alias database)-.2 E F1 .542(The DB or DBM v)142 305.4 +R .542(ersion of the database may be reb)-.15 F .542(uilt e)-.2 F .542 +(xplicitly by e)-.15 F -.15(xe)-.15 G .542(cuting the com-).15 F(mand)117 317.4 +Q(ne)157 333.6 Q -.1(wa)-.25 G(liases).1 E(This is equi)117 349.8 Q -.25(va) +-.25 G(lent to gi).25 E(ving)-.25 E F2(sendmail)2.5 E F1(the)2.5 E F0(\255bi) +2.5 E F1(\215ag:)2.5 E(/usr/sbin/sendmail \255bi)157 366 Q .26 +(If the \231D\232 option is speci\214ed in the con\214guration,)142 386.4 R F2 +(sendmail)2.759 E F1 .259(will reb)2.759 F .259(uild the alias database)-.2 F +1.92(automatically if possible when it is out of date.)117 398.4 R(Auto-reb) +6.921 E 1.921(uild can be dangerous on hea)-.2 F(vily)-.2 E 1.451 +(loaded machines with lar)117 410.4 R 1.451(ge alias \214les; if it might tak) +-.18 F 3.951(em)-.1 G 1.45(ore than \214v)355.66 410.4 R 3.95(em)-.15 G 1.45 +(inutes to reb)420.13 410.4 R 1.45(uild the)-.2 F +(database, there is a chance that se)117 422.4 Q -.15(ve)-.25 G +(ral processes will start the reb).15 E(uild process simultaneously)-.2 E(.) +-.65 E 1.77(If you ha)142 438.6 R 2.07 -.15(ve m)-.2 H 1.77 +(ultiple aliases databases speci\214ed, the).15 F F0(\255bi)4.27 E F1 1.77 +(\215ag reb)4.27 F 1.77(uilds all the database)-.2 F +(types it understands \(for e)117 450.6 Q(xample, it can reb)-.15 E +(uild dbm databases b)-.2 E(ut not nis databases\).)-.2 E F0 2.5(2.3.2. P)102 +474.6 R(otential pr)-.2 E(oblems)-.18 E F1 1.131 +(There are a number of problems that can occur with the alias database.)142 +490.8 R(The)6.13 E 3.63(ya)-.15 G 1.13(ll result)472.59 490.8 R 1.103(from a) +117 502.8 R F2(sendmail)3.603 E F1 1.103(process accessing the DBM v)3.603 F +1.103(ersion while it is only partially b)-.15 F 3.604(uilt. This)-.2 F(can) +3.604 E 1.249(happen under tw)117 514.8 R 3.749(oc)-.1 G 1.248 +(ircumstances: One process accesses the database while another process is) +199.237 514.8 R(reb)117 526.8 Q .518(uilding it, or the process reb)-.2 F .518 +(uilding the database dies \(due to being killed or a system crash\))-.2 F +(before completing the reb)117 538.8 Q(uild.)-.2 E .793(Sendmail has tw)142 555 +R 3.293(ot)-.1 G .792(echniques to try to relie)220.669 555 R 1.092 -.15(ve t) +-.25 H .792(hese problems.).15 F .792(First, it ignores interrupts)5.792 F .045 +(while reb)117 567 R .045(uilding the database; this a)-.2 F -.2(vo)-.2 G .045 +(ids the problem of someone aborting the process lea).2 F .045(ving a)-.2 F +(partially reb)117 579 Q(uilt database.)-.2 E(Second, at the end of the reb)5 E +(uild it adds an alias of the form)-.2 E(@: @)157 595.2 Q .336 +(\(which is not normally le)117 611.4 R -.05(ga)-.15 G 2.836(l\). Before).05 F +F2(sendmail)2.836 E F1 .336(will access the database, it checks to insure that) +2.836 F(this entry e)117 625.4 Q(xists)-.15 E/F4 7/Times-Roman@0 SF(5)179.63 +621.4 Q F1(.)183.13 625.4 Q F0 2.5(2.3.3. List)102 649.4 R -.1(ow)2.5 G(ners).1 +E F1 .4(If an error occurs on sending to a certain address, say \231)142 665.6 +R F2(x)A F1<9a2c>A F2(sendmail)2.901 E F1 .401(will look for an alias)2.901 F +.418(of the form \231o)117 677.6 R(wner)-.25 E(-)-.2 E F2(x)A F1 2.918<9a74>C +2.918(or)212.632 677.6 S(ecei)223.88 677.6 Q .718 -.15(ve t)-.25 H .418 +(he errors.).15 F .417(This is typically useful for a mailing list where the) +5.418 F .32 LW 76 687.2 72 687.2 DL 80 687.2 76 687.2 DL 84 687.2 80 687.2 DL +88 687.2 84 687.2 DL 92 687.2 88 687.2 DL 96 687.2 92 687.2 DL 100 687.2 96 +687.2 DL 104 687.2 100 687.2 DL 108 687.2 104 687.2 DL 112 687.2 108 687.2 DL +116 687.2 112 687.2 DL 120 687.2 116 687.2 DL 124 687.2 120 687.2 DL 128 687.2 +124 687.2 DL 132 687.2 128 687.2 DL 136 687.2 132 687.2 DL 140 687.2 136 687.2 +DL 144 687.2 140 687.2 DL 148 687.2 144 687.2 DL 152 687.2 148 687.2 DL 156 +687.2 152 687.2 DL 160 687.2 156 687.2 DL 164 687.2 160 687.2 DL 168 687.2 164 +687.2 DL 172 687.2 168 687.2 DL 176 687.2 172 687.2 DL 180 687.2 176 687.2 DL +184 687.2 180 687.2 DL 188 687.2 184 687.2 DL 192 687.2 188 687.2 DL 196 687.2 +192 687.2 DL 200 687.2 196 687.2 DL 204 687.2 200 687.2 DL 208 687.2 204 687.2 +DL 212 687.2 208 687.2 DL 216 687.2 212 687.2 DL/F5 5/Times-Roman@0 SF(5)93.6 +697.6 Q/F6 8/Times-Roman@0 SF(The \231a\232 option is required in the con\214g\ +uration for this action to occur)3.2 I 4(.T)-.44 G +(his should normally be speci\214ed.)329.18 700.8 Q EP +%%Page: 15 10 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-15)452.9 60 Q/F1 10/Times-Roman@0 SF 1.116 +(submitter of the list has no control o)117 96 R -.15(ve)-.15 G 3.617(rt).15 G +1.117(he maintenance of the list itself; in this case the list)288.4 96 R +(maintainer w)117 108 Q(ould be the o)-.1 E(wner of the list.)-.25 E -.15(Fo)5 +G 2.5(re).15 G(xample:)309.38 108 Q +(unix-wizards: eric@ucbarpa, wnj@monet, nosuchuser)157 124.2 Q(,)-.4 E +(sam@matisse)193 136.2 Q -.25(ow)157 148.2 S(ner).25 E +(-unix-wizards: eric@ucbarpa)-.2 E -.1(wo)117 164.4 S 1.959(uld cause \231eric\ +@ucbarpa\232 to get the error that will occur when someone sends to unix-).1 F +(wizards due to the inclusion of \231nosuchuser\232 on the list.)117 176.4 Q +.958(List o)142 192.6 R .958(wners also cause the en)-.25 F -.15(ve)-.4 G .959 +(lope sender address to be modi\214ed.).15 F .959(The contents of the)5.959 F +-.25(ow)117 204.6 S .429(ner alias are used if the).25 F 2.929(yp)-.15 G .429 +(oint to a single user)236.364 204.6 R 2.928(,o)-.4 G .428 +(therwise the name of the alias itself is used.)326.436 204.6 R -.15(Fo)117 +216.6 S 2.5(rt).15 G(his reason, and to obe)136.02 216.6 Q 2.5(yI)-.15 G +(nternet con)233.63 216.6 Q -.15(ve)-.4 G(ntions, a typical scheme w).15 E +(ould be:)-.1 E 18.49(list: some,)157 232.8 R(set, of, addresses)2.5 E 22.28 +(list-request: list-admin-1,)157 244.8 R(list-admin-2, ...)2.5 E -.25(ow)157 +256.8 S(ner).25 E 26.62(-list: list-request)-.2 F F0 2.5(2.4. User)87 285 R +(Inf)2.5 E(ormation Database)-.25 E F1 1.059(If you ha)127 301.2 R 1.359 -.15 +(ve a ve)-.2 H 1.059(rsion of).15 F/F2 10/Times-Italic@0 SF(sendmail)3.559 E F1 +1.06(with the user information database compiled in, and you)3.559 F(ha)102 +313.2 Q 2.206 -.15(ve s)-.2 H 1.906(peci\214ed one or more databases using the) +.15 F F0(U)4.406 E F1 1.905(option, the databases will be searched for a)4.406 +F F2(user)102 325.2 Q F1(:maildrop entry)A 5(.I)-.65 G 2.5(ff)191.34 325.2 S +(ound, the mail will be sent to the speci\214ed address.)200.5 325.2 Q 1.288 +(If the \214rst tok)127 341.4 R 1.288(en passed to user part of the \231local\ +\232 mailer is an at sign, the at sign will be)-.1 F(stripped of)102 353.4 Q +2.5(fa)-.25 G(nd this step will be skipped.)155.07 353.4 Q F0 2.5(2.5. P)87 +377.4 R(er)-.2 E(-User F)-.37 E(orwarding \(.f)-.25 E(orward Files\))-.25 E F1 +.121(As an alternati)127 393.6 R .421 -.15(ve t)-.25 H 2.621(ot).15 G .121 +(he alias database, an)210.404 393.6 R 2.621(yu)-.15 G .12 +(ser may put a \214le with the name \231.forw)304.878 393.6 R .12 +(ard\232 in his)-.1 F .205(or her home directory)102 405.6 R 5.205(.I)-.65 G +2.705(ft)199.92 405.6 S .205(his \214le e)208.735 405.6 R(xists,)-.15 E F2 +(sendmail)2.705 E F1 .205 +(redirects mail for that user to the list of addresses)2.705 F .909 +(listed in the .forw)102 417.6 R .908(ard \214le.)-.1 F -.15(Fo)5.908 G 3.408 +(re).15 G .908 +(xample, if the home directory for user \231mckusick\232 has a .forw)233.98 +417.6 R(ard)-.1 E(\214le with contents:)102 429.6 Q(mckusick@ernie)142 445.8 Q +(kirk@calder)142 457.8 Q(then an)102 474 Q 2.5(ym)-.15 G(ail arri)146.29 474 Q +(ving for \231mckusick\232 will be redirected to the speci\214ed accounts.)-.25 +E(Actually)127 490.2 Q 3.374(,t)-.65 G .874 +(he con\214guration \214le de\214nes a sequence of \214lenames to check.) +169.444 490.2 R .875(By def)5.875 F .875(ault, this is)-.1 F .688(the user')102 +502.2 R 3.188(s.)-.55 G(forw)146.426 502.2 Q .688(ard \214le, b)-.1 F .687 +(ut can be de\214ned to be more generally using the)-.2 F F0(J)3.187 E F1 3.187 +(option. If)3.187 F .687(you change)3.187 F .393(this, you will ha)102 514.2 R +.693 -.15(ve t)-.2 H 2.893(oi).15 G .393 +(nform your user base of the change; .forw)193.064 514.2 R .393 +(ard is pretty well incorporated into)-.1 F(the collecti)102 526.2 Q .3 -.15 +(ve s)-.25 H(ubconscious.).15 E F0 2.5(2.6. Special)87 550.2 R(Header Lines)2.5 +E F1(Se)127 566.4 Q -.15(ve)-.25 G 1.898(ral header lines ha).15 F 2.197 -.15 +(ve s)-.2 H 1.897 +(pecial interpretations de\214ned by the con\214guration \214le.).15 F(Others) +6.897 E(ha)102 578.4 Q 1.205 -.15(ve i)-.2 H .905(nterpretations b).15 F .905 +(uilt into)-.2 F F2(sendmail)3.405 E F1 .906 +(that cannot be changed without changing the code.)3.405 F(These)5.906 E -.2 +(bu)102 590.4 S(iltins are described here.).2 E F0 2.5(2.6.1. Retur)102 614.4 R +(n-Receipt-T)-.15 E(o:)-.92 E F1 1.371 +(If this header is sent, a message will be sent to an)142 630.6 R 3.87(ys)-.15 +G 1.37(peci\214ed addresses when the \214nal)366.88 630.6 R(deli)117 642.6 Q +-.15(ve)-.25 G .367(ry is complete, that is, when successfully deli).15 F -.15 +(ve)-.25 G .368(red to a mailer with the).15 F F0(l)2.868 E F1 .368 +(\215ag \(local deli)2.868 F(v-)-.25 E .024(ery\) set in the mailer descriptor) +117 656.6 R/F3 7/Times-Roman@0 SF(6)242.37 652.6 Q F1 5.023(.T)245.87 656.6 S +.023(his header can be disabled with the \231noreceipts\232 pri)259.503 656.6 R +-.25(va)-.25 G .323 -.15(cy \215).25 H(ag.).15 E .32 LW 76 666.2 72 666.2 DL 80 +666.2 76 666.2 DL 84 666.2 80 666.2 DL 88 666.2 84 666.2 DL 92 666.2 88 666.2 +DL 96 666.2 92 666.2 DL 100 666.2 96 666.2 DL 104 666.2 100 666.2 DL 108 666.2 +104 666.2 DL 112 666.2 108 666.2 DL 116 666.2 112 666.2 DL 120 666.2 116 666.2 +DL 124 666.2 120 666.2 DL 128 666.2 124 666.2 DL 132 666.2 128 666.2 DL 136 +666.2 132 666.2 DL 140 666.2 136 666.2 DL 144 666.2 140 666.2 DL 148 666.2 144 +666.2 DL 152 666.2 148 666.2 DL 156 666.2 152 666.2 DL 160 666.2 156 666.2 DL +164 666.2 160 666.2 DL 168 666.2 164 666.2 DL 172 666.2 168 666.2 DL 176 666.2 +172 666.2 DL 180 666.2 176 666.2 DL 184 666.2 180 666.2 DL 188 666.2 184 666.2 +DL 192 666.2 188 666.2 DL 196 666.2 192 666.2 DL 200 666.2 196 666.2 DL 204 +666.2 200 666.2 DL 208 666.2 204 666.2 DL 212 666.2 208 666.2 DL 216 666.2 212 +666.2 DL/F4 5/Times-Roman@0 SF(6)93.6 676.6 Q/F5 8/Times-Roman@0 SF .127 +(Some sites disable this header)3.2 J 2.127(,a)-.32 G .127(nd other \(non-) +199.959 679.8 R/F6 8/Times-Italic@0 SF(sendmail)A F5 2.127(\)s)C .127 +(ystems do not implement it.)282.772 679.8 R .127(Do not assume that a f)4.127 +F .126(ailure to get a re-)-.08 F .317 +(turn receipt means that the mail did not arri)72 689.4 R -.12(ve)-.2 G 4.317 +(.A).12 G .318(lso, do not assume that getting a return receipt means that the\ + mail has been read; it)232.509 689.4 R +(just means that the message has been deli)72 699 Q -.12(ve)-.2 G +(red to the recipient').12 E 2(sm)-.44 G(ailbox.)285.648 699 Q EP +%%Page: 16 11 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-16 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(2.6.2. Err)102 96 R(ors-T)-.18 E +(o:)-.92 E/F1 10/Times-Roman@0 SF .22(If errors occur an)142 112.2 R .22 +(ywhere during processing, this header will cause error messages to go to)-.15 +F(the listed addresses.)117 124.2 Q(This is intended for mailing lists.)5 E +.385(The Errors-T)142 140.4 R .385(o: header w)-.8 F .384 +(as created in the bad old days when UUCP didn')-.1 F 2.884(tu)-.18 G .384 +(nderstand the)450.016 140.4 R .889(distinction between an en)117 152.4 R -.15 +(ve)-.4 G .889(lope and a header; this w).15 F .889(as a hack to pro)-.1 F .89 +(vide what should no)-.15 F 3.39(wb)-.25 G(e)499.56 152.4 Q(passed as the en) +117 164.4 Q -.15(ve)-.4 G(lope sender address.).15 E(It should go a)5 E -.1(wa) +-.15 G 3.8 -.65(y. I).1 H 2.5(ti).65 G 2.5(so)365.22 164.4 S(nly used if the) +376.61 164.4 Q F0(l)2.5 E F1(option is set.)2.5 E F0 2.5(2.6.3. A)102 188.4 R +(ppar)-.25 E(ently-T)-.18 E(o:)-.92 E F1 .22 +(If a message comes in with no recipients listed in the message \(in a T)142 +204.6 R .22(o:, Cc:, or Bcc: line\))-.8 F(then)117 216.6 Q/F2 10/Times-Italic@0 +SF(sendmail)2.789 E F1 .289(will add an \231)2.789 F(Apparently-T)-.8 E .289 +(o:\232 header line for an)-.8 F 2.789(yr)-.15 G .29(ecipients it is a)378.08 +216.6 R -.1(wa)-.15 G .29(re of.).1 F .29(This is)5.29 F +(not put in as a standard recipient line to w)117 228.6 Q(arn an)-.1 E 2.5(yr) +-.15 G(ecipients that the list is not complete.)319.77 228.6 Q +(At least one recipient line is required under RFC 822.)142 244.8 Q F0 2.5 +(2.7. IDENT)87 268.8 R(Pr)2.5 E(otocol Support)-.18 E F2(Sendmail)127 285 Q F1 +1.835(supports the IDENT protocol as de\214ned in RFC 1413.)4.335 F 1.835 +(Although this enhances)6.835 F .289 +(identi\214cation of the author of an email message by doing a `)102 297 R .29 +(`call back')-.74 F 2.79('t)-.74 G 2.79(ot)396.17 297 S .29 +(he originating system to)406.74 297 R .469(include the o)102 309 R .469(wner \ +of a particular TCP connection in the audit trail it is in no sense perfect; a\ + deter)-.25 F(-)-.2 E 1.293(mined for)102 321 R 1.294 +(ger can easily spoof the IDENT protocol.)-.18 F 1.294(The follo)6.294 F 1.294 +(wing description is e)-.25 F 1.294(xcerpted from)-.15 F(RFC 1413:)102 333 Q +2.5(6. Security)127 349.2 R(Considerations)2.5 E .006 +(The information returned by this protocol is at most as trustw)127 365.4 R +(orth)-.1 E 2.505(ya)-.05 G 2.505(st)400.505 365.4 S .005(he host pro)409.68 +365.4 R .005(viding it OR)-.15 F .273(the or)127 377.4 R -.05(ga)-.18 G .273 +(nization operating the host.).05 F -.15(Fo)5.273 G 2.773(re).15 G .274 +(xample, a PC in an open lab has fe)295.308 377.4 R 2.774(wi)-.25 G 2.774(fa) +448.612 377.4 S .574 -.15(ny c)459.156 377.4 T(ontrols).15 E .987(on it to pre) +127 389.4 R -.15(ve)-.25 G .986(nt a user from ha).15 F .986 +(ving this protocol return an)-.2 F 3.486(yi)-.15 G .986 +(denti\214er the user w)378.056 389.4 R 3.486(ants. Lik)-.1 F(e-)-.1 E 1.441(w\ +ise, if the host has been compromised the information returned may be complete\ +ly erro-)127 401.4 R(neous and misleading.)127 413.4 Q .521(The Identi\214cati\ +on Protocol is not intended as an authorization or access control protocol.)127 +429.6 R(At)5.52 E 1.036(best, it pro)127 441.6 R 1.037 +(vides some additional auditing information with respect to TCP connections.) +-.15 F(At)6.037 E -.1(wo)127 453.6 S(rst, it can pro).1 E +(vide misleading, incorrect, or maliciously incorrect information.)-.15 E 1.006 +(The use of the information returned by this protocol for other than auditing \ +is strongly dis-)127 469.8 R 2.697(couraged. Speci\214cally)127 481.8 R 2.697 +(,u)-.65 G .197(sing Identi\214cation Protocol information to mak)228.114 481.8 +R 2.697(ea)-.1 G .197(ccess control deci-)429.186 481.8 R .514(sions - either \ +as the primary method \(i.e., no other checks\) or as an adjunct to other meth\ +ods)127 493.8 R(may result in a weak)127 505.8 Q(ening of normal host security) +-.1 E(.)-.65 E 1.778(An Identi\214cation serv)127 522 R 1.778(er may re)-.15 F +-.15(ve)-.25 G 1.778 +(al information about users, entities, objects or processes).15 F .337 +(which might normally be considered pri)127 534 R -.25(va)-.25 G 2.836(te. An) +.25 F .336(Identi\214cation serv)2.836 F .336(er pro)-.15 F .336 +(vides service which)-.15 F .806 +(is a rough analog of the CallerID services pro)127 546 R .806 +(vided by some phone companies and man)-.15 F 3.306(yo)-.15 G(f)500.67 546 Q +1.398(the same pri)127 558 R -.25(va)-.25 G 1.698 -.15(cy c).25 H 1.398 +(onsiderations and ar).15 F 1.398 +(guments that apply to the CallerID service apply to)-.18 F 3.545 +(Identi\214cation. If)127 570 R 1.045(you w)3.545 F(ouldn')-.1 E 3.545(tr)-.18 +G 1.045(un a "\214nger" serv)260.33 570 R 1.046(er due to pri)-.15 F -.25(va) +-.25 G 1.346 -.15(cy c).25 H 1.046(onsiderations you may).15 F(not w)127 582 Q +(ant to run this protocol.)-.1 E F0 2.5(3. ARGUMENTS)72 606 R F1 .018 +(The complete list of ar)112 622.2 R .018(guments to)-.18 F F2(sendmail)2.517 E +F1 .017(is described in detail in Appendix A.)2.517 F .017(Some important)5.017 +F(ar)87 634.2 Q(guments are described here.)-.18 E F0 2.5(3.1. Queue)87 658.2 R +(Inter)2.5 E -.1(va)-.1 G(l).1 E F1 .455(The amount of time between forking a \ +process to run through the queue is de\214ned by the)127 674.4 R F0<ad71>2.956 +E F1 2.706(\215ag. If)102 686.4 R .206(you run in mode)2.706 F F0(f)2.706 E F1 +(or)2.706 E F0(a)2.706 E F1 .206(this can be relati)2.706 F -.15(ve)-.25 G .206 +(ly lar).15 F .206(ge, since it will only be rele)-.18 F -.25(va)-.25 G .205 +(nt when a host).25 F .07(that w)102 698.4 R .07(as do)-.1 F .07 +(wn comes back up.)-.25 F .07(If you run in)5.07 F F0(q)2.57 E F1 .07 +(mode it should be relati)2.57 F -.15(ve)-.25 G .07 +(ly short, since it de\214nes the).15 F +(maximum amount of time that a message may sit in the queue.)102 710.4 Q EP +%%Page: 17 12 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-17)452.9 60 Q/F1 10/Times-Roman@0 SF 1.336 +(RFC 1123 section 5.3.1.1 says that this v)127 96 R 1.335 +(alue should be at least 30 minutes \(although that)-.25 F(probably doesn')102 +108 Q 2.5(tm)-.18 G(ak)179.59 108 Q 2.5(es)-.1 G(ense if you use `)199.76 108 Q +(`queue-only')-.74 E 2.5('m)-.74 G(ode\).)329.08 108 Q F0 2.5(3.2. Daemon)87 +132 R(Mode)2.5 E F1 .084(If you allo)127 148.2 R 2.584(wi)-.25 G .084 +(ncoming mail o)181.162 148.2 R -.15(ve)-.15 G 2.585(ra).15 G 2.585(nI)263.605 +148.2 S .085(PC connection, you should ha)274.52 148.2 R .385 -.15(ve a d)-.2 H +.085(aemon running.).15 F(This)5.085 E .07(should be set by your)102 160.2 R/F2 +10/Times-Italic@0 SF(/etc/r)2.57 E(c)-.37 E F1 .07(\214le using the)2.57 F F0 +(\255bd)2.57 E F1 2.569(\215ag. The)2.57 F F0(\255bd)2.569 E F1 .069 +(\215ag and the)2.569 F F0<ad71>2.569 E F1 .069(\215ag may be combined)2.569 F +(in one call:)102 172.2 Q(/usr/sbin/sendmail \255bd \255q30m)142 188.4 Q F0 2.5 +(3.3. F)87 216.6 R(or)-.25 E(cing the Queue)-.18 E F1 .04(In some cases you ma\ +y \214nd that the queue has gotten clogged for some reason.)127 232.8 R -1.1 +(Yo)5.04 G 2.54(uc)1.1 G .04(an force)471.48 232.8 R 3.185(aq)102 244.8 S .685 +(ueue run using the)114.625 244.8 R F0<ad71>3.184 E F1 .684(\215ag \(with no v) +3.184 F 3.184(alue\). It)-.25 F .684(is entertaining to use the)3.184 F F0 +<ad76>3.184 E F1 .684(\215ag \(v)3.184 F .684(erbose\) when)-.15 F +(this is done to w)102 256.8 Q(atch what happens:)-.1 E +(/usr/sbin/sendmail \255q \255v)142 273 Q -1.1(Yo)127 293.4 S 4.004(uc)1.1 G +1.504(an also limit the jobs to those with a particular queue identi\214er) +151.564 293.4 R 4.004(,s)-.4 G(ender)428.362 293.4 Q 4.004(,o)-.4 G 4.004(rr) +461.676 293.4 S(ecipient)472.34 293.4 Q .687 +(using one of the queue modi\214ers.)102 305.4 R -.15(Fo)5.687 G 3.187(re).15 G +.687(xample, \231\255qRberk)265.659 305.4 R(ele)-.1 E .686 +(y\232 restricts the queue run to jobs that)-.15 F(ha)102 317.4 Q .525 -.15 +(ve t)-.2 H .225(he string \231berk).15 F(ele)-.1 E .225(y\232 some)-.15 F .225 +(where in one of the recipient addresses.)-.25 F(Similarly)5.226 E 2.726<2c99> +-.65 G .226(\255qSstring\232 lim-)441.184 317.4 R(its the run to particular se\ +nders and \231\255qIstring\232 limits it to particular identi\214ers.)102 329.4 +Q F0 2.5(3.4. Deb)87 353.4 R(ugging)-.2 E F1 1.365(There are a f)127 369.6 R +1.365(airly lar)-.1 F 1.365(ge number of deb)-.18 F 1.365(ug \215ags b)-.2 F +1.365(uilt into)-.2 F F2(sendmail)3.865 E F1 6.365(.E)C 1.365(ach deb)417.65 +369.6 R 1.365(ug \215ag has a)-.2 F 1.116(number and a le)102 381.6 R -.15(ve) +-.25 G 1.116(l, where higher le).15 F -.15(ve)-.25 G 1.116 +(ls means to print out more information.).15 F 1.116(The con)6.116 F -.15(ve) +-.4 G 1.116(ntion is).15 F .294(that le)102 393.6 R -.15(ve)-.25 G .294 +(ls greater than nine are \231absurd,).15 F 2.794<9a69>-.7 G .294(.e., the) +274.018 393.6 R 2.794(yp)-.15 G .293(rint out so much information that you w) +313.616 393.6 R(ouldn')-.1 E(t)-.18 E .691(normally w)102 405.6 R .692 +(ant to see them e)-.1 F .692(xcept for deb)-.15 F .692 +(ugging that particular piece of code.)-.2 F(Deb)5.692 E .692 +(ug \215ags are set)-.2 F(using the)102 417.6 Q F0<ad64>2.5 E F1 +(option; the syntax is:)2.5 E(deb)142 433.8 Q(ug-\215ag:)-.2 E F0<ad64>200.13 +433.8 Q F1(deb)2.5 E(ug-list)-.2 E(deb)142 445.8 Q 13.05(ug-list: deb)-.2 F +(ug-option [ , deb)-.2 E(ug-option ])-.2 E(deb)142 457.8 Q -.28(ug-option: deb) +-.2 F(ug-range [ . deb)-.2 E(ug-le)-.2 E -.15(ve)-.25 G 2.5(l]).15 G(deb)142 +469.8 Q 3.07(ug-range: inte)-.2 F(ger | inte)-.15 E(ger \255 inte)-.15 E(ger) +-.15 E(deb)142 481.8 Q(ug-le)-.2 E -.15(ve)-.25 G 6.24(l: inte).15 F(ger)-.15 E +(where spaces are for reading ease only)102 498 Q 5(.F)-.65 G(or e)268.64 498 Q +(xample,)-.15 E 34.99(\255d12 Set)142 514.2 R(\215ag 12 to le)2.5 E -.15(ve) +-.25 G 2.5(l1).15 G 27.49(\255d12.3 Set)142 526.2 R(\215ag 12 to le)2.5 E -.15 +(ve)-.25 G 2.5(l3).15 G 26.66(\255d3-17 Set)142 538.2 R +(\215ags 3 through 17 to le)2.5 E -.15(ve)-.25 G 2.5(l1).15 G 19.16 +(\255d3-17.4 Set)142 550.2 R(\215ags 3 through 17 to le)2.5 E -.15(ve)-.25 G +2.5(l4).15 G -.15(Fo)102 566.4 S 4.066(rac).15 G 1.566(omplete list of the a) +132.752 566.4 R -.25(va)-.2 G 1.565(ilable deb).25 F 1.565 +(ug \215ags you will ha)-.2 F 1.865 -.15(ve t)-.2 H 4.065(ol).15 G 1.565 +(ook at the code \(the)380.9 566.4 R 4.065(ya)-.15 G 1.565(re too)479.385 566.4 +R(dynamic to k)102 578.4 Q(eep this documentation up to date\).)-.1 E F0 2.5 +(3.5. T)87 602.4 R(rying a Differ)-.74 E(ent Con\214guration File)-.18 E F1 +(An alternati)127 618.6 Q .3 -.15(ve c)-.25 H +(on\214guration \214le can be speci\214ed using the).15 E F0<ad43>2.5 E F1 +(\215ag; for e)2.5 E(xample,)-.15 E(/usr/sbin/sendmail \255Ctest.cf)142 634.8 Q +.428(uses the con\214guration \214le)102 651 R F2(test.cf)2.928 E F1 .428 +(instead of the def)2.928 F(ault)-.1 E F2(/etc/sendmail.cf)2.928 E(.)-.15 E F1 +.428(If the)5.428 F F0<ad43>2.928 E F1 .429(\215ag has no v)2.928 F(alue)-.25 E +(it def)102 663 Q(aults to)-.1 E F2(sendmail.cf)2.5 E F1 +(in the current directory)2.5 E(.)-.65 E F0 2.5(3.6. Changing)87 687 R(the V) +2.5 E(alues of Options)-.92 E F1(Options can be o)127 703.2 Q -.15(ve)-.15 G +(rridden using the).15 E F0<ad6f>2.5 E F1 2.5(\215ag. F)2.5 F(or e)-.15 E +(xample,)-.15 E EP +%%Page: 18 13 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-18 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF +(/usr/sbin/sendmail \255oT2m)142 96 Q(sets the)102 112.2 Q F0(T)2.5 E F1 +(\(timeout\) option to tw)2.5 E 2.5(om)-.1 G(inutes for this run only)246.63 +112.2 Q(.)-.65 E .182(Some options ha)127 128.4 R .482 -.15(ve s)-.2 H .182 +(ecurity implications.).15 F .182(Sendmail allo)5.182 F .181 +(ws you to set these, b)-.25 F .181(ut refuses to run)-.2 F(as root thereafter) +102 140.4 Q(.)-.55 E F0 2.5(3.7. Logging)87 164.4 R -.74(Tr)2.5 G(af\214c).74 E +F1(Man)127 180.6 Q 3.254(yS)-.15 G .754 +(MTP implementations do not fully implement the protocol.)158.994 180.6 R -.15 +(Fo)5.754 G 3.254(re).15 G .755(xample, some per)428.54 180.6 R(-)-.2 E 1.178(\ +sonal computer based SMTPs do not understand continuation lines in reply codes\ +.)102 192.6 R 1.177(These can be)6.178 F -.15(ve)102 204.6 S .13 +(ry hard to trace.).15 F .13(If you suspect such a problem, you can set traf) +5.13 F .13(\214c logging using the)-.25 F F0<ad58>2.63 E F1 2.63(\215ag. F)2.63 +F(or)-.15 E -.15(ex)102 216.6 S(ample,).15 E +(/usr/sbin/sendmail \255X /tmp/traf)142 232.8 Q(\214c -bd)-.25 E +(will log all traf)102 249 Q(\214c in the \214le)-.25 E/F2 10/Times-Italic@0 SF +(/tmp/tr)2.5 E(af)-.15 E<8c63>-.18 E F1(.)A .128(This logs a lot of data v)127 +265.2 R .128(ery quickly and should ne)-.15 F -.15(ve)-.25 G 2.628(rb).15 G +2.628(eu)345.89 265.2 S .128(sed during normal operations.)357.958 265.2 R +(After)5.128 E 1.326(starting up such a daemon, force the errant implementatio\ +n to send a message to your host.)102 277.2 R(All)6.327 E .505(message traf)102 +289.2 R .505(\214c in and out of)-.25 F F2(sendmail)3.005 E F1 3.004(,i)C .504 +(ncluding the incoming SMTP traf)265.264 289.2 R .504 +(\214c, will be logged in this)-.25 F(\214le.)102 301.2 Q F0 2.5(3.8. Dumping) +87 325.2 R(State)2.5 E F1 -1.1(Yo)127 341.4 S 2.563(uc)1.1 G .063(an ask) +150.123 341.4 R F2(sendmail)2.563 E F1 .064 +(to log a dump of the open \214les and the connection cache by sending it a) +2.563 F/F3 9/Times-Roman@0 SF(SIGUSR1)102 353.4 Q F1 2.5(signal. The)2.5 F +(results are logged at)2.5 E F3(LOG_DEB)2.5 E(UG)-.09 E F1(priority)2.5 E(.) +-.65 E F0 2.5(4. TUNING)72 377.4 R F1 1.922 +(There are a number of con\214guration parameters you may w)112 393.6 R 1.922 +(ant to change, depending on the)-.1 F .366(requirements of your site.)87 405.6 +R .367(Most of these are set using an option in the con\214guration \214le.) +5.366 F -.15(Fo)5.367 G 2.867(re).15 G(xample,)472.06 405.6 Q(the line \231O)87 +417.6 Q(T5d\232 sets option \231T\232 to the v)-.4 E(alue \2315d\232 \(\214v) +-.25 E 2.5(ed)-.15 G(ays\).)312.55 417.6 Q .735(Most of these options ha)112 +433.8 R 1.035 -.15(ve a)-.2 H .735(ppropriate def).15 F .735 +(aults for most sites.)-.1 F(Ho)5.735 E(we)-.25 E -.15(ve)-.25 G 1.535 -.4 +(r, s).15 H .735(ites ha).4 F .735(ving v)-.2 F .735(ery high)-.15 F .045 +(mail loads may \214nd the)87 445.8 R 2.545(yn)-.15 G .046 +(eed to tune them as appropriate for their mail load.)193.465 445.8 R .046 +(In particular)5.046 F 2.546(,s)-.4 G .046(ites e)459.394 445.8 R(xperi-)-.15 E +1.088(encing a lar)87 457.8 R 1.088(ge number of small messages, man)-.18 F +3.588(yo)-.15 G 3.587(fw)294.504 457.8 S 1.087(hich are deli)308.641 457.8 R +-.15(ve)-.25 G 1.087(red to man).15 F 3.587(yr)-.15 G 1.087 +(ecipients, may \214nd)425.996 457.8 R(that the)87 469.8 Q 2.5(yn)-.15 G +(eed to adjust the parameters dealing with queue priorities.)129.07 469.8 Q F0 +2.5(4.1. T)87 493.8 R(imeouts)-.18 E F1 .582(All time interv)127 510 R .583 +(als are set using a scaled syntax.)-.25 F -.15(Fo)5.583 G 3.083(re).15 G .583 +(xample, \23110m\232 represents ten minutes,)346.138 510 R +(whereas \2312h30m\232 represents tw)102 522 Q 2.5(oa)-.1 G(nd a half hours.) +241.3 522 Q(The full set of scales is:)5 E 16.11(ss)142 538.2 S(econds)165.89 +538.2 Q 12.22(mm)142 550.2 S(inutes)169.78 550.2 Q 15(hh)142 562.2 S(ours)167 +562.2 Q 15(dd)142 574.2 S(ays)167 574.2 Q 12.78(ww)142 586.2 S(eeks)169.22 +586.2 Q F0 2.5(4.1.1. Queue)102 614.4 R(inter)2.5 E -.1(va)-.1 G(l).1 E F1 .18 +(The ar)142 630.6 R .18(gument to the)-.18 F F0<ad71>2.68 E F1 .18 +(\215ag speci\214es ho)2.68 F 2.68(wo)-.25 G .18 +(ften a sub-daemon will run the queue.)319.25 630.6 R .18(This is)5.18 F .967 +(typically set to between \214fteen minutes and one hour)117 642.6 R 5.968(.R) +-.55 G .968(FC 1123 section 5.3.1.1 recommends)350.968 642.6 R +(that this be at least 30 minutes.)117 654.6 Q F0 2.5(4.1.2. Read)102 678.6 R +(timeouts)2.5 E F1 .51(It is possible to time out when reading the standard in\ +put or when reading from a remote)142 694.8 R .324(SMTP serv)117 706.8 R(er) +-.15 E 5.324(.T)-.55 G .324(hese timeouts are set using the)183.608 706.8 R F0 +(r)2.824 E F1 .324(option in the con\214guration \214le.)2.824 F .324(The ar) +5.324 F(gument)-.18 E 2.767(is a list of)117 718.8 R F2 -.1(ke)5.266 G(ywor)-.2 +E(d=value)-.37 E F1 5.266(pairs. The)5.266 F 2.766(recognized k)5.266 F -.15 +(ey)-.1 G -.1(wo).15 G 2.766(rds, their def).1 F 2.766(ault v)-.1 F 2.766 +(alues, and the)-.25 F EP +%%Page: 19 14 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-19)452.9 60 Q/F1 10/Times-Roman@0 SF(minimum v)117 96 Q(alues allo)-.25 +E(wed by RFC 1123 section 5.3.2 are:)-.25 E 46.16(initial The)117 112.2 R -.1 +(wa)2.5 G(it for the initial 220 greeting message [5m, 5m].).1 E 52.28 +(helo The)117 128.4 R -.1(wa)4.226 G 1.727 +(it for a reply from a HELO or EHLO command [5m, unspeci\214ed].).1 F .1 +(This may require a host name lookup, so \214v)189 140.4 R 2.6(em)-.15 G .1 +(inutes is probably a reasonable)380.29 140.4 R(minimum.)189 152.4 Q 46.72 +(mail\207 The)117 168.6 R -.1(wa)2.5 G +(it for a reply from a MAIL command [10m, 5m].).1 E 48.95(rcpt\207 The)117 +184.8 R -.1(wa)3.481 G .981(it for a reply from a RCPT command [1h, 5m].).1 F +.982(This should be long)5.982 F +(because it could be pointing at a list that tak)189 196.8 Q +(es a long time to e)-.1 E(xpand.)-.15 E 34.5(datainit\207 The)117 213 R -.1 +(wa)2.5 G(it for a reply from a D).1 E -1.21 -1.11(AT A)-.4 H +(command [5m, 2m].)3.61 E 25.62(datablock\207 The)117 229.2 R -.1(wa)2.696 G +.196(it for reading a data block \(that is, the body of the message\).).1 F +.196([1h, 3m].)5.196 F .621 +(This should be long because it also applies to programs piping input to)189 +241.2 R/F2 10/Times-Italic@0 SF(send-)3.121 E(mail)189 253.2 Q F1(which ha)2.5 +E .3 -.15(ve n)-.2 H 2.5(og).15 G(uarantee of promptness.)274.75 253.2 Q 30.06 +(data\214nal\207 The)117 269.4 R -.1(wa)2.806 G .306 +(it for a reply from the dot terminating a message.).1 F .306([1h, 10m].)5.306 +F .306(If this is)5.306 F .883 +(shorter than the time actually needed for the recei)189 281.4 R -.15(ve)-.25 G +3.384(rt).15 G 3.384(od)412.878 281.4 S(eli)426.262 281.4 Q -.15(ve)-.25 G +3.384(rt).15 G .884(he message,)454.796 281.4 R(duplicates will be generated.) +189 293.4 Q(This is discussed in RFC 1047.)5 E 55.06(rset The)117 309.6 R -.1 +(wa)2.5 G(it for a reply from a RSET command [5m, unspeci\214ed].).1 E 53.94 +(quit The)117 325.8 R -.1(wa)2.5 G(it for a reply from a Q).1 E +(UIT command [2m, unspeci\214ed].)-.1 E 50.61(misc The)117 342 R -.1(wa)2.761 G +.261(it for a reply from miscellaneous \(b).1 F .261 +(ut short\) commands such as NOOP)-.2 F(\(no-operation\) and VERB \(go into v) +189 354 Q(erbose mode\).)-.15 E([2m, unspeci\214ed].)5 E 25.06(command\207 In) +117 370.2 R(serv)2.5 E(er SMTP)-.15 E 2.5(,t)-1.11 G(he time to w)259.4 370.2 Q +(ait for another command.)-.1 E([1h, 5m].)5 E 49.5(ident The)117 386.4 R +(timeout w)2.5 E(aiting for a reply to an IDENT query [30s, unspeci\214ed].)-.1 +E -.15(Fo)117 402.6 S 3.633(rc).15 G 1.134 +(ompatibility with old con\214guration \214les, if no `)138.813 402.6 R(`k)-.74 +E -.15(ey)-.1 G -.1(wo).15 G(rd=').1 E 3.634('i)-.74 G 3.634(ss)390.854 402.6 S +1.134(peci\214ed, all the timeouts)402.268 402.6 R(mark)117 414.6 Q +(ed with \207 are set to the indicated v)-.1 E(alue.)-.25 E(Man)142 430.8 Q +2.501(yo)-.15 G 2.501(ft)172.681 430.8 S .001(he RFC 1123 minimum v)181.292 +430.8 R .001(alues may well be too short.)-.25 F F2(Sendmail)5 E F1 -.1(wa)2.5 +G 2.5(sd).1 G(esigned to)463.17 430.8 Q .066 +(the RFC 822 protocols, which did not specify read timeouts; hence,)117 442.8 R +F2(sendmail)2.567 E F1 .067(does not guarantee)2.567 F .438 +(to reply to messages promptly)117 454.8 R 5.438(.I)-.65 G 2.938(np)249.92 +454.8 S(articular)262.858 454.8 Q 2.938(,a\231)-.4 G .438 +(RCPT\232 command specifying a mailing list will)313.034 454.8 R -.15(ex)117 +468.8 S .205(pand and v).15 F .205(erify the entire list; a lar)-.15 F .205 +(ge list on a slo)-.18 F 2.705(ws)-.25 G .205(ystem may tak)339.81 468.8 R +2.705(em)-.1 G .205(ore than \214v)413.375 468.8 R 2.705(em)-.15 G(inutes) +474.11 468.8 Q/F3 7/Times-Roman@0 SF(7)498 464.8 Q F1(.)501.5 468.8 Q 3.036(Ir) +117 480.8 S .536(ecommend a one hour timeout \212 since this f)126.696 480.8 R +.536(ailure is rare, a long timeout is not onerous and)-.1 F +(may ultimately help reduce netw)117 492.8 Q(ork load.)-.1 E -.15(Fo)142 509 S +2.5(re).15 G(xample, the line:)162.53 509 Q(Orcommand=25m,datablock=3h)157 +525.2 Q .344(sets the serv)117 541.4 R .344(er SMTP command timeout to 25 minu\ +tes and the input data block timeout to three)-.15 F(hours.)117 553.4 Q F0 2.5 +(4.1.3. Message)102 577.4 R(timeouts)2.5 E F1 .237 +(After sitting in the queue for a fe)142 593.6 R 2.737(wd)-.25 G .237 +(ays, a message will time out.)289.726 593.6 R .238(This is to insure that at) +5.238 F .283(least the sender is a)117 605.6 R -.1(wa)-.15 G .282 +(re of the inability to send a message.).1 F .282 +(The timeout is typically set to three)5.282 F 2.5(days. This)117 617.6 R +(timeout is set using the)2.5 E F0(T)2.5 E F1 +(option in the con\214guration \214le.)2.5 E .413(The time of submission is se\ +t in the queue, rather than the amount of time left until time-)142 633.8 R +3.263(out. As)117 645.8 R 3.263(ar)3.263 G .763 +(esult, you can \215ush messages that ha)163.449 645.8 R 1.062 -.15(ve b)-.2 H +.762(een hanging for a short period by running).15 F +(the queue with a short message timeout.)117 657.8 Q -.15(Fo)5 G 2.5(re).15 G +(xample,)302.79 657.8 Q .32 LW 76 669.2 72 669.2 DL 80 669.2 76 669.2 DL 84 +669.2 80 669.2 DL 88 669.2 84 669.2 DL 92 669.2 88 669.2 DL 96 669.2 92 669.2 +DL 100 669.2 96 669.2 DL 104 669.2 100 669.2 DL 108 669.2 104 669.2 DL 112 +669.2 108 669.2 DL 116 669.2 112 669.2 DL 120 669.2 116 669.2 DL 124 669.2 120 +669.2 DL 128 669.2 124 669.2 DL 132 669.2 128 669.2 DL 136 669.2 132 669.2 DL +140 669.2 136 669.2 DL 144 669.2 140 669.2 DL 148 669.2 144 669.2 DL 152 669.2 +148 669.2 DL 156 669.2 152 669.2 DL 160 669.2 156 669.2 DL 164 669.2 160 669.2 +DL 168 669.2 164 669.2 DL 172 669.2 168 669.2 DL 176 669.2 172 669.2 DL 180 +669.2 176 669.2 DL 184 669.2 180 669.2 DL 188 669.2 184 669.2 DL 192 669.2 188 +669.2 DL 196 669.2 192 669.2 DL 200 669.2 196 669.2 DL 204 669.2 200 669.2 DL +208 669.2 204 669.2 DL 212 669.2 208 669.2 DL 216 669.2 212 669.2 DL/F4 5 +/Times-Roman@0 SF(7)93.6 679.6 Q/F5 8/Times-Roman@0 SF .344(This v)3.2 J .344 +(eri\214cation includes looking up e)-.12 F -.12(ve)-.2 G .344 +(ry address with the name serv).12 F .344(er; this in)-.12 F -.16(vo)-.32 G(lv) +.16 E .344(es netw)-.12 F .343(ork delays, and can in some cases)-.08 F +(can be considerable.)72 692.4 Q EP +%%Page: 20 15 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-20 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF +(/usr/sbin/sendmail \255oT1d \255q)157 96 Q(will run the queue and \215ush an) +117 112.2 Q(ything that is one day old.)-.15 E 1.077 +(Since this option is global, and since you can not)142 128.4 R/F2 10 +/Times-Italic@0 SF 3.577(ap)3.577 G(riori)364.395 128.4 Q F1(kno)3.577 E 3.577 +(wh)-.25 G 1.577 -.25(ow l)416.859 128.4 T 1.077(ong another host).25 F .476 +(outside your domain will be do)117 140.4 R .475(wn, a \214v)-.25 F 2.975(ed) +-.15 G .475(ay timeout is recommended.)291.785 140.4 R .475(This allo)5.475 F +.475(ws a recipient)-.25 F 1.579(to \214x the problem e)117 152.4 R -.15(ve) +-.25 G 4.079(ni).15 G 4.079(fi)222.545 152.4 S 4.079(to)232.734 152.4 S 1.579 +(ccurs at the be)244.593 152.4 R 1.58(ginning of a long week)-.15 F 4.08 +(end. RFC)-.1 F 1.58(1123 section)4.08 F +(5.3.1.1 says that this parameter should be `)117 164.4 Q +(`at least 4\2555 days')-.74 E('.)-.74 E(The)142 180.6 Q F0(T)2.711 E F1 .211 +(option can also tak)2.711 F 2.711(eas)-.1 G .21 +(econd timeout indicating a time after which a w)263.637 180.6 R .21 +(arning mes-)-.1 F(sage should be sent; the tw)117 192.6 Q 2.5(ot)-.1 G +(imeouts are separated by a slash.)234.67 192.6 Q -.15(Fo)5 G 2.5(re).15 G +(xample, the v)391.28 192.6 Q(alue)-.25 E(5d/4h)157 208.8 Q .971 +(causes email to f)117 225 R .971(ail after \214v)-.1 F 3.471(ed)-.15 G .971 +(ays, b)245.326 225 R .971(ut a w)-.2 F .971 +(arning message will be sent after four hours.)-.1 F(This)5.972 E +(should be lar)117 237 Q(ge enough that the message will ha)-.18 E .3 -.15 +(ve b)-.2 H(een tried se).15 E -.15(ve)-.25 G(ral times.).15 E F0 2.5(4.2. F)87 +261 R(orking During Queue Runs)-.25 E F1 .303(By setting the)127 277.2 R F0(Y) +2.802 E F1(option,)2.802 E F2(sendmail)2.802 E F1 .302 +(will fork before each indi)2.802 F .302(vidual message while running the)-.25 +F 2.513(queue. This)102 289.2 R .013(will pre)2.513 F -.15(ve)-.25 G(nt).15 E +F2(sendmail)2.513 E F1 .013(from consuming lar)2.513 F .013 +(ge amounts of memory)-.18 F 2.513(,s)-.65 G 2.513(oi)421.993 289.2 S 2.513(tm) +432.286 289.2 S .014(ay be useful in)445.359 289.2 R .592(memory-poor en)102 +301.2 R 3.092(vironments. Ho)-.4 F(we)-.25 E -.15(ve)-.25 G 1.392 -.4(r, i).15 +H 3.092(ft).4 G(he)275.388 301.2 Q F0(Y)3.092 E F1 .591(option is not set,) +3.091 F F2(sendmail)3.091 E F1 .591(will k)3.091 F .591(eep track of hosts)-.1 +F(that are do)102 313.2 Q(wn during a queue run, which can impro)-.25 E .3 -.15 +(ve p)-.15 H(erformance dramatically).15 E(.)-.65 E(If the)127 329.4 Q F0(Y)2.5 +E F1(option is set,)2.5 E F2(sendmail)2.5 E F1(can not use connection caching.) +2.5 E F0 2.5(4.3. Queue)87 353.4 R(Priorities)2.5 E F1(Ev)127 369.6 Q 1.128(er\ +y message is assigned a priority when it is \214rst instantiated, consisting o\ +f the message)-.15 F .003(size \(in bytes\) of)102 381.6 R .002 +(fset by the message class times the \231w)-.25 F .002(ork class f)-.1 F .002 +(actor\232 and the number of recipients)-.1 F .637(times the \231w)102 393.6 R +.637(ork recipient f)-.1 F(actor)-.1 E 4.537 -.7(.\232 T)-.55 H .638 +(he priority is used to order the queue.).7 F .638(Higher numbers for the)5.638 +F(priority mean that the message will be processed later when running the queu\ +e.)102 405.6 Q .329(The message size is included so that lar)127 421.8 R .328 +(ge messages are penalized relati)-.18 F .628 -.15(ve t)-.25 H 2.828(os).15 G +.328(mall messages.)443.122 421.8 R .285(The message class allo)102 433.8 R +.285(ws users to send \231high priority\232 messages by including a \231Preced\ +ence:\232 \214eld)-.25 F .008(in their message; the v)102 445.8 R .008 +(alue of this \214eld is look)-.25 F .007(ed up in the)-.1 F F0(P)2.507 E F1 +.007(lines of the con\214guration \214le.)2.507 F .007(Since the)5.007 F 1.966 +(number of recipients af)102 457.8 R 1.967 +(fects the amount of load a message presents to the system, this is also)-.25 F +(included into the priority)102 469.8 Q(.)-.65 E .895 +(The recipient and class f)127 486 R .895 +(actors can be set in the con\214guration \214le using the)-.1 F F0(y)3.394 E +F1(and)3.394 E F0(z)3.394 E F1(options)3.394 E(respecti)102 498 Q -.15(ve)-.25 +G(ly).15 E 5.962(.T)-.65 G(he)163.842 498 Q 3.462(yd)-.15 G(ef)186.594 498 Q +.962(ault to 30000 \(for the recipient f)-.1 F .963 +(actor\) and 1800 \(for the class f)-.1 F 3.463(actor\). The)-.1 F +(initial priority is:)102 510 Q F2(pri)223.76 528 Q/F3 10/Symbol SF(=)3.16 E F2 +(msgsize)3.18 E F3(-)2.38 E F1(\()2.2 E F2(class).2 E F3<b4>2.47 E F0(z\))2.2 E +F3(+)2.2 E F1(\()2.2 E F2(nrcpt).36 E F3<b4>2.88 E F0(y\))2.2 E F1(\(Remember) +102 546 Q 3.328(,h)-.4 G .828(igher v)159.638 546 R .828 +(alues for this parameter actually mean that the job will be treated with lo) +-.25 F(wer)-.25 E(priority)102 558 Q(.\))-.65 E 1.519(The priority of a job ca\ +n also be adjusted each time it is processed \(that is, each time an)127 574.2 +R .256(attempt is made to deli)102 586.2 R -.15(ve)-.25 G 2.756(ri).15 G .256 +(t\) using the \231w)212.04 586.2 R .256(ork time f)-.1 F(actor)-.1 E 1.656 -.7 +(,\232 s)-.4 H .256(et by the).7 F F0(Z)2.756 E F1 2.756(option. This)2.756 F +.256(is added to the)2.756 F(priority)102 598.2 Q 2.702(,s)-.65 G 2.703(oi) +140.442 598.2 S 2.703(tn)150.925 598.2 S .203 +(ormally decreases the precedence of the job, on the grounds that jobs that ha) +161.408 598.2 R .503 -.15(ve f)-.2 H(ailed).05 E(man)102 610.2 Q 2.5(yt)-.15 G +(imes will tend to f)129.35 610.2 Q(ail ag)-.1 E(ain in the future.)-.05 E(The) +5 E F0(Z)2.5 E F1(option def)2.5 E(aults to 90000.)-.1 E F0 2.5(4.4. Load)87 +634.2 R(Limiting)2.5 E F2(Sendmail)127 650.4 Q F1 .102(can be ask)2.602 F .101 +(ed to queue \(b)-.1 F .101(ut not deli)-.2 F -.15(ve)-.25 G .101 +(r\) mail if the system load a).15 F -.15(ve)-.2 G .101(rage gets too high).15 +F .626(using the)102 662.4 R F0(x)3.126 E F1 3.126(option. When)3.126 F .626 +(the load a)3.126 F -.15(ve)-.2 G .626(rage e).15 F .626(xceeds the v)-.15 F +.626(alue of the)-.25 F F0(x)3.126 E F1 .626(option, the deli)3.126 F -.15(ve) +-.25 G .627(ry mode is).15 F .987(set to)102 674.4 R F0(q)3.487 E F1 .987 +(\(queue only\) if the)3.487 F F2 .987(Queue F)3.487 F(actor)-.75 E F1(\()3.487 +E F0(q)A F1 .987(option\) di)3.487 F .986(vided by the dif)-.25 F .986 +(ference in the current load)-.25 F -2.25 -.2(av e)102 686.4 T 1.268 +(rage and the).2 F F0(x)3.769 E F1 1.269(option plus one e)3.769 F 1.269 +(xceeds the priority of the message \212 that is, the message is)-.15 F +(queued if)102 698.4 Q(f:)-.25 E EP +%%Page: 21 16 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-21)452.9 60 Q/F1 10/Times-Italic@0 SF(pri)269.76 99.23 Q/F2 10 +/Times-Roman@0 SF(>)3.16 E F0(q)312.48 92.23 Q F1(LA)294.81 106.23 Q/F3 10 +/Symbol SF(-)2.23 E F0(x)2.2 E F3(+)2.2 E .4 LW 336.29 96.63 294.23 96.63 DL F2 +(1)331.29 106.23 Q(The)102 120.73 Q F0(q)3.143 E F2 .643(option def)3.143 F +.642(aults to 600000, so each point of load a)-.1 F -.15(ve)-.2 G .642 +(rage is w).15 F .642(orth 600000 priority points \(as)-.1 F(described abo)102 +132.73 Q -.15(ve)-.15 G(\).).15 E -.15(Fo)127 148.93 S 2.886(rd).15 G .386 +(rastic cases, the)148.626 148.93 R F0(X)2.887 E F2 .387 +(option de\214nes a load a)2.887 F -.15(ve)-.2 G .387(rage at which).15 F F1 +(sendmail)2.887 E F2 .387(will refuse to accept)2.887 F(netw)102 160.93 Q +(ork connections.)-.1 E +(Locally generated mail \(including incoming UUCP mail\) is still accepted.)5 E +F0 2.5(4.5. Deli)87 184.93 R -.1(ve)-.1 G(ry Mode).1 E F2 .417 +(There are a number of deli)127 201.13 R -.15(ve)-.25 G .416(ry modes that).15 +F F1(sendmail)2.916 E F2 .416 +(can operate in, set by the \231d\232 con\214gura-)2.916 F(tion option.)102 +213.13 Q(These modes specify ho)5 E 2.5(wq)-.25 G(uickly mail will be deli) +263.96 213.13 Q -.15(ve)-.25 G 2.5(red. Le).15 F -.05(ga)-.15 G 2.5(lm).05 G +(odes are:)418.9 213.13 Q 17.22(id)142 229.33 S(eli)167 229.33 Q -.15(ve)-.25 G +2.5(ri).15 G(nteracti)194.65 229.33 Q -.15(ve)-.25 G(ly \(synchronously\)).15 E +15(bd)142 241.33 S(eli)167 241.33 Q -.15(ve)-.25 G 2.5(ri).15 G 2.5(nb)194.65 +241.33 S(ackground \(asynchronously\))207.15 241.33 Q 15(qq)142 253.33 S +(ueue only \(don')167 253.33 Q 2.5(td)-.18 G(eli)240.42 253.33 Q -.15(ve)-.25 G +(r\)).15 E 1.49(There are tradeof)102 269.53 R 3.99(fs. Mode)-.25 F 1.491 +(\231i\232 passes the maximum amount of information to the sender)3.99 F 3.991 +(,b)-.4 G 1.491(ut is)485.559 269.53 R .433(hardly e)102 281.53 R -.15(ve)-.25 +G 2.933(rn).15 G(ecessary)155.226 281.53 Q 5.433(.M)-.65 G .433 +(ode \231q\232 puts the minimum load on your machine, b)205.269 281.53 R .432 +(ut means that deli)-.2 F -.15(ve)-.25 G(ry).15 E .437 +(may be delayed for up to the queue interv)102 293.53 R 2.937(al. Mode)-.25 F +.437(\231b\232 is probably a good compromise.)2.937 F(Ho)5.437 E(we)-.25 E -.15 +(ve)-.25 G -.4(r,).15 G .033(this mode can cause lar)102 305.53 R .032 +(ge numbers of processes if you ha)-.18 F .332 -.15(ve a m)-.2 H .032 +(ailer that tak).15 F .032(es a long time to deli)-.1 F -.15(ve)-.25 G(r).15 E +2.5(am)102 317.53 S(essage.)116.72 317.53 Q .337 +(If you run in mode \231q\232 \(queue only\) or \231b\232 \(deli)127 333.73 R +-.15(ve)-.25 G 2.838(ri).15 G 2.838(nb)341.09 333.73 S(ackground\))353.928 +333.73 Q F1(sendmail)2.838 E F2 .338(will not e)2.838 F(xpand)-.15 E 1.314 +(aliases and follo)102 345.73 R 3.813(w.)-.25 G(forw)182.901 345.73 Q 1.313 +(ard \214les upon initial receipt of the mail.)-.1 F 1.313 +(This speeds up the response to)6.313 F(RCPT commands.)102 357.73 Q F0 2.5 +(4.6. Log)87 381.73 R(Le)2.5 E -.1(ve)-.15 G(l).1 E F2 .189(The le)127 397.93 R +-.15(ve)-.25 G 2.689(lo).15 G 2.689(fl)171.968 397.93 S .189 +(ogging can be set for)180.767 397.93 R F1(sendmail)2.689 E F2 5.189(.T)C .189 +(he def)317.991 397.93 R .19(ault using a standard con\214guration table)-.1 F +(is le)102 409.93 Q -.15(ve)-.25 G 2.5(l9).15 G 5(.T)137.71 409.93 S(he le) +151.32 409.93 Q -.15(ve)-.25 G(ls are as follo).15 E(ws:)-.25 E 31(0N)102 +426.13 S 2.5(ol)145.22 426.13 S(ogging.)155.5 426.13 Q 31(1S)102 442.33 S +(erious system f)143.56 442.33 Q(ailures and potential security problems.)-.1 E +31(2L)102 458.53 S(ost communications \(netw)144.11 458.53 Q +(ork problems\) and protocol f)-.1 E(ailures.)-.1 E 31(3O)102 474.73 S +(ther serious f)145.22 474.73 Q(ailures.)-.1 E 31(4M)102 490.93 S(inor f)146.89 +490.93 Q(ailures.)-.1 E 31(5M)102 507.13 S(essage collection statistics.)146.89 +507.13 Q 31(6C)102 523.33 S(reation of error messages, VRFY and EXPN commands.) +144.67 523.33 Q 31(7D)102 539.53 S(eli)145.22 539.53 Q -.15(ve)-.25 G(ry f).15 +E(ailures \(host or user unkno)-.1 E(wn, etc.\).)-.25 E 31(8S)102 555.73 S +(uccessful deli)143.56 555.73 Q -.15(ve)-.25 G(ries.).15 E 31(9M)102 571.93 S +(essages being deferred \(due to a host being do)146.89 571.93 Q(wn, etc.\).) +-.25 E 23.5(10 Database)102 588.13 R -.15(ex)2.5 G(pansion \(alias, forw).15 E +(ard, and userdb lookups\).)-.1 E 23.5(15 Automatic)102 604.33 R +(alias database reb)2.5 E(uilds.)-.2 E 23.5(20 Logs)102 620.53 R .603 +(attempts to run lock)3.103 F .603(ed queue \214les.)-.1 F .603 +(These are not errors, b)5.603 F .603(ut can be useful to note if)-.2 F +(your queue appears to be clogged.)138 632.53 Q 23.5(30 Lost)102 648.73 R +(locks \(only if using lockf instead of \215ock\).)2.5 E(Additionally)102 +664.93 Q 3.683(,v)-.65 G 1.183(alues abo)162.843 664.93 R 1.483 -.15(ve 6)-.15 +H 3.683(4a).15 G 1.183(re reserv)232.462 664.93 R 1.183(ed for e)-.15 F 1.183 +(xtremely v)-.15 F 1.184(erbose deb)-.15 F 1.184(uggging output.)-.2 F 1.184 +(No normal)6.184 F(site w)102 676.93 Q(ould e)-.1 E -.15(ve)-.25 G 2.5(rs).15 G +(et these.)168.99 676.93 Q EP +%%Page: 22 17 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-22 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(4.7. File)87 96 R(Modes)2.5 E/F1 10 +/Times-Roman@0 SF .813(There are a number of \214les that may ha)127 112.2 R +1.113 -.15(ve a n)-.2 H .813(umber of modes.).15 F .813 +(The modes depend on what)5.813 F(functionality you w)102 124.2 Q +(ant and the le)-.1 E -.15(ve)-.25 G 2.5(lo).15 G 2.5(fs)253.15 124.2 S +(ecurity you require.)262.87 124.2 Q F0 2.5(4.7.1. T)102 148.2 R 2.5(os)-.92 G +(uid or not to suid?)146.64 148.2 Q/F2 10/Times-Italic@0 SF(Sendmail)142 164.4 +Q F1 .933(can safely be made setuid to root.)3.433 F .934 +(At the point where it is about to)5.934 F F2 -.2(ex)3.434 G(ec).2 E F1 .934 +(\(2\) a)1.666 F(mailer)117 176.4 Q 2.583(,i)-.4 G 2.583(tc)150.013 176.4 S +.082(hecks to see if the userid is zero; if so, it resets the userid and group\ +id to a def)159.816 176.4 R .082(ault \(set)-.1 F .576(by the)117 188.4 R F0(u) +3.076 E F1(and)3.076 E F0(g)3.076 E F1 3.076(options\). \(This)3.076 F .576 +(can be o)3.076 F -.15(ve)-.15 G .576(rridden by setting the).15 F F0(S)3.076 E +F1 .577(\215ag to the mailer for mailers)3.077 F 1.532 +(that are trusted and must be called as root.\))117 200.4 R(Ho)6.531 E(we)-.25 +E -.15(ve)-.25 G 2.331 -.4(r, t).15 H 1.531 +(his will cause mail processing to be).4 F(accounted \(using)117 212.4 Q F2(sa) +2.5 E F1(\(8\)\) to root rather than to the user sending the mail.)1.666 E F0 +2.5(4.7.2. Should)102 236.4 R(my alias database be writable?)2.5 E F1 .058 +(At Berk)142 252.6 R(ele)-.1 E 2.558(yw)-.15 G 2.558(eh)200.186 252.6 S -2.25 +-.2(av e)212.184 252.6 T .058(the alias database \(/etc/aliases*\) mode 644.) +2.758 F .058(While this is not as \215e)5.058 F(x-)-.15 E 1.719 +(ible as if the database were more 666, it a)117 264.6 R -.2(vo)-.2 G 1.718 +(ids potential security problems with a globally).2 F(writable database.)117 +276.6 Q 1.19(The database that)142 292.8 R F2(sendmail)3.69 E F1 1.191 +(actually used is represented by the tw)3.691 F 3.691<6f8c>-.1 G(les)429.118 +292.8 Q F2(aliases.dir)3.691 E F1(and)3.691 E F2(aliases.pa)117 304.8 Q(g)-.1 E +F1 .159(\(both in /etc\) \(or)2.659 F F2(aliases.db)2.659 E F1 .159 +(if you are running with the ne)2.659 F 2.658(wB)-.25 G(erk)412.854 304.8 Q +(ele)-.1 E 2.658(yd)-.15 G .158(atabase prim-)449.692 304.8 R(iti)117 316.8 Q +-.15(ve)-.25 G 3.606(s\). The).15 F 1.107 +(mode on these \214les should match the mode on /etc/aliases.)3.606 F(If)6.107 +E F2(aliases)3.607 E F1 1.107(is writable)3.607 F 1.624(and the DBM \214les \() +117 328.8 R F2(aliases.dir)A F1(and)4.124 E F2(aliases.pa)4.124 E(g)-.1 E F1 +4.124(\)a)C 1.624(re not, users will be unable to re\215ect their)324.648 328.8 +R .719(desired changes through to the actual database.)117 340.8 R(Ho)5.719 E +(we)-.25 E -.15(ve)-.25 G 1.519 -.4(r, i).15 H(f).4 E F2(aliases)3.219 E F1 .72 +(is read-only and the DBM)3.219 F(\214les are writable, a slightly sophisticat\ +ed user can arrange to steal mail an)117 352.8 Q(yw)-.15 E(ay)-.1 E(.)-.65 E +.621(If your DBM \214les are not writable by the w)142 369 R .62 +(orld or you do not ha)-.1 F .92 -.15(ve a)-.2 H(uto-reb).15 E .62 +(uild enabled)-.2 F .564(\(with the \231D\232 option\), then you must be caref\ +ul to reconstruct the alias database each time you)117 381 R(change the te)117 +393 Q(xt v)-.15 E(ersion:)-.15 E(ne)157 409.2 Q -.1(wa)-.25 G(liases).1 E +(If this step is ignored or for)117 425.4 Q(gotten an)-.18 E 2.5(yi)-.15 G +(ntended changes will also be ignored or for)273.32 425.4 Q(gotten.)-.18 E F0 +2.5(4.8. Connection)87 449.4 R(Caching)2.5 E F1 .642 +(When processing the queue,)127 465.6 R F2(sendmail)3.142 E F1 .642 +(will try to k)3.142 F .642(eep the last fe)-.1 F 3.142(wo)-.25 G .642 +(pen connections open to)405.144 465.6 R -.2(avo)102 477.6 S +(id startup and shutdo).2 E(wn costs.)-.25 E +(This only applies to IPC connections.)5 E .286 +(When trying to open a connection the cache is \214rst searched.)127 493.8 R +.287(If an open connection is found,)5.286 F .92 +(it is probed to see if it is still acti)102 505.8 R 1.22 -.15(ve b)-.25 H 3.42 +(ys).15 G .92(ending a)270.892 505.8 R/F3 9/Times-Roman@0 SF(NOOP)3.42 E F1 +3.42(command. It)3.42 F .92(is not an error if this f)3.42 F(ails;)-.1 E +(instead, the connection is closed and reopened.)102 517.8 Q -1 -.8(Tw o)127 +534 T .207(parameters control the connection cache.)3.506 F(The)5.207 E F0(k) +2.707 E F1 .207(option de\214nes the number of simultane-)2.707 F 1.82 +(ous open connections that will be permitted.)102 546 R 1.819 +(If it is set to zero, connections will be closed as)6.82 F .795 +(quickly as possible.)102 558 R .796(The def)5.796 F .796(ault is one.)-.1 F +.796(This should be set as appropriate for your system size; it)5.796 F +(will limit the amount of system resources that)102 570 Q F2(sendmail)2.5 E F1 +(will use during queue runs.)2.5 E(The)127 586.2 Q F0(K)3.648 E F1 1.148 +(option speci\214es the maximum time that an)3.648 F 3.648(yc)-.15 G 1.148 +(ached connection will be permitted to)347.452 586.2 R 2.895(idle. When)102 +598.2 R .395(the idle time e)2.895 F .395(xceeds this v)-.15 F .396 +(alue the connection is closed.)-.25 F .396(This number should be small)5.396 F +.163(\(under ten minutes\) to pre)102 610.2 R -.15(ve)-.25 G .163 +(nt you from grabbing too man).15 F 2.663(yr)-.15 G .162 +(esources from other hosts.)347.49 610.2 R .162(The def)5.162 F(ault)-.1 E +(is \214v)102 622.2 Q 2.5(em)-.15 G(inutes.)136.3 622.2 Q F0 2.5(4.9. Name)87 +646.2 R(Ser)2.5 E -.1(ve)-.1 G 2.5(rA).1 G(ccess)172.33 646.2 Q F1 .421 +(If your system supports the name serv)127 662.4 R(er)-.15 E 2.921(,t)-.4 G +.421(hen the probability is that)297.147 662.4 R F2(sendmail)2.921 E F1 .422 +(will be using it)2.922 F(re)102 674.4 Q -.05(ga)-.15 G 1.432(rdless of ho).05 +F 3.932(wy)-.25 G 1.432(ou con\214gure)184.436 674.4 R F2(sendmail)3.932 E F1 +6.432(.I)C 3.932(np)288.442 674.4 S(articular)302.374 674.4 Q 3.932(,t)-.4 G +1.431(he system routine)344.506 674.4 R F2 -.1(ge)3.931 G(thostbyname).1 E F1 +1.431(\(3\) is)B .43(used to look up host names, and most v)102 686.4 R .431 +(endor v)-.15 F .431(ersions try some combination of DNS, NIS, and \214le)-.15 +F(lookup in /etc/hosts.)102 698.4 Q EP +%%Page: 23 18 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-23)452.9 60 Q/F1 10/Times-Roman@0 SF(Ho)127 96 Q(we)-.25 E -.15(ve)-.25 +G 2.12 -.4(r, i).15 H 3.82(fy).4 G 1.32(ou do not ha)183.85 96 R 1.62 -.15 +(ve a n)-.2 H(ameserv).15 E 1.32 +(er con\214gured at all, such as at a UUCP-only site,)-.15 F/F2 10 +/Times-Italic@0 SF(sendmail)102 108 Q F1 .14(will get a \231connection refused\ +\232 message when it tries to connect to the name serv)2.64 F .14(er \(either) +-.15 F .915(indirectly by calling)102 120 R F2 -.1(ge)3.415 G(thostbyname).1 E +F1 .915(or directly by looking up MX records\).)3.415 F .915(If the)5.915 F F0 +(I)3.415 E F1 .915(option is set,)3.415 F F2(sendmail)102 132 Q F1 .135 +(will interpret this to mean a temporary f)2.635 F .135 +(ailure and will queue the mail for later processing;)-.1 F .884 +(otherwise, it ignores the name serv)102 144 R .884(er data.)-.15 F .884 +(If your name serv)5.884 F .884(er is running properly)-.15 F 3.383(,t)-.65 G +.883(he setting of)452.794 144 R 1.164(this option is not rele)102 156 R -.25 +(va)-.25 G 1.164(nt; ho).25 F(we)-.25 E -.15(ve)-.25 G 1.964 -.4(r, i).15 H +3.664(ti).4 G 3.664(si)265.818 156 S 1.164 +(mportant that it be set properly to mak)276.152 156 R 3.665(ee)-.1 G 1.165 +(rror handling)450.345 156 R -.1(wo)102 168 S(rk properly).1 E(.)-.65 E .633 +(This option also allo)127 184.2 R .633(ws you to tweak name serv)-.25 F .633 +(er options.)-.15 F .632(The command line tak)5.633 F .632(es a series)-.1 F +.442(of \215ags as documented in)102 196.2 R F2 -.37(re)2.942 G(solver).37 E F1 +.442(\(3\) \(with the leading \231RES_\232 deleted\).)B .442 +(Each can be preceded by)5.442 F(an optional `+' or `)102 208.2 Q/F3 10/Symbol +SF(-)A F1 2.5('. F)B(or e)-.15 E(xample, the line)-.15 E(OIT)142 224.4 Q +(rue +AA)-.35 E(ONL)-.55 E(Y)-1 E F3(-)2.5 E F1(DNSRCH)A .862(turns on the AA) +102 240.6 R(ONL)-.55 E 3.362(Y\()-1 G .862(accept authoritati)201.658 240.6 R +1.162 -.15(ve a)-.25 H .861(nswers only\) and turns of).15 F 3.361(ft)-.25 G +.861(he DNSRCH \(search the)402.827 240.6 R 2.039(domain path\) options.)102 +252.6 R 2.039(Most resolv)7.039 F 2.039(er libraries def)-.15 F 2.039 +(ault DNSRCH, DEFN)-.1 F 2.039(AMES, and RECURSE)-.35 F .187 +(\215ags on and all others of)102 264.6 R 2.687(f. Note)-.25 F .186 +(the use of the initial `)2.686 F(`T)-.74 E(rue')-.35 E 2.686('\212t)-.74 G +.186(his is for compatibility with pre)365.82 264.6 R(vi-)-.25 E(ous v)102 +276.6 Q(ersions of)-.15 E F2(sendmail)2.5 E F1 2.5(,b)C +(ut is not otherwise necessary)210.81 276.6 Q(.)-.65 E -1.11(Ve)127 292.8 S +2.256(rsion le)1.11 F -.15(ve)-.25 G 4.756(l1c).15 G 2.256 +(on\214gurations turn DNSRCH and DEFN)200.298 292.8 R 2.257(AMES of)-.35 F +4.757(fw)-.25 G 2.257(hen doing deli)424.896 292.8 R -.15(ve)-.25 G(ry).15 E +2.06(lookups, b)102 304.8 R 2.06(ut lea)-.2 F 2.36 -.15(ve t)-.2 H 2.06 +(hem on e).15 F -.15(ve)-.25 G 2.06(rywhere else.).15 F -1.11(Ve)7.06 G 2.06 +(rsion 8 of)1.11 F F2(sendmail)4.56 E F1 2.06(ignores them when doing)4.56 F +.313(canoni\214cation lookups \(that is, when using $[ ... $]\), and al)102 +316.8 R -.1(wa)-.1 G .313(ys does the search.).1 F .313(If you don')5.313 F +2.813(tw)-.18 G(ant)491.78 316.8 Q(to do automatic name e)102 328.8 Q +(xtension, don')-.15 E 2.5(tc)-.18 G(all $[ ... $].)261.93 328.8 Q .189 +(The search rules for $[ ... $] are some)127 345 R .189(what dif)-.25 F .189 +(ferent than usual.)-.25 F .189(If the name \(that is, the `)5.189 F(`...)-.74 +E -.74('')-.7 G(\)).74 E .109(has at least one dot, it al)102 357 R -.1(wa)-.1 +G .109(ys tries the unmodi\214ed name \214rst.).1 F .11(If that f)5.11 F .11 +(ails, it tries the reduced search)-.1 F .124 +(path, and lastly tries the unmodi\214ed name \(b)102 369 R .124 +(ut only for names without a dot, since names with a dot)-.2 F(ha)102 381 Q +.788 -.15(ve a)-.2 H .488(lready been tried\).).15 F .488(This allo)5.488 F +.489(ws names such as `)-.25 F(`utc.CS')-.74 E 2.989('t)-.74 G 2.989(om)362.805 +381 S .489(atch the site in Czechoslo)378.574 381 R -.25(va)-.15 G(kia).25 E +1.588(rather than the site in your local Computer Science department.)102 393 R +1.587(It also prefers A and CN)6.587 F(AME)-.35 E .512(records o)102 405 R -.15 +(ve)-.15 G 3.012(rM).15 G 3.012(Xr)163.814 405 S .512 +(ecords \212 that is, if it \214nds an MX record it mak)177.376 405 R .513 +(es note of it, b)-.1 F .513(ut k)-.2 F .513(eeps looking.)-.1 F 1.542(This w) +102 417 R(ay)-.1 E 4.042(,i)-.65 G 4.042(fy)149.054 417 S 1.541(ou ha)161.426 +417 R 1.841 -.15(ve a w)-.2 H 1.541 +(ildcard MX record matching your domain, it will not assume that all).15 F +(names match.)102 429 Q F0 2.5(4.10. Mo)87 453 R(ving the P)-.1 E(er)-.2 E +(-User F)-.37 E(orward Files)-.25 E F1 .772(Some sites mount each user')127 +469.2 R 3.272(sh)-.55 G .772(ome directory from a local disk on their w)256.13 +469.2 R .772(orkstation, so that)-.1 F .576(local access is f)102 481.2 R 3.076 +(ast. Ho)-.1 F(we)-.25 E -.15(ve)-.25 G 1.376 -.4(r, t).15 H .575 +(he result is that .forw).4 F .575(ard \214le lookups are slo)-.1 F 4.375 -.65 +(w. I)-.25 H 3.075(ns).65 G .575(ome cases, mail)439.25 481.2 R .216(can e)102 +493.2 R -.15(ve)-.25 G 2.716(nb).15 G 2.716(ed)144.792 493.2 S(eli)156.948 +493.2 Q -.15(ve)-.25 G .216 +(red on machines inappropriately because of a \214le serv).15 F .216 +(er being do)-.15 F 2.716(wn. The)-.25 F(perfor)2.716 E(-)-.2 E +(mance can be especially bad if you run the automounter)102 505.2 Q(.)-.55 E +(The)127 521.4 Q F0(J)2.5 E F1(option allo)2.5 E(ws you to set a path of forw) +-.25 E(ard \214les.)-.1 E -.15(Fo)5 G 2.5(re).15 G +(xample, the con\214g \214le line)366.6 521.4 Q(OJ/v)142 537.6 Q(ar/forw)-.25 E +(ard/$u:$z/.forw)-.1 E(ard)-.1 E -.1(wo)102 553.8 S .208 +(uld \214rst look for a \214le with the same name as the user').1 F 2.707(sl) +-.55 G .207(ogin in /v)343.191 553.8 R(ar/forw)-.25 E .207 +(ard; if that is not found)-.1 F .129 +(\(or is inaccessible\) the \214le \231.forw)102 565.8 R .129 +(ard\232 in the user')-.1 F 2.629(sh)-.55 G .13(ome directory is searched.) +311.901 565.8 R 2.63(At)5.13 G .13(ruly perv)435.02 565.8 R .13(erse site)-.15 +F(could also search by sender by using $r)102 577.8 Q 2.5(,$)-.4 G(s, or $f.) +269.07 577.8 Q .69(If you create a directory such as /v)127 594 R(ar/forw)-.25 +E .69(ard, it should be mode 1777 \(that is, the stick)-.1 F 3.19(yb)-.15 G(it) +498.44 594 Q(should be set\).)102 606 Q +(Users should create the \214les mode 644.)5 E F0 2.5(4.11. Fr)87 630 R +(ee Space)-.18 E F1 1.122(On systems that ha)127 646.2 R 1.422 -.15(ve t)-.2 H +(he).15 E F2(statfs)3.622 E F1 1.123 +(\(2\) system call, you can specify a minimum number of free)B .61 +(blocks on the queue \214lesystem using the)102 658.2 R F0(b)3.11 E F1 3.11 +(option. If)3.11 F .61(there are fe)3.11 F .61 +(wer than the indicated number of)-.25 F .406 +(blocks free on the \214lesystem on which the queue is mounted the SMTP serv) +102 670.2 R .407(er will reject mail with)-.15 F(the 452 error code.)102 682.2 +Q(This in)5 E(vites the SMTP client to try ag)-.4 E(ain later)-.05 E(.)-.55 E +(Be)127 698.4 Q -.1(wa)-.25 G .746(re of setting this option too high; it can \ +cause rejection of email when that mail w).1 F(ould)-.1 E +(be processed without dif)102 710.4 Q(\214culty)-.25 E(.)-.65 E EP +%%Page: 24 19 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-24 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 1.772 +(This option can also specify an adv)127 96 R 1.773 +(ertised \231maximum message size\232 for hosts that speak)-.15 F(ESMTP)102 108 +Q(.)-1.11 E F0 2.5(4.12. Pri)87 132 R -.1(va)-.1 G(cy Flags).1 E F1(The)127 +148.2 Q F0(p)3.591 E F1 1.091(option allo)3.591 F 1.091 +(ws you to set certain `)-.25 F(`pri)-.74 E -.25(va)-.25 G -.15(cy).25 G 2.571 +-.74('' \215).15 H 3.591(ags. Actually).74 F 3.59(,m)-.65 G(an)409.27 148.2 Q +3.59(yo)-.15 G 3.59(ft)432.15 148.2 S 1.09(hem don')441.85 148.2 R 3.59(tg)-.18 +G -2.15 -.25(iv e)492.18 148.2 T .254(you an)102 160.2 R 2.754(ye)-.15 G .254 +(xtra pri)141.088 160.2 R -.25(va)-.25 G -.15(cy).25 G 2.754(,r)-.5 G .254 +(ather just insisting that client SMTP serv)196.666 160.2 R .254 +(ers use the HELO command before)-.15 F(using certain commands.)102 172.2 Q +.124(The option tak)127 188.4 R .124 +(es a series of \215ag names; the \214nal pri)-.1 F -.25(va)-.25 G .424 -.15 +(cy i).25 H 2.624(st).15 G .124(he inclusi)367.708 188.4 R .424 -.15(ve o)-.25 +H 2.624(ro).15 G 2.624(ft)434.06 188.4 S .123(hose \215ags.)442.794 188.4 R +-.15(Fo)5.123 G(r).15 E -.15(ex)102 200.4 S(ample:).15 E(Op needmailhelo, noe) +142 216.6 Q(xpn)-.15 E .928(insists that the HELO or EHLO command be used befo\ +re a MAIL command is accepted and dis-)102 232.8 R(ables the EXPN command.)102 +244.8 Q .244(The \231restrictmailq\232 option restricts printing the queue to \ +the group that o)127 261 R .244(wns the queue direc-)-.25 F(tory)102 273 Q 5 +(.I)-.65 G 2.5(ti)128.29 273 S 2.5(sa)136.35 273 S +(bsurd to set this if you don')147.18 273 Q 2.5(ta)-.18 G +(lso protect the logs.)266.72 273 Q .83(The \231restrictqrun\232 option restri\ +cts people running the queue \(that is, using the)127 289.2 R F0<ad71>3.33 E F1 +(command)3.33 E(line \215ag\) to root and the o)102 301.2 Q +(wner of the queue directory)-.25 E(.)-.65 E F0 2.5(4.13. Send)87 325.2 R +(to Me T)2.5 E(oo)-.92 E F1(Normally)127 341.4 Q(,)-.65 E/F2 10/Times-Italic@0 +SF(sendmail)3.424 E F1 .924(deletes the \(en)3.424 F -.15(ve)-.4 G .923 +(lope\) sender from an).15 F 3.423(yl)-.15 G .923(ist e)375.488 341.4 R 3.423 +(xpansions. F)-.15 F .923(or e)-.15 F .923(xample, if)-.15 F .761(\231matt\232\ + sends to a list that contains \231matt\232 as one of the members he w)102 +353.4 R(on')-.1 E 3.261(tg)-.18 G .761(et a cop)416.705 353.4 R 3.261(yo)-.1 G +3.261(ft)462.488 353.4 S .761(he mes-)471.859 353.4 R 3.067(sage. If)102 365.4 +R(the)3.067 E F0<ad6d>3.067 E F1 .567 +(\(me too\) command line \215ag, or if the)3.067 F F0(m)3.066 E F1 .566 +(option is set in the con\214guration \214le, this)3.066 F(beha)102 377.4 Q +(viour is supressed.)-.2 E(Some sites lik)5 E 2.5(et)-.1 G 2.5(or)265.58 377.4 +S(un the)276.41 377.4 Q/F3 9/Times-Roman@0 SF(SMTP)2.5 E F1(daemon with)2.5 E +F0<ad6d>2.5 E F1(.)A F0 2.5(5. THE)72 401.4 R(WHOLE SCOOP ON THE CONFIGURA)2.5 +E(TION FILE)-.95 E F1 .264(This section describes the con\214guration \214le i\ +n detail, including hints on ho)112 417.6 R 2.764(wt)-.25 G 2.764(ow)426.294 +417.6 S .264(rite one of your)441.278 417.6 R -.25(ow)87 429.6 S 2.5(ni).25 G +2.5(fy)109.25 429.6 S(ou ha)120.08 429.6 Q .3 -.15(ve t)-.2 H(o.).15 E .648(Th\ +ere is one point that should be made clear immediately: the syntax of the con\ +\214guration \214le is)112 445.8 R 1.076 +(designed to be reasonably easy to parse, since this is done e)87 457.8 R -.15 +(ve)-.25 G 1.077(ry time).15 F F2(sendmail)3.577 E F1 1.077 +(starts up, rather than)3.577 F(easy for a human to read or write.)87 469.8 Q +(On the \231future project\232 list is a con\214guration-\214le compiler)5 E(.) +-.55 E(An o)112 486 Q -.15(ve)-.15 G(rvie).15 E 2.5(wo)-.25 G 2.5(ft)170.88 486 +S(he con\214guration \214le is gi)179.49 486 Q -.15(ve)-.25 G 2.5<6e8c>.15 G +(rst, follo)301.59 486 Q(wed by details of the semantics.)-.25 E F0 2.5 +(5.1. Con\214guration)87 510 R(File Lines)2.5 E F1 1.316 +(The con\214guration \214le is or)127 526.2 R -.05(ga)-.18 G 1.316 +(nized as a series of lines, each of which be).05 F 1.315(gins with a single) +-.15 F .741(character de\214ning the semantics for the rest of the line.)102 +538.2 R .742(Lines be)5.742 F .742(ginning with a space or a tab are)-.15 F +1.149 +(continuation lines \(although the semantics are not well de\214ned in man)102 +550.2 R 3.648(yp)-.15 G 3.648(laces\). Blank)407.516 550.2 R 1.148(lines and) +3.648 F(lines be)102 562.2 Q(ginning with a sharp symbol \(`#'\) are comments.) +-.15 E F0 2.5(5.1.1. R)102 586.2 R(and S \212 r)2.5 E(ewriting rules)-.18 E F1 +.406(The core of address parsing are the re)142 602.4 R .406(writing rules.) +-.25 F .407(These are an ordered production sys-)5.407 F(tem.)117 614.4 Q F2 +(Sendmail)5.283 E F1 .283(scans through the set of re)2.783 F .282 +(writing rules looking for a match on the left hand side)-.25 F .131 +(\(LHS\) of the rule.)117 626.4 R .131(When a rule matches, the address is rep\ +laced by the right hand side \(RHS\) of)5.131 F(the rule.)117 638.4 Q 1.126 +(There are se)142 654.6 R -.15(ve)-.25 G 1.126(ral sets of re).15 F 1.126 +(writing rules.)-.25 F 1.126(Some of the re)6.126 F 1.125 +(writing sets are used internally)-.25 F .21(and must ha)117 666.6 R .51 -.15 +(ve s)-.2 H .21(peci\214c semantics.).15 F .21(Other re)5.21 F .21 +(writing sets do not ha)-.25 F .51 -.15(ve s)-.2 H .21 +(peci\214cally assigned seman-).15 F +(tics, and may be referenced by the mailer de\214nitions or by other re)117 +678.6 Q(writing sets.)-.25 E(The syntax of these tw)142 694.8 Q 2.5(oc)-.1 G +(ommands are:)244.38 694.8 Q F0(S)157 711 Q F2(n)A EP +%%Page: 25 20 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-25)452.9 60 Q/F1 10/Times-Roman@0 SF .278 +(Sets the current ruleset being collected to)117 96 R/F2 10/Times-Italic@0 SF +(n)2.778 E F1 5.278(.I)C 2.778(fy)302.524 96 S .278(ou be)313.632 96 R .278 +(gin a ruleset more than once it deletes the)-.15 F(old de\214nition.)117 108 Q +F0(R)157 124.2 Q F2(lhs rhs comments)A F1 .303(The \214elds must be separated \ +by at least one tab character; there may be embedded spaces in the)117 140.4 R +2.739(\214elds. The)117 152.4 R F2(lhs)2.739 E F1 .239 +(is a pattern that is applied to the input.)2.739 F .238 +(If it matches, the input is re)5.238 F .238(written to the)-.25 F F2(rhs)117 +164.4 Q F1 5(.T)C(he)143.39 164.4 Q F2(comments)2.5 E F1(are ignored.)2.5 E +2.265(Macro e)142 180.6 R 2.265(xpansions of the form)-.15 F F0($)4.765 E F2(x) +A F1 2.266(are performed when the con\214guration \214le is read.)4.765 F .081 +(Expansions of the form)117 192.6 R F0($&)2.581 E F2(x)A F1 .081 +(are performed at run time using a some)2.581 F .08 +(what less general algorithm.)-.25 F .639 +(This for is intended only for referencing internally de\214ned macros such as) +117 204.6 R F0($h)3.139 E F1 .639(that are changed)3.139 F(at runtime.)117 +216.6 Q F0 2.5(5.1.1.1. The)117 240.6 R(left hand side)2.5 E F1 1.617 +(The left hand side of re)157 256.8 R 1.617(writing rules contains a pattern.) +-.25 F 1.617(Normal w)6.617 F 1.617(ords are simply)-.1 F(matched directly)132 +268.8 Q 5(.M)-.65 G(etasyntax is introduced using a dollar sign.)214.67 268.8 Q +(The metasymbols are:)5 E F0($*)172 285 Q F1(Match zero or more tok)192.14 285 +Q(ens)-.1 E F0($+)172 297 Q F1(Match one or more tok)9.44 E(ens)-.1 E F0<24ad> +172 309 Q F1(Match e)9.44 E(xactly one tok)-.15 E(en)-.1 E F0($=)172 321 Q F2 +(x)A F1(Match an)5 E 2.5(yp)-.15 G(hrase in class)241.98 321 Q F2(x)2.5 E F0 +($~)172 333 Q F2(x)A F1(Match an)7.37 E 2.5(yw)-.15 G(ord not in class)244.1 +333 Q F2(x)2.5 E F1 .498(If an)132 349.2 R 2.998(yo)-.15 G 2.998(ft)163.946 +349.2 S .499(hese match, the)173.054 349.2 R 2.999(ya)-.15 G .499 +(re assigned to the symbol)248.271 349.2 R F0($)2.999 E F2(n)A F1 .499 +(for replacement on the right hand)2.999 F(side, where)132 361.2 Q F2(n)2.5 E +F1(is the inde)2.5 E 2.5(xi)-.15 G 2.5(nt)238.78 361.2 S(he LHS.)249.06 361.2 Q +-.15(Fo)5 G 2.5(re).15 G(xample, if the LHS:)307.92 361.2 Q($\255:$+)172 377.4 +Q(is applied to the input:)132 393.6 Q(UCB)172 409.8 Q(ARP)-.35 E(A:eric)-.92 E +(the rule will match, and the v)132 426 Q(alues passed to the RHS will be:)-.25 +E 7.5($1 UCB)172 442.2 R(ARP)-.35 E(A)-.92 E 7.5($2 eric)172 454.2 R +(Additionally)157 474.6 Q 3.398(,t)-.65 G .898(he LHS can include)215.588 474.6 +R F0($@)3.398 E F1 .898(to match zero tok)3.398 F 3.398(ens. This)-.1 F(is) +3.398 E F2(not)3.398 E F1 .898(bound to a)3.398 F F0($)132 486.6 Q F2(N)A F1 +.837(on the RHS, and is normally only used when it stands alone in order to ma\ +tch the null)3.337 F(input.)132 498.6 Q F0 2.5(5.1.1.2. The)117 522.6 R +(right hand side)2.5 E F1 .526(When the left hand side of a re)157 538.8 R .525 +(writing rule matches, the input is deleted and replaced)-.25 F .931 +(by the right hand side.)132 550.8 R -.8(To)5.932 G -.1(ke).8 G .932 +(ns are copied directly from the RHS unless the).1 F 3.432(yb)-.15 G -.15(eg) +457.846 550.8 S .932(in with a).15 F(dollar sign.)132 562.8 Q(Metasymbols are:) +5 E F0($)172 579 Q F2(n)A F1(Substitute inde\214nite tok)222.55 579 Q(en)-.1 E +F2(n)2.5 E F1(from LHS)2.5 E F0($[)172 591 Q F2(name)A F0($])A F1(Canonicalize) +222.55 591 Q F2(name)2.5 E F0($\()172 603 Q F2(map k)A -.3(ey)-.1 G F0($@)2.8 E +F2(ar)A(guments)-.37 E F0($:)2.5 E F2(default)A F0($\))2.5 E F1(Generalized k) +222.55 615 Q -.15(ey)-.1 G(ed mapping function).15 E F0($>)172 627 Q F2(n)A F1 +(\231Call\232 ruleset)222.55 627 Q F2(n)2.5 E F0($#)172 639 Q F2(mailer)A F1 +(Resolv)222.55 639 Q 2.5(et)-.15 G(o)259.9 639 Q F2(mailer)2.5 E F0($@)172 651 +Q F2(host)A F1(Specify)222.55 651 Q F2(host)2.5 E F0($:)172 663 Q F2(user)A F1 +(Specify)222.55 663 Q F2(user)2.5 E F1(The)157 683.4 Q F0($)3.013 E F2(n)A F1 +.513(syntax substitutes the corresponding v)3.013 F .513(alue from a)-.25 F F0 +($+)3.013 E F1(,)A F0<24ad>3.013 E F1(,)A F0($*)3.012 E F1(,)A F0($=)3.012 E F1 +3.012(,o)C(r)461.876 683.4 Q F0($~)3.012 E F1(match)3.012 E(on the LHS.)132 +695.4 Q(It may be used an)5 E(ywhere.)-.15 E 2.7(Ah)157 711.6 S .2 +(ost name enclosed between)171.92 711.6 R F0($[)2.7 E F1(and)2.7 E F0($])2.7 E +F1 .2(is look)2.7 F .201(ed up using the)-.1 F F2 -.1(ge)2.701 G(thostent).1 E +F1 .201(\(3\) routines)1.666 F EP +%%Page: 26 21 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-26 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 3.333 +(and replaced by the canonical name)132 98 R/F2 7/Times-Roman@0 SF(8)291.675 94 +Q F1 8.333(.F)295.175 98 S 3.333(or e)311.418 98 R 3.332 +(xample, \231$[csam$]\232 might become \231lbl-)-.15 F 1.923 +(csam.arpa\232 and \231$[[128.32.130.2]$]\232 w)132 110 R 1.923 +(ould become \231v)-.1 F(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU.) +.65 E<9a>-.7 E/F3 10/Times-Italic@0 SF(Send-)6.924 E(mail)132 122 Q F1 .436 +(recognizes it')2.936 F 2.936(sn)-.55 G .436 +(umeric IP address without calling the name serv)218.578 122 R .435 +(er and replaces it with)-.15 F(it')132 134 Q 2.5(sc)-.55 G(anonical name.) +151.17 134 Q(The)157 150.2 Q F0($\()2.861 E F1(...)2.861 E F0($\))5.361 E F1 +.361(syntax is a more general form of lookup; it uses a named map instead of) +2.861 F .028(an implicit map.)132 162.2 R .027 +(If no lookup is found, the indicated)5.027 F F3(default)2.527 E F1 .027 +(is inserted; if no def)2.527 F .027(ault is spec-)-.1 F +(i\214ed and no lookup matches, the v)132 174.2 Q(alue is left unchanged.)-.25 +E(The)157 190.4 Q F0($>)3.571 E F3(n)A F1 1.071 +(syntax causes the remainder of the line to be substituted as usual and then) +3.571 F .572(passed as the ar)132 202.4 R .572(gument to ruleset)-.18 F F3(n) +3.072 E F1 5.572(.T)C .572(he \214nal v)288.854 202.4 R .572(alue of ruleset) +-.25 F F3(n)3.072 E F1 .571(then becomes the substitu-)3.072 F +(tion for this rule.)132 214.4 Q(The)157 230.6 Q F0($#)3.358 E F1 .858 +(syntax should)3.358 F F3(only)3.358 E F1 .858 +(be used in ruleset zero or a subroutine of ruleset zero.)3.358 F(It)5.859 E +1.1(causes e)132 242.6 R -.25(va)-.25 G 1.1 +(luation of the ruleset to terminate immediately).25 F 3.6(,a)-.65 G 1.1 +(nd signals to)377.11 242.6 R F3(sendmail)3.6 E F1 1.1(that the)3.6 F +(address has completely resolv)132 254.6 Q 2.5(ed. The)-.15 F +(complete syntax is:)2.5 E F0($#)172 270.8 Q F3(mailer)A F0($@)2.5 E F3(host)A +F0($:)2.5 E F3(user)A F1 .394(This speci\214es the {mailer)132 287 R 2.894(,h) +-.4 G .394(ost, user} 3-tuple necessary to direct the mailer)245.466 287 R +5.394(.I)-.55 G 2.894(ft)447.548 287 S .394(he mailer is)456.552 287 R .135 +(local the host part may be omitted)132 301 R F2(9)268.91 297 Q F1 5.135(.T) +272.41 301 S(he)286.155 301 Q F3(mailer)2.635 E F1 .136(must be a single w) +2.636 F .136(ord, b)-.1 F .136(ut the)-.2 F F3(host)2.636 E F1(and)2.636 E F3 +(user)2.636 E F1 .252(may be multi-part.)132 313 R .252(If the)5.252 F F3 +(mailer)2.752 E F1 .252(is the b)2.752 F .252(uiltin IPC mailer)-.2 F 2.752(,t) +-.4 G(he)369.722 313 Q F3(host)2.752 E F1 .251(may be a colon-separated)2.752 F +2.439(list of hosts that are searched in order for the \214rst w)132 325 R +2.439(orking address \(e)-.1 F 2.439(xactly lik)-.15 F 4.939(eM)-.1 G(X)496.78 +325 Q 5.185(records\). The)132 337 R F3(user)5.185 E F1 2.685(is later re)5.185 +F 2.685(written by the mailer)-.25 F 2.685(-speci\214c en)-.2 F -.15(ve)-.4 G +2.685(lope re).15 F 2.685(writing set and)-.25 F .122(assigned to the)132 349 R +F0($u)2.622 E F1 2.622(macro. As)2.622 F 2.622(as)2.622 G .123 +(pecial case, if the v)264.784 349 R .123(alue to)-.25 F F0($#)2.623 E F1 .123 +(is \231local\232 and the \214rst charac-)2.623 F .458(ter of the)132 361 R F0 +($:)2.958 E F1 -.25(va)2.958 G .458 +(lue is \231@\232, the \231@\232 is stripped of).25 F .457 +(f, and a \215ag is set in the address descriptor)-.25 F +(that causes sendmail to not do ruleset 5 processing.)132 373 Q(Normally)157 +389.2 Q 3.593(,ar)-.65 G 1.093 +(ule that matches is retried, that is, the rule loops until it f)212.136 389.2 +R 3.594(ails. A)-.1 F(RHS)3.594 E .209(may also be preceded by a)132 401.2 R F0 +($@)2.709 E F1 .209(or a)2.709 F F0($:)2.708 E F1 .208(to change this beha) +2.708 F(vior)-.2 E 5.208(.A)-.55 G F0($@)398.338 401.2 Q F1 .208 +(pre\214x causes the rule-)2.708 F .527 +(set to return with the remainder of the RHS as the v)132 413.2 R 3.027 +(alue. A)-.25 F F0($:)3.028 E F1 .528(pre\214x causes the rule to ter)3.028 F +(-)-.2 E .295(minate immediately)132 425.2 R 2.795(,b)-.65 G .294 +(ut the ruleset to continue; this can be used to a)221.46 425.2 R -.2(vo)-.2 G +.294(id continued applica-).2 F(tion of a rule.)132 437.2 Q +(The pre\214x is stripped before continuing.)5 E(The)157 453.4 Q F0($@)2.5 E F1 +(and)2.5 E F0($:)2.5 E F1(pre\214x)2.5 E(es may precede a)-.15 E F0($>)2.5 E F1 +(spec; for e)2.5 E(xample:)-.15 E 20.19(R$+ $:)172 469.6 R($>7 $1)2.5 E .256 +(matches an)132 485.8 R .256(ything, passes that to ruleset se)-.15 F -.15(ve) +-.25 G .256(n, and continues; the).15 F F0($:)2.756 E F1 .256 +(is necessary to a)2.756 F -.2(vo)-.2 G .256(id an).2 F(in\214nite loop.)132 +497.8 Q .051(Substitution occurs in the order described, that is, parameters f\ +rom the LHS are substi-)157 514 R .556(tuted, hostnames are canonicalized, \ +\231subroutines\232 are called, and \214nally)132 526 R F0($#)3.056 E F1(,)A F0 +($@)3.056 E F1 3.056(,a)C(nd)467.346 526 Q F0($:)3.057 E F1(are)3.057 E +(processed.)132 538 Q F0 2.5(5.1.1.3. Semantics)117 562 R(of r)2.5 E +(ewriting rule sets)-.18 E F1 2.922(There are \214v)157 578.2 R 5.422(er)-.15 G +-.25(ew)226.976 578.2 S 2.922(riting sets that ha).25 F 3.222 -.15(ve s)-.2 H +2.922(peci\214c semantics.).15 F 2.921(These are related as)7.921 F +(depicted by \214gure 2.)132 590.2 Q 1.091 +(Ruleset three should turn the address into \231canonical form.)157 606.4 R +6.092<9a54>-.7 G 1.092(his form should ha)416.914 606.4 R -.15(ve)-.2 G +(the basic syntax:)132 618.4 Q(local-part@host-domain-spec)172 634.6 Q 1.296 +(If no \231@\232 sign is speci\214ed, then the host-domain-spec)132 650.8 R F3 +(may)3.796 E F1 1.295(be appended from the sender)3.796 F 1.284 +(address \(if the)132 662.8 R F0(C)3.784 E F1 1.284 +(\215ag is set in the mailer de\214nition corresponding to the)3.784 F F3 +(sending)3.784 E F1(mailer\).)3.784 E .32 LW 76 672.4 72 672.4 DL 80 672.4 76 +672.4 DL 84 672.4 80 672.4 DL 88 672.4 84 672.4 DL 92 672.4 88 672.4 DL 96 +672.4 92 672.4 DL 100 672.4 96 672.4 DL 104 672.4 100 672.4 DL 108 672.4 104 +672.4 DL 112 672.4 108 672.4 DL 116 672.4 112 672.4 DL 120 672.4 116 672.4 DL +124 672.4 120 672.4 DL 128 672.4 124 672.4 DL 132 672.4 128 672.4 DL 136 672.4 +132 672.4 DL 140 672.4 136 672.4 DL 144 672.4 140 672.4 DL 148 672.4 144 672.4 +DL 152 672.4 148 672.4 DL 156 672.4 152 672.4 DL 160 672.4 156 672.4 DL 164 +672.4 160 672.4 DL 168 672.4 164 672.4 DL 172 672.4 168 672.4 DL 176 672.4 172 +672.4 DL 180 672.4 176 672.4 DL 184 672.4 180 672.4 DL 188 672.4 184 672.4 DL +192 672.4 188 672.4 DL 196 672.4 192 672.4 DL 200 672.4 196 672.4 DL 204 672.4 +200 672.4 DL 208 672.4 204 672.4 DL 212 672.4 208 672.4 DL 216 672.4 212 672.4 +DL/F4 5/Times-Roman@0 SF(8)93.6 682.8 Q/F5 8/Times-Roman@0 SF +(This is actually completely equi)3.2 I -.2(va)-.2 G(lent to $\(host).2 E/F6 8 +/Times-Italic@0 SF(hostname)2 E F5 2($\). In)B(particular)2 E 2(,a)-.32 G/F7 8 +/Times-Bold@0 SF($:)A F5(def)2 E(ault can be used.)-.08 E F4(9)93.6 696.4 Q F5 +-.88(Yo)3.2 K 2.208(um).88 G .208(ay w)117.428 699.6 R .208 +(ant to use it for special \231per user\232 e)-.08 F 2.208(xtensions. F)-.12 F +.208(or e)-.12 F .208 +(xample, at CMU you can send email to \231jgm+foo\232; the part af-)-.12 F(ter\ + the plus sign is not part of the user name, and is passed to the local mailer\ + for local use.)72 709.2 Q EP +%%Page: 27 22 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-27)452.9 60 Q .4 LW 77 108 72 108 DL 79 108 74 108 DL 84 108 79 108 DL +89 108 84 108 DL 94 108 89 108 DL 99 108 94 108 DL 104 108 99 108 DL 109 108 +104 108 DL 114 108 109 108 DL 119 108 114 108 DL 124 108 119 108 DL 129 108 124 +108 DL 134 108 129 108 DL 139 108 134 108 DL 144 108 139 108 DL 149 108 144 108 +DL 154 108 149 108 DL 159 108 154 108 DL 164 108 159 108 DL 169 108 164 108 DL +174 108 169 108 DL 179 108 174 108 DL 184 108 179 108 DL 189 108 184 108 DL 194 +108 189 108 DL 199 108 194 108 DL 204 108 199 108 DL 209 108 204 108 DL 214 108 +209 108 DL 219 108 214 108 DL 224 108 219 108 DL 229 108 224 108 DL 234 108 229 +108 DL 239 108 234 108 DL 244 108 239 108 DL 249 108 244 108 DL 254 108 249 108 +DL 259 108 254 108 DL 264 108 259 108 DL 269 108 264 108 DL 274 108 269 108 DL +279 108 274 108 DL 284 108 279 108 DL 289 108 284 108 DL 294 108 289 108 DL 299 +108 294 108 DL 304 108 299 108 DL 309 108 304 108 DL 314 108 309 108 DL 319 108 +314 108 DL 324 108 319 108 DL 329 108 324 108 DL 334 108 329 108 DL 339 108 334 +108 DL 344 108 339 108 DL 349 108 344 108 DL 354 108 349 108 DL 359 108 354 108 +DL 364 108 359 108 DL 369 108 364 108 DL 374 108 369 108 DL 379 108 374 108 DL +384 108 379 108 DL 389 108 384 108 DL 394 108 389 108 DL 399 108 394 108 DL 404 +108 399 108 DL 409 108 404 108 DL 414 108 409 108 DL 419 108 414 108 DL 424 108 +419 108 DL 429 108 424 108 DL 434 108 429 108 DL 439 108 434 108 DL 444 108 439 +108 DL 449 108 444 108 DL 454 108 449 108 DL 459 108 454 108 DL 464 108 459 108 +DL 469 108 464 108 DL 474 108 469 108 DL 479 108 474 108 DL 484 108 479 108 DL +489 108 484 108 DL 494 108 489 108 DL 499 108 494 108 DL 504 108 499 108 DL/F1 +10/Times-Roman@0 SF(addr)91.915 202.4 Q 133.2 200.4 111.6 200.4 DL 133.2 200.4 +126 202.2 DL 133.2 200.4 126 198.6 DL(3)141.5 202.4 Q 133.2 189.6 133.2 211.2 +DL 154.8 189.6 133.2 189.6 DL 154.8 211.2 154.8 189.6 DL 133.2 211.2 154.8 +211.2 DL 176.4 200.4 154.8 200.4 DL 176.4 200.4 169.2 202.2 DL 176.4 200.4 +169.2 198.6 DL(D)183.59 202.4 Q 176.4 189.6 176.4 211.2 DL 198 189.6 176.4 +189.6 DL 198 211.2 198 189.6 DL 176.4 211.2 198 211.2 DL 219.6 200.4 198 200.4 +DL 277.2 182.4 255.6 182.4 DL 277.2 182.4 270 184.2 DL 277.2 182.4 270 180.6 DL +(1)285.5 184.4 Q 277.2 171.6 277.2 193.2 DL 298.8 171.6 277.2 171.6 DL 298.8 +193.2 298.8 171.6 DL 277.2 193.2 298.8 193.2 DL 320.4 182.4 298.8 182.4 DL +320.4 182.4 313.2 184.2 DL 320.4 182.4 313.2 180.6 DL(S)328.42 184.4 Q 320.4 +171.6 320.4 193.2 DL 342 171.6 320.4 171.6 DL 342 193.2 342 171.6 DL 320.4 +193.2 342 193.2 DL 363.6 182.4 342 182.4 DL 277.2 218.4 255.6 218.4 DL 277.2 +218.4 270 220.2 DL 277.2 218.4 270 216.6 DL(2)285.5 220.4 Q 277.2 207.6 277.2 +229.2 DL 298.8 207.6 277.2 207.6 DL 298.8 229.2 298.8 207.6 DL 277.2 229.2 +298.8 229.2 DL 320.4 218.4 298.8 218.4 DL 320.4 218.4 313.2 220.2 DL 320.4 +218.4 313.2 216.6 DL(R)327.865 220.4 Q 320.4 207.6 320.4 229.2 DL 342 207.6 +320.4 207.6 DL 342 229.2 342 207.6 DL 320.4 229.2 342 229.2 DL 363.6 218.4 342 +218.4 DL 421.2 200.4 399.6 200.4 DL 421.2 200.4 414 202.2 DL 421.2 200.4 414 +198.6 DL(4)429.5 202.4 Q 421.2 189.6 421.2 211.2 DL 442.8 189.6 421.2 189.6 DL +442.8 211.2 442.8 189.6 DL 421.2 211.2 442.8 211.2 DL 464.4 200.4 442.8 200.4 +DL 464.4 200.4 457.2 202.2 DL 464.4 200.4 457.2 198.6 DL(msg)466.865 202.4 Q +255.6 182.4 219.6 200.4 DL 255.6 218.4 219.6 200.4 DL 399.6 200.4 363.6 182.4 +DL 399.6 200.4 363.6 218.4 DL 208.8 146.4 187.2 146.4 DL 208.8 146.4 201.6 +148.2 DL 208.8 146.4 201.6 144.6 DL(0)217.1 148.4 Q 208.8 135.6 208.8 157.2 DL +230.4 135.6 208.8 135.6 DL 230.4 157.2 230.4 135.6 DL 208.8 157.2 230.4 157.2 +DL 252 146.4 230.4 146.4 DL 252 146.4 244.8 148.2 DL 252 146.4 244.8 144.6 DL +(resolv)265.69 148.4 Q(ed address)-.15 E 187.2 146.4 162 200.4 DL +(Figure 2 \212 Re)216.045 248.4 Q(writing set semantics)-.25 E 2.5(D\212s) +209.35 260.4 S(ender domain addition)235.46 260.4 Q 2.5(S\212m)209.35 272.4 S +(ailer)237.69 272.4 Q(-speci\214c sender re)-.2 E(writing)-.25 E 2.5(R\212m) +209.35 284.4 S(ailer)238.8 284.4 Q(-speci\214c recipient re)-.2 E(writing)-.25 +E 77 296.4 72 296.4 DL 79 296.4 74 296.4 DL 84 296.4 79 296.4 DL 89 296.4 84 +296.4 DL 94 296.4 89 296.4 DL 99 296.4 94 296.4 DL 104 296.4 99 296.4 DL 109 +296.4 104 296.4 DL 114 296.4 109 296.4 DL 119 296.4 114 296.4 DL 124 296.4 119 +296.4 DL 129 296.4 124 296.4 DL 134 296.4 129 296.4 DL 139 296.4 134 296.4 DL +144 296.4 139 296.4 DL 149 296.4 144 296.4 DL 154 296.4 149 296.4 DL 159 296.4 +154 296.4 DL 164 296.4 159 296.4 DL 169 296.4 164 296.4 DL 174 296.4 169 296.4 +DL 179 296.4 174 296.4 DL 184 296.4 179 296.4 DL 189 296.4 184 296.4 DL 194 +296.4 189 296.4 DL 199 296.4 194 296.4 DL 204 296.4 199 296.4 DL 209 296.4 204 +296.4 DL 214 296.4 209 296.4 DL 219 296.4 214 296.4 DL 224 296.4 219 296.4 DL +229 296.4 224 296.4 DL 234 296.4 229 296.4 DL 239 296.4 234 296.4 DL 244 296.4 +239 296.4 DL 249 296.4 244 296.4 DL 254 296.4 249 296.4 DL 259 296.4 254 296.4 +DL 264 296.4 259 296.4 DL 269 296.4 264 296.4 DL 274 296.4 269 296.4 DL 279 +296.4 274 296.4 DL 284 296.4 279 296.4 DL 289 296.4 284 296.4 DL 294 296.4 289 +296.4 DL 299 296.4 294 296.4 DL 304 296.4 299 296.4 DL 309 296.4 304 296.4 DL +314 296.4 309 296.4 DL 319 296.4 314 296.4 DL 324 296.4 319 296.4 DL 329 296.4 +324 296.4 DL 334 296.4 329 296.4 DL 339 296.4 334 296.4 DL 344 296.4 339 296.4 +DL 349 296.4 344 296.4 DL 354 296.4 349 296.4 DL 359 296.4 354 296.4 DL 364 +296.4 359 296.4 DL 369 296.4 364 296.4 DL 374 296.4 369 296.4 DL 379 296.4 374 +296.4 DL 384 296.4 379 296.4 DL 389 296.4 384 296.4 DL 394 296.4 389 296.4 DL +399 296.4 394 296.4 DL 404 296.4 399 296.4 DL 409 296.4 404 296.4 DL 414 296.4 +409 296.4 DL 419 296.4 414 296.4 DL 424 296.4 419 296.4 DL 429 296.4 424 296.4 +DL 434 296.4 429 296.4 DL 439 296.4 434 296.4 DL 444 296.4 439 296.4 DL 449 +296.4 444 296.4 DL 454 296.4 449 296.4 DL 459 296.4 454 296.4 DL 464 296.4 459 +296.4 DL 469 296.4 464 296.4 DL 474 296.4 469 296.4 DL 479 296.4 474 296.4 DL +484 296.4 479 296.4 DL 489 296.4 484 296.4 DL 494 296.4 489 296.4 DL 499 296.4 +494 296.4 DL 504 296.4 499 296.4 DL(Ruleset three is applied by)132 332.4 Q/F2 +10/Times-Italic@0 SF(sendmail)2.5 E F1(before doing an)2.5 E(ything with an) +-.15 E 2.5(ya)-.15 G(ddress.)411.39 332.4 Q .506(Ruleset zero is applied after\ + ruleset three to addresses that are going to actually spec-)157 348.6 R .295 +(ify recipients.)132 360.6 R .295(It must resolv)5.295 F 2.795(et)-.15 G 2.795 +(oa)258.035 360.6 S F2({mailer).001 E 2.796(,h)-1.11 G .296(ost, user})312.362 +360.6 R F1 2.796(triple. The)2.796 F F2(mailer)2.796 E F1 .296 +(must be de\214ned in)2.796 F .561 +(the mailer de\214nitions from the con\214guration \214le.)132 372.6 R(The) +5.561 E F2(host)3.061 E F1 .56(is de\214ned into the)3.061 F F0($h)3.06 E F1 +.56(macro for)3.06 F(use in the ar)132 384.6 Q(gv e)-.18 E +(xpansion of the speci\214ed mailer)-.15 E(.)-.55 E 1.356(Rulesets one and tw) +157 400.8 R 3.856(oa)-.1 G 1.357 +(re applied to all sender and recipient addresses respecti)254.534 400.8 R -.15 +(ve)-.25 G(ly).15 E(.)-.65 E(The)132 412.8 Q 2.5(ya)-.15 G +(re applied before an)159.34 412.8 Q 2.5(ys)-.15 G +(peci\214cation in the mailer de\214nition.)250.27 412.8 Q(The)5 E 2.5(ym)-.15 +G(ust ne)429 412.8 Q -.15(ve)-.25 G 2.5(rr).15 G(esolv)470.81 412.8 Q(e.)-.15 E +.266(Ruleset four is applied to all addresses in the message.)157 429 R .265 +(It is typically used to translate)5.265 F(internal to e)132 441 Q +(xternal form.)-.15 E F0 2.5(5.1.1.4. IPC)117 465 R(mailers)2.5 E F1 .332 +(Some special processing occurs if the ruleset zero resolv)157 481.2 R .333 +(es to an IPC mailer \(that is, a)-.15 F .242 +(mailer that has \231[IPC]\232 listed as the P)132 493.2 R .241(ath in the)-.15 +F F0(M)2.741 E F1 .241(con\214guration line.)2.741 F .241(The host name passed) +5.241 F .884(after \231$@\232 has MX e)132 505.2 R .885 +(xpansion performed; this looks the name up in DNS to \214nd alternate)-.15 F +(deli)132 517.2 Q -.15(ve)-.25 G(ry sites.).15 E(The host name can also be pro) +157 533.4 Q(vided as a dotted quad in square brack)-.15 E(ets; for e)-.1 E +(xample:)-.15 E([128.32.149.78])172 549.6 Q(This causes direct con)132 565.8 Q +-.15(ve)-.4 G(rsion of the numeric v).15 E(alue to a TCP/IP host address.)-.25 +E .894(The host name passed in after the \231$@\232 may also be a colon-separa\ +ted list of hosts.)157 582 R .629(Each is separately MX e)132 594 R .629 +(xpanded and the results are concatenated to mak)-.15 F 3.13(e\()-.1 G .63 +(essentially\) one)440.88 594 R .379(long MX list.)132 606 R .378 +(The intent here is to create \231f)5.379 F(ak)-.1 E .378 +(e\232 MX records that are not published in DNS)-.1 F(for pri)132 618 Q -.25 +(va)-.25 G(te internal netw).25 E(orks.)-.1 E .17 +(As a \214nal special case, the host name can be passed in as a te)157 634.2 R +.17(xt string in square brack-)-.15 F(ets:)132 646.2 Q([ucb)172 662.4 Q -.25 +(va)-.15 G(x.berk).25 E(ele)-.1 E -.65(y.)-.15 G(edu]).65 E 1.245(This form a) +132 678.6 R -.2(vo)-.2 G 1.245(ids the MX mapping.).2 F F0(N.B.:)6.244 E F1 +1.244(This is intended only for situations where you)3.744 F(ha)132 690.6 Q +.814 -.15(ve a n)-.2 H(etw).15 E .514(ork \214re)-.1 F -.1(wa)-.25 G .514 +(ll, so that your MX record points to a g).1 F(ate)-.05 E -.1(wa)-.25 G 3.014 +(ym).1 G .514(achine; this machine)420.762 690.6 R 1.604 +(could then do direct deli)132 702.6 R -.15(ve)-.25 G 1.604 +(ry to machines within your local domain.).15 F 1.603(Use of this feature)6.603 +F(directly violates RFC 1123 section 5.3.5: it should not be used lightly)132 +714.6 Q(.)-.65 E EP +%%Page: 28 23 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-28 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(5.1.2. D)102 96 R 2.5<8a64>2.5 G +(e\214ne macr)157.28 96 Q(o)-.18 E/F1 10/Times-Roman@0 SF .546 +(Macros are named with a single character)142 112.2 R 5.546(.T)-.55 G .547 +(hese may be selected from the entire ASCII)325.492 112.2 R .892(set, b)117 +124.2 R .892(ut user)-.2 F .892 +(-de\214ned macros should be selected from the set of upper case letters only) +-.2 F 5.892(.L)-.65 G -.25(ow)484.26 124.2 S(er).25 E +(case letters and special symbols are used internally)117 136.2 Q(.)-.65 E +(The syntax for macro de\214nitions is:)142 152.4 Q F0(D)157 168.6 Q/F2 10 +/Times-Italic@0 SF 1.666(xv)C(al)-1.666 E F1(where)117 184.8 Q F2(x)2.5 E F1 +(is the name of the macro and)2.5 E F2(val)2.5 E F1(is the v)2.5 E +(alue it should ha)-.25 E -.15(ve)-.2 G(.).15 E 1.085 +(Macros are interpolated using the construct)142 201 R F0($)3.585 E F2(x)A F1 +3.585(,w)C(here)346.775 201 Q F2(x)3.585 E F1 1.085 +(is the name of the macro to be)3.585 F 3.45(interpolated. This)117 213 R .95 +(interpolation is done when the con\214guration \214le is read, e)3.45 F .95 +(xcept in)-.15 F F0(M)3.45 E F1(lines.)3.45 E(The special construct)117 225 Q +F0($&)2.5 E F2(x)A F1(can be used in)2.5 E F0(R)2.5 E F1 +(lines to get deferred interpolation.)2.5 E +(Conditionals can be speci\214ed using the syntax:)142 241.2 Q($?x te)157 257.4 +Q(xt1 $| te)-.15 E(xt2 $.)-.15 E .245(This interpolates)117 273.6 R F2(te)2.745 +E(xt1)-.2 E F1 .245(if the macro)2.745 F F0($x)2.745 E F1 .245(is set, and) +2.745 F F2(te)2.745 E(xt2)-.2 E F1 2.745(otherwise. The)2.745 F .246 +(\231else\232 \()2.746 F F0($|)A F1 2.746(\)c)C .246(lause may be)451.298 273.6 +R(omitted.)117 285.6 Q(Lo)142 301.8 Q .262(wer case macro names are reserv)-.25 +F .262(ed to ha)-.15 F .561 -.15(ve s)-.2 H .261 +(pecial semantics, used to pass information).15 F 1.162(in or out of)117 313.8 +R F2(sendmail)3.663 E F1 3.663(,a)C 1.163(nd special characters are reserv) +215.583 313.8 R 1.163(ed to pro)-.15 F 1.163(vide conditionals, etc.)-.15 F +(Upper)6.163 E(case names \(that is,)117 325.8 Q F0($A)2.5 E F1(through)2.5 E +F0($Z)2.5 E F1 2.5(\)a)C(re speci\214cally reserv)267.53 325.8 Q +(ed for con\214guration \214le authors.)-.15 E .053(The follo)142 342 R .053 +(wing macros are de\214ned and/or used internally by)-.25 F F2(sendmail)2.552 E +F1 .052(for interpolation into)2.552 F(ar)117 354 Q(gv')-.18 E 5.178(sf)-.55 G +2.678(or mailers or for other conte)149.768 354 R 5.179(xts. The)-.15 F 2.679 +(ones mark)5.179 F 2.679(ed \207 are information passed into)-.1 F(sendmail)117 +368 Q/F3 7/Times-Roman@0 SF(10)153.11 364 Q F1 4.232(,t)160.11 368 S 1.732 +(he ones mark)169.622 368 R 1.732 +(ed \210 are information passed both in and out of sendmail, and the)-.1 F +(unmark)117 380 Q 2.177(ed macros are passed out of sendmail b)-.1 F 2.177 +(ut are not otherwise used internally)-.2 F 7.177(.T)-.65 G(hese)486.23 380 Q +(macros are:)117 392 Q($a)117 408.2 Q F0(The origination date in RFC 822 f)142 +408.2 Q(ormat.)-.25 E F1($b)117 424.4 Q F0(The curr)142 424.4 Q +(ent date in RFC 822 f)-.18 E(ormat.)-.25 E F1($c)117 440.6 Q F0 +(The hop count.)142 440.6 Q F1($d)117 456.8 Q F0(The curr)142 456.8 Q +(ent date in UNIX \(ctime\) f)-.18 E(ormat.)-.25 E F1($e\207)117 473 Q F0 1.342 +(The SMTP entry message.)142 473 R F1 1.341 +(This is printed out when SMTP starts up.)6.342 F 1.341(The \214rst w)6.341 F +(ord)-.1 E .428(must be the)142 485 R F0($j)2.928 E F1 .429 +(macro as speci\214ed by RFC821.)2.928 F(Def)5.429 E .429 +(aults to \231$j Sendmail $v ready at $b\232.)-.1 F 2.313 +(Commonly rede\214ned to include the con\214guration v)142 497 R 2.313 +(ersion number)-.15 F 4.813(,e)-.4 G 2.313(.g., \231$j Sendmail)431.874 497 R +($v/$Z ready at $b\232)142 509 Q($f)117 525.2 Q F0(The sender \(fr)142 525.2 Q +(om\) addr)-.18 E(ess.)-.18 E F1($g)117 541.4 Q F0(The sender addr)142 541.4 Q +(ess r)-.18 E(elati)-.18 E .2 -.1(ve t)-.1 H 2.5(ot).1 G(he r)275.59 541.4 Q +(ecipient.)-.18 E F1($h)117 557.6 Q F0(The r)142 557.6 Q(ecipient host.)-.18 E +F1($i)117 573.8 Q F0(The queue id.)142 573.8 Q F1($j\210)117 590 Q F0 .557 +(The \231of\214cial\232 domain name f)142 590 R .557(or this site.)-.25 F F1 +.557(This is fully quali\214ed if the full quali\214cation)5.557 F .137 +(can be found.)142 602 R(It)5.137 E F2(must)2.637 E F1 .136 +(be rede\214ned to be the fully quali\214ed domain name if your system is)2.637 +F(not con\214gured so that information can \214nd it automatically)142 614 Q(.) +-.65 E($k)117 630.2 Q F0(The UUCP node name \(fr)142 630.2 Q +(om the uname system call\).)-.18 E F1($l\207)117 646.4 Q F0 .972(The f)142 +646.4 R .972(ormat of the UNIX fr)-.25 F .972(om line.)-.18 F F1 .972 +(Unless you ha)5.972 F 1.272 -.15(ve c)-.2 H .972(hanged the UNIX mailbox for) +.15 F(-)-.2 E(mat, you should not change the def)142 658.4 Q +(ault, which is \231From $g)-.1 E($d\232.)5 E .32 LW 76 678.8 72 678.8 DL 80 +678.8 76 678.8 DL 84 678.8 80 678.8 DL 88 678.8 84 678.8 DL 92 678.8 88 678.8 +DL 96 678.8 92 678.8 DL 100 678.8 96 678.8 DL 104 678.8 100 678.8 DL 108 678.8 +104 678.8 DL 112 678.8 108 678.8 DL 116 678.8 112 678.8 DL 120 678.8 116 678.8 +DL 124 678.8 120 678.8 DL 128 678.8 124 678.8 DL 132 678.8 128 678.8 DL 136 +678.8 132 678.8 DL 140 678.8 136 678.8 DL 144 678.8 140 678.8 DL 148 678.8 144 +678.8 DL 152 678.8 148 678.8 DL 156 678.8 152 678.8 DL 160 678.8 156 678.8 DL +164 678.8 160 678.8 DL 168 678.8 164 678.8 DL 172 678.8 168 678.8 DL 176 678.8 +172 678.8 DL 180 678.8 176 678.8 DL 184 678.8 180 678.8 DL 188 678.8 184 678.8 +DL 192 678.8 188 678.8 DL 196 678.8 192 678.8 DL 200 678.8 196 678.8 DL 204 +678.8 200 678.8 DL 208 678.8 204 678.8 DL 212 678.8 208 678.8 DL 216 678.8 212 +678.8 DL/F4 5/Times-Roman@0 SF(10)93.6 689.2 Q/F5 8/Times-Roman@0 SF(As of v) +3.2 I(ersion 8.6, all of these macros ha)-.12 E .24 -.12(ve r)-.16 H +(easonable def).12 E 2(aults. Pre)-.08 F(vious v)-.2 E +(ersions required that the)-.12 E 2(yb)-.12 G 2(ed)424.728 692.4 S(e\214ned.) +434.28 692.4 Q EP +%%Page: 29 24 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-29)452.9 60 Q/F1 10/Times-Roman@0 SF($m)117 96 Q F0 .84 +(The domain part of the)142 96 R/F2 10/Times-Italic@0 SF -.1(ge)3.339 G +(thostname).1 E F0 -.18(re)3.339 G(tur).18 E 3.339(nv)-.15 G(alue.)337.055 96 Q +F1 .839(Under normal circumstances,)5.839 F F0($j)3.339 E F1(is)3.339 E(equi) +142 108 Q -.25(va)-.25 G(lent to).25 E F0($w)2.5 E(.$m)-.7 E F1(.)A($n\207)117 +124.2 Q F0(The name of the daemon \(f)142 124.2 Q(or err)-.25 E(or messages\).) +-.18 E F1(Def)5 E(aults to \231MAILER-D)-.1 E(AEMON\232.)-.4 E($o\207)117 140.4 +Q F0 2.03(The set of \231operators\232 in addr)142 140.4 R(esses.)-.18 E F1 +4.531(Al)7.031 G 2.031(ist of characters which will be considered)325.744 140.4 +R(tok)142 152.4 Q .537(ens and which will separate tok)-.1 F .537 +(ens when doing parsing.)-.1 F -.15(Fo)5.537 G 3.037(re).15 G .537 +(xample, if \231@\232 were in)408.502 152.4 R(the)142 164.4 Q F0($o)2.898 E F1 +.398(macro, then the input \231a@b\232 w)2.898 F .398 +(ould be scanned as three tok)-.1 F .398(ens: \231a,)-.1 F 2.898<9a99>-.7 G(@,) +453.032 164.4 Q 2.899<9a61>-.7 G .399(nd \231b)475.821 164.4 R -.7<2e9a>-.4 G +(Def)142 176.4 Q .436(aults to \231.:@[]\232, which is the minimum set necessa\ +ry to do RFC 822 parsing; a richer)-.1 F 1.715 +(set of operators is \231.:%@!/[]\232, which adds support for UUCP)142 188.4 R +4.216(,t)-1.11 G 1.716(he %-hack, and X.400)409.712 188.4 R(addresses.)142 +200.4 Q($p)117 216.6 Q F0(Sendmail')142 216.6 Q 2.5(sp)-.37 G -.18(ro)196.92 +216.6 S(cess id.).18 E F1($q\207)117 232.8 Q F0 2.358(Default f)142 232.8 R +2.358(ormat of sender addr)-.25 F(ess.)-.18 E F1(The)7.358 E F0($q)4.858 E F1 +2.357(macro speci\214es ho)4.857 F 4.857(wa)-.25 G 4.857(na)432.626 232.8 S +2.357(ddress should)446.923 232.8 R .625(appear in a message when it is def)142 +244.8 R 3.126(aulted. Def)-.1 F .626(aults to \231<$g>\232.)-.1 F .626 +(It is commonly rede\214ned)5.626 F .183(to be \231$?x$x <$g>$|$g$.)142 256.8 R +5.183<9a6f>-.7 G 2.683<7299>255.852 256.8 S .183($g$?x \($x\)$.)266.305 256.8 R +.182(\232, corresponding to the follo)-.7 F .182(wing tw)-.25 F 2.682(of)-.1 G +(ormats:)474 256.8 Q(Eric Allman <eric@CS.Berk)182 273 Q(ele)-.1 E -.65(y.)-.15 +G(EDU>).65 E(eric@CS.Berk)182 285 Q(ele)-.1 E -.65(y.)-.15 G +(EDU \(Eric Allman\)).65 E F2(Sendmail)142 301.2 Q F1 +(properly quotes names that ha)2.5 E .3 -.15(ve s)-.2 H +(pecial characters if the \214rst form is used.).15 E($r)117 317.4 Q F0(Pr)142 +317.4 Q(otocol used to r)-.18 E(ecei)-.18 E .2 -.1(ve t)-.1 H(he message.).1 E +F1($s)117 333.6 Q F0(Sender')142 333.6 Q 2.5(sh)-.37 G(ost name.)186.91 333.6 Q +F1($t)117 349.8 Q F0 2.5(An)142 349.8 S(umeric r)157.28 349.8 Q(epr)-.18 E +(esentation of the curr)-.18 E(ent time.)-.18 E F1($u)117 366 Q F0(The r)142 +366 Q(ecipient user)-.18 E(.)-1 E F1($v)117 382.2 Q F0(The v)142 382.2 Q +(ersion number of)-.1 E F2(sendmail)2.5 E F0(.)A F1($w\210)117 398.4 Q F0 +(The hostname of this site.)7.78 E F1(The)142 414.6 Q F0($w)2.5 E F1 +(macro is set to the root name of this host \(b)2.5 E(ut see belo)-.2 E 2.5(wf) +-.25 G(or ca)403.46 414.6 Q -.15(ve)-.2 G(ats\).).15 E($x)117 430.8 Q F0 +(The full name of the sender)142 430.8 Q(.)-1 E F1($z)117 447 Q F0 +(The home dir)142 447 Q(ectory of the r)-.18 E(ecipient.)-.18 E F1($_)117 463.2 +Q F0(The v)142 463.2 Q(alidated sender addr)-.1 E(ess.)-.18 E F1 .918 +(There are three types of dates that can be used.)142 479.4 R(The)5.918 E F0 +($a)3.418 E F1(and)3.418 E F0($b)3.418 E F1 .918(macros are in RFC 822)3.418 F +(format;)117 491.4 Q F0($a)3.047 E F1 .547(is the time as e)3.047 F .547 +(xtracted from the \231Date:\232 line of the message \(if there w)-.15 F .546 +(as one\), and)-.1 F F0($b)117 503.4 Q F1 .145 +(is the current date and time \(used for postmarks\).)2.645 F .145 +(If no \231Date:\232 line is found in the incoming)5.145 F(message,)117 515.4 Q +F0($a)2.547 E F1 .047(is set to the current time also.)2.547 F(The)5.046 E F0 +($d)2.546 E F1 .046(macro is equi)2.546 F -.25(va)-.25 G .046(lent to the).25 F +F0($b)2.546 E F1 .046(macro in UNIX)2.546 F(\(ctime\) format.)117 527.4 Q .606 +(The macros)142 543.6 R F0($w)3.106 E F1(,)A F0($j)3.106 E F1 3.106(,a)C(nd) +228.844 543.6 Q F0($m)3.106 E F1 .607(are set to the identity of this host.) +3.106 F F2(Sendmail)5.607 E F1 .607(tries to \214nd the)3.107 F .025(fully qua\ +li\214ed name of the host if at all possible; it does this by calling)117 555.6 +R F2 -.1(ge)2.525 G(thostname).1 E F1 .025(\(2\) to get the)B 1.511 +(current hostname and then passing that to)117 567.6 R F2 -.1(ge)4.012 G +(thostbyname).1 E F1 1.512(\(3\) which is supposed to return the)B .185 +(canonical v)117 581.6 R .185(ersion of that host name.)-.15 F/F3 7 +/Times-Roman@0 SF(11)262.195 577.6 Q F1 .184(Assuming this is successful,) +271.88 581.6 R F0($j)2.684 E F1 .184(is set to the fully quali\214ed)2.684 F +1.463(name and)117 593.6 R F0($m)3.963 E F1 1.464 +(is set to the domain part of the name \(e)3.964 F -.15(ve)-.25 G 1.464 +(rything after the \214rst dot\).).15 F(The)6.464 E F0($w)3.964 E F1 .166 +(macro is set to the \214rst w)117 605.6 R .166(ord \(e)-.1 F -.15(ve)-.25 G +.166(rything before the \214rst dot\) if you ha).15 F .466 -.15(ve a l)-.2 H +-2.15 -.25(ev e).15 H 2.666(l5o).25 G 2.666(rh)452.018 605.6 S .166(igher con-) +463.014 605.6 R .183(\214guration \214le; otherwise, it is set to the same v) +117 617.6 R .184(alue as)-.25 F F0($j)2.684 E F1 5.184(.I)C 2.684(ft)355.32 +617.6 S .184(he canoni\214cation is not successful,)364.114 617.6 R +(it is imperati)117 631.6 Q .3 -.15(ve t)-.25 H(hat the con\214g \214le set).15 +E F0($j)2.5 E F1(to the fully quali\214ed domain name)2.5 E F3(12)416.59 627.6 +Q F1(.)423.59 631.6 Q(The)142 647.8 Q F0($f)3.115 E F1 .614(macro is the id of\ + the sender as originally determined; when mailing to a speci\214c)3.115 F .601 +(host the)117 659.8 R F0($g)3.101 E F1 .601 +(macro is set to the address of the sender)3.101 F F2 -.37(re)3.102 G .602 +(lative to the r).37 F(ecipient.)-.37 E F1 -.15(Fo)5.602 G 3.102(re).15 G .602 +(xample, if I)456.416 659.8 R .32 LW 76 669.4 72 669.4 DL 80 669.4 76 669.4 DL +84 669.4 80 669.4 DL 88 669.4 84 669.4 DL 92 669.4 88 669.4 DL 96 669.4 92 +669.4 DL 100 669.4 96 669.4 DL 104 669.4 100 669.4 DL 108 669.4 104 669.4 DL +112 669.4 108 669.4 DL 116 669.4 112 669.4 DL 120 669.4 116 669.4 DL 124 669.4 +120 669.4 DL 128 669.4 124 669.4 DL 132 669.4 128 669.4 DL 136 669.4 132 669.4 +DL 140 669.4 136 669.4 DL 144 669.4 140 669.4 DL 148 669.4 144 669.4 DL 152 +669.4 148 669.4 DL 156 669.4 152 669.4 DL 160 669.4 156 669.4 DL 164 669.4 160 +669.4 DL 168 669.4 164 669.4 DL 172 669.4 168 669.4 DL 176 669.4 172 669.4 DL +180 669.4 176 669.4 DL 184 669.4 180 669.4 DL 188 669.4 184 669.4 DL 192 669.4 +188 669.4 DL 196 669.4 192 669.4 DL 200 669.4 196 669.4 DL 204 669.4 200 669.4 +DL 208 669.4 204 669.4 DL 212 669.4 208 669.4 DL 216 669.4 212 669.4 DL/F4 5 +/Times-Roman@0 SF(11)93.6 679.8 Q/F5 8/Times-Roman@0 SF -.12(Fo)3.2 K 2(re).12 +G(xample, on some systems)115.024 683 Q/F6 8/Times-Italic@0 SF -.08(ge)2 G +(thostname).08 E F5(might return \231foo\232 which w)2 E +(ould be mapped to \231foo.bar)-.08 E(.com\232 by)-.44 E F6 -.08(ge)2 G +(thostbyname).08 E F5(.)A F4(12)93.6 693.4 Q F5(Older v)3.2 I +(ersions of sendmail didn')-.12 E 2(tp)-.144 G(re-de\214ne)211.88 696.6 Q/F7 8 +/Times-Bold@0 SF($j)2 E F5(at all, so up until 8.6, con\214g \214les)2 E F6 +(always)2 E F5(had to de\214ne)2 E F7($j)2 E F5(.)A EP +%%Page: 30 25 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-30 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 1.65 +(send to \231bollard@matisse.CS.Berk)117 96 R(ele)-.1 E -.65(y.)-.15 G 1.65 +(EDU\232 from the machine \231v).65 F(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.) +-.15 G(EDU\232).65 E(the)117 108 Q F0($f)2.5 E F1 +(macro will be \231eric\232 and the)2.5 E F0($g)2.5 E F1 +(macro will be \231eric@v)2.5 E(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G +(EDU.).65 E<9a>-.7 E(The)142 124.2 Q F0($x)3.837 E F1 1.338 +(macro is set to the full name of the sender)3.837 F 6.338(.T)-.55 G 1.338 +(his can be determined in se)369.13 124.2 R -.15(ve)-.25 G(ral).15 E -.1(wa)117 +136.2 S 2.953(ys. It).1 F .453(can be passed as \215ag to)2.953 F/F2 10 +/Times-Italic@0 SF(sendmail)2.953 E F1 5.453(.T)C .453 +(he second choice is the v)303.447 136.2 R .453(alue of the \231Full-name:\232) +-.25 F .512(line in the header if it e)117 148.2 R .513 +(xists, and the third choice is the comment \214eld of a \231From:\232 line.) +-.15 F .513(If all)5.513 F 1.149(of these f)117 160.2 R 1.149 +(ail, and if the message is being originated locally)-.1 F 3.648(,t)-.65 G +1.148(he full name is look)369.684 160.2 R 1.148(ed up in the)-.1 F F2 +(/etc/passwd)117 172.2 Q F1(\214le.)2.5 E .438(When sending, the)142 188.4 R F0 +($h)2.938 E F1(,)A F0($u)2.938 E F1 2.938(,a)C(nd)256.96 188.4 Q F0($z)2.938 E +F1 .438(macros get set to the host, user)2.938 F 2.939(,a)-.4 G .439 +(nd home directory \(if)417.423 188.4 R 1.455(local\) of the recipient.)117 +200.4 R 1.455(The \214rst tw)6.455 F 3.955(oa)-.1 G 1.454(re set from the) +278.445 200.4 R F0($@)3.954 E F1(and)3.954 E F0($:)3.954 E F1 1.454 +(part of the re)3.954 F 1.454(writing rules,)-.25 F(respecti)117 212.4 Q -.15 +(ve)-.25 G(ly).15 E(.)-.65 E(The)142 228.6 Q F0($p)2.806 E F1(and)2.806 E F0 +($t)2.806 E F1 .306(macros are used to create unique strings \(e.g., for the \ +\231Message-Id:\232 \214eld\).)2.806 F(The)117 240.6 Q F0($i)2.538 E F1 .037(m\ +acro is set to the queue id on this host; if put into the timestamp line it ca\ +n be e)2.538 F(xtremely)-.15 E .407(useful for tracking messages.)117 252.6 R +(The)5.407 E F0($v)2.907 E F1 .407(macro is set to be the v)2.907 F .407 +(ersion number of)-.15 F F2(sendmail)2.907 E F1 2.907(;t)C .408(his is)482.752 +252.6 R(normally put in timestamps and has been pro)117 264.6 Q -.15(ve)-.15 G +2.5(ne).15 G(xtremely useful for deb)317.64 264.6 Q(ugging.)-.2 E(The)142 280.8 +Q F0($c)2.715 E F1 .215(\214eld is set to the \231hop count,)2.715 F 2.714 +<9a69>-.7 G .214(.e., the number of times this message has been pro-)297.664 +280.8 R 3.183(cessed. This)117 292.8 R .683(can be determined by the)3.183 F F0 +<ad68>3.183 E F1 .684(\215ag on the command line or by counting the times-) +3.183 F(tamps in the message.)117 304.8 Q(The)142 321 Q F0($r)3.427 E F1(and) +3.427 E F0($s)3.427 E F1 .926 +(\214elds are set to the protocol used to communicate with)3.427 F F2(sendmail) +3.426 E F1 .926(and the)3.426 F(sending hostname.)117 333 Q(The)142 349.2 Q F0 +($_)2.72 E F1 .22(is set to a v)2.72 F .22(alidated sender host name.)-.25 F +.22(If the sender is running an RFC 1413 com-)5.22 F(pliant IDENT serv)117 +361.2 Q(er)-.15 E 2.5(,i)-.4 G 2.5(tw)206.43 361.2 S +(ill include the user name on that host.)218.93 361.2 Q F0 2.5(5.1.3. C)102 +385.2 R(and F \212 de\214ne classes)2.5 E F1 .197 +(Classes of phrases may be de\214ned to match on the left hand side of re)142 +401.4 R .196(writing rules, where)-.25 F 2.79<6199>117 413.4 S .291 +(phrase\232 is a sequence of characters that do not contain space characters.) +128.67 413.4 R -.15(Fo)5.291 G 2.791(re).15 G .291(xample a class)445.098 413.4 +R .356(of all local names for this site might be created so that attempts to s\ +end to oneself can be elimi-)117 425.4 R 2.89(nated. These)117 437.4 R .39(can\ + either be de\214ned directly in the con\214guration \214le or read in from an\ +other \214le.)2.89 F .797(Classes may be gi)117 449.4 R -.15(ve)-.25 G 3.297 +(nn).15 G .796(ames from the set of upper case letters.)213.668 449.4 R(Lo) +5.796 E .796(wer case letters and special)-.25 F(characters are reserv)117 +461.4 Q(ed for system use.)-.15 E(The syntax is:)142 477.6 Q F0(C)157 493.8 Q +F2 1.666(cp)C(hr)-1.666 E(ase1 phr)-.15 E(ase2...)-.15 E F0(F)157 505.8 Q F2 +1.666<638c>C(le)-1.666 E F1 1.114(The \214rst form de\214nes the class)117 522 +R F2(c)3.614 E F1 1.114(to match an)3.614 F 3.614(yo)-.15 G 3.615(ft)319.63 522 +S 1.115(he named w)329.355 522 R 3.615(ords. It)-.1 F 1.115 +(is permissible to split)3.615 F(them among multiple lines; for e)117 534 Q +(xample, the tw)-.15 E 2.5(of)-.1 G(orms:)317.57 534 Q(CHmonet ucbmonet)157 +550.2 Q(and)117 566.4 Q(CHmonet)157 582.6 Q(CHucbmonet)157 594.6 Q(are equi)117 +610.8 Q -.25(va)-.25 G 2.5(lent. The).25 F +(second form reads the elements of the class)2.5 E F2(c)2.5 E F1 +(from the named)2.5 E F2(\214le)2.5 E F1(.)A(The)142 627 Q F0($~)3.113 E F1 +.613(\(match entries not in class\) only matches a single w)3.113 F .612 +(ord; multi-w)-.1 F .612(ord entries in the)-.1 F +(class are ignored in this conte)117 639 Q(xt.)-.15 E .383(The class)142 655.2 +R F0($=w)2.883 E F1 .384(is set to be the set of all names this host is kno) +2.883 F .384(wn by)-.25 F 5.384(.T)-.65 G .384(his can be used to)431.364 655.2 +R(match local hostnames.)117 667.2 Q(The class)142 683.4 Q F0($=k)2.5 E F1 +(is set to be the same as)2.5 E F0($k)2.5 E F1 2.5(,t)C +(hat is, the UUCP node name.)312.69 683.4 Q(The class)142 699.6 Q F0($=m)2.5 E +F1(is set to the set of domains by which this host is kno)2.5 E +(wn, initially just)-.25 E F0($m)2.5 E F1(.)A EP +%%Page: 31 26 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-31)452.9 60 Q/F1 10/Times-Italic@0 SF(Sendmail)142 96 Q/F2 10 +/Times-Roman@0 SF .543(can be compiled to allo)3.043 F 3.043(wa)-.25 G F1 +(scanf)-.001 E F2 .542(\(3\) string on the)B F0(F)3.042 E F2 3.042(line. This) +3.042 F .542(lets you do sim-)3.042 F .519(plistic parsing of te)117 108 R .519 +(xt \214les.)-.15 F -.15(Fo)5.519 G 3.019(re).15 G .52 +(xample, to read all the user names in your system)251.884 108 R F1 +(/etc/passwd)3.02 E F2(\214le into a class, use)117 120 Q(FL/etc/passwd %[^:]) +157 136.2 Q(which reads e)117 152.4 Q -.15(ve)-.25 G +(ry line up to the \214rst colon.).15 E F0 2.5(5.1.4. M)102 176.4 R 2.5<8a64> +2.5 G(e\214ne mailer)159.5 176.4 Q F2(Programs and interf)142 192.6 Q +(aces to mailers are de\214ned in this line.)-.1 E(The format is:)5 E F0(M)157 +208.8 Q F1(name)A F2 2.5(,{)C F1(\214eld)197.9 208.8 Q F2(=)A F1(value)A F2(}*) +1.666 E(where)117 225 Q F1(name)3.244 E F2 .744(is the name of the mailer \(us\ +ed internally only\) and the \231\214eld=name\232 pairs de\214ne)3.244 F +(attrib)117 237 Q(utes of the mailer)-.2 E 5(.F)-.55 G(ields are:)220.13 237 Q +-.15(Pa)157 253.2 S 51.87(th The).15 F(pathname of the mailer)2.5 E 47.83 +(Flags Special)157 265.2 R(\215ags for this mailer)2.5 E 41.73(Sender A)157 +277.2 R(re)2.5 E(writing set for sender addresses)-.25 E 31.17(Recipient A)157 +289.2 R(re)2.5 E(writing set for recipient addresses)-.25 E(Ar)157 301.2 Q +49.13(gv An)-.18 F(ar)2.5 E(gument v)-.18 E(ector to pass to this mailer)-.15 E +55.61(Eol The)157 313.2 R(end-of-line string for this mailer)2.5 E 35.62 +(Maxsize The)157 325.2 R(maximum message length to this mailer)2.5 E 32.27 +(Linelimit The)157 337.2 R(maximum line length in the message body)2.5 E 31.18 +(Directory The)157 349.2 R -.1(wo)2.5 G(rking directory for the mailer).1 E +(Only the \214rst character of the \214eld name is check)117 365.4 Q(ed.)-.1 E +1.144(The follo)142 381.6 R 1.144 +(wing \215ags may be set in the mailer description.)-.25 F(An)6.144 E 3.644(yo) +-.15 G 1.144(ther \215ags may be used)409.994 381.6 R(freely to conditionally \ +assign headers to messages destined for particular mailers.)117 393.6 Q 15.56 +(aR)117 409.8 S(un Extended SMTP \(ESMTP\) protocol \(de\214ned in RFCs 1425, \ +1426, and 1427\).)143.67 409.8 Q 15(bF)117 426 S .674 +(orce a blank line on the end of a message.)142.41 426 R .674 +(This is intended to w)5.674 F .674(ork around some stupid)-.1 F -.15(ve)137 +438 S .851(rsions of /bin/mail that require a blank line, b).15 F .851 +(ut do not pro)-.2 F .852(vide it themselv)-.15 F 3.352(es. It)-.15 F -.1(wo) +3.352 G(uld).1 E(not normally be used on netw)137 450 Q(ork mail.)-.1 E 15.56 +(cD)117 466.2 S 4.166(on)144.22 466.2 S 1.666 +(ot include comments in addresses.)158.386 466.2 R 1.665 +(This should only be used if you ha)6.665 F 1.965 -.15(ve t)-.2 H 4.165(ow).15 +G(ork)490.67 466.2 Q(around a remote mailer that gets confused by comments.)137 +478.2 Q 13.33(CI)117 494.4 S 3.06(fm)140.33 494.4 S .56(ail is)154.5 494.4 R F1 +-.37(re)3.06 G(ceived).37 E F2 .56(from a mailer with this \215ag set, an)3.06 +F 3.06(ya)-.15 G .56(ddresses in the header that do not)367.33 494.4 R(ha)137 +506.4 Q .331 -.15(ve a)-.2 H 2.531(na).15 G 2.531(ts)174.472 506.4 S .031 +(ign \(\231@\232\) after being re)183.673 506.4 R .031 +(written by ruleset three will ha)-.25 F .33 -.15(ve t)-.2 H .03 +(he \231@domain\232 clause).15 F(from the sender tack)137 518.4 Q(ed on.)-.1 E +(This allo)5 E(ws mail with headers of the form:)-.25 E(From: usera@hosta)177 +534.6 Q -.8(To)177 546.6 S 2.5(:u).8 G(serb@hostb, userc)197.59 546.6 Q +(to be re)137 562.8 Q(written as:)-.25 E(From: usera@hosta)177 579 Q -.8(To)177 +591 S 2.5(:u).8 G(serb@hostb, userc@hosta)197.59 591 Q(automatically)137 607.2 +Q(.)-.65 E 12.78(DT)117 623.4 S(his mailer w)143.11 623.4 Q +(ants a \231Date:\232 header line.)-.1 E 15.56(eT)117 639.6 S .562 +(his mailer is e)143.11 639.6 R(xpensi)-.15 E .862 -.15(ve t)-.25 H 3.062(oc) +.15 G .562(onnect to, so try to a)253.97 639.6 R -.2(vo)-.2 G .562 +(id connecting normally; an).2 F 3.063(yn)-.15 G(ecessary)470.13 639.6 Q +(connection will occur during a queue run.)137 651.6 Q 13.89(EE)117 667.8 S +(scape lines be)143.11 667.8 Q +(ginning with \231From\232 in the message with a `>' sign.)-.15 E 16.67(fT)117 +684 S .969(he mailer w)143.11 684 R .969(ants a)-.1 F F0<ad66>3.469 E F1(fr) +3.469 E(om)-.45 E F2 .969(\215ag, b)3.469 F .969(ut only if this is a netw)-.2 +F .969(ork forw)-.1 F .968(ard operation \(i.e., the)-.1 F(mailer will gi)137 +696 Q .3 -.15(ve a)-.25 H 2.5(ne).15 G(rror if the e)218.81 696 Q -.15(xe)-.15 +G(cuting user does not ha).15 E .3 -.15(ve s)-.2 H(pecial permissions\).).15 E +14.44(FT)117 712.2 S(his mailer w)143.11 712.2 Q +(ants a \231From:\232 header line.)-.1 E EP +%%Page: 32 27 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-32 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 15(gN)117 96 S +(ormally)144.22 96 Q(,)-.65 E/F2 10/Times-Italic@0 SF(sendmail)3.529 E F1 1.029 +(sends internally generated email \(e.g., error messages\) using the null)3.529 +F 1.767(return address)137 110 R/F3 7/Times-Roman@0 SF(13)195.137 106 Q F1 +1.766(as required by RFC 1123.)206.404 110 R(Ho)6.766 E(we)-.25 E -.15(ve)-.25 +G 2.566 -.4(r, s).15 H 1.766(ome mailers don').4 F 4.266(ta)-.18 G 1.766 +(ccept a null)454.368 110 R .922(return address.)137 122 R .922(If necessary) +5.922 F 3.422(,y)-.65 G .922(ou can set the)261.938 122 R F0(g)3.422 E F1 .922 +(\215ag to pre)3.422 F -.15(ve)-.25 G(nt).15 E F2(sendmail)3.422 E F1 .922 +(from obe)3.422 F .922(ying the)-.15 F .212 +(standards; error messages will be sent as from the MAILER-D)137 134 R .211 +(AEMON \(actually)-.4 F 2.711(,t)-.65 G .211(he v)470.439 134 R(alue)-.25 E +(of the)137 146 Q F0($n)2.5 E F1(macro\).)2.5 E 15(hU)117 162.2 S +(pper case should be preserv)144.22 162.2 Q(ed in host names for this mailer) +-.15 E(.)-.55 E 16.67(IT)117 178.4 S .092 +(his mailer will be speaking SMTP to another)143.11 178.4 R F2(sendmail)2.592 E +F1 2.593<8a61>2.593 G 2.593(ss)381.242 178.4 S .093 +(uch it can use special proto-)391.615 178.4 R .319(col features.)137 190.4 R +.319(This option is not required \(i.e., if this option is omitted the transmi\ +ssion will)5.319 F(still operate successfully)137 202.4 Q 2.5(,a)-.65 G +(lthough perhaps not as ef)244.11 202.4 Q(\214ciently as possible\).)-.25 E +17.22(lT)117 218.6 S(his mailer is local \(i.e., \214nal deli)143.11 218.6 Q +-.15(ve)-.25 G(ry will be performed\).).15 E 13.89(LL)117 234.8 S .69 +(imit the line lengths as speci\214ed in RFC821.)143.11 234.8 R .69 +(This deprecated option should be replaced)5.69 F(by the)137 246.8 Q F0(L=)2.5 +E F1(mail declaration.)2.5 E -.15(Fo)5 G 2.5(rh).15 G(istoric reasons, the) +272.54 246.8 Q F0(L)2.5 E F1(\215ag also sets the)2.5 E F0(7)2.5 E F1(\215ag.) +2.5 E 12.22(mT)117 263 S 1.273 +(his mailer can send to multiple users on the same host in one transaction.) +143.11 263 R 1.273(When a)6.273 F F0($u)3.773 E F1 .621(macro occurs in the)137 +275 R F2(ar)3.121 E(gv)-.37 E F1 .621 +(part of the mailer de\214nition, that \214eld will be repeated as neces-)3.121 +F(sary for all qualifying users.)137 287 Q 11.11(MT)117 303.2 S(his mailer w) +143.11 303.2 Q(ants a \231Message-Id:\232 header line.)-.1 E 15(nD)117 319.4 S +2.5(on)144.22 319.4 S +(ot insert a UNIX-style \231From\232 line on the front of the message.)156.72 +319.4 Q 15(pU)117 335.6 S .702(se the route-addr style re)144.22 335.6 R -.15 +(ve)-.25 G .702(rse-path in the SMTP \231MAIL FR).15 F .701 +(OM:\232 command rather than)-.4 F .421 +(just the return address; although this is required in RFC821 section 3.1, man) +137 347.6 R 2.922(yh)-.15 G .422(osts do not)459.816 347.6 R(process re)137 +359.6 Q -.15(ve)-.25 G(rse-paths properly).15 E 5(.R)-.65 G -2.15 -.25(ev e) +272.3 359.6 T(rse-paths are of).25 E(\214cially discouraged by RFC 1123.)-.25 E +14.44(PT)117 375.8 S(his mailer w)143.11 375.8 Q(ants a \231Return-P)-.1 E +(ath:\232 line.)-.15 E 16.67(rS)117 392 S(ame as)142.56 392 Q F0(f)2.5 E F1 2.5 +(,b)C(ut sends a)185.68 392 Q F0<ad72>2.5 E F1(\215ag.)2.5 E 16.11(sS)117 408.2 +S(trip quote characters of)142.56 408.2 Q 2.5(fo)-.25 G 2.5(ft)245.61 408.2 S +(he address before calling the mailer)254.22 408.2 Q(.)-.55 E 14.44(SD)117 +424.4 S(on')144.22 424.4 Q 3.443(tr)-.18 G .943 +(eset the userid before calling the mailer)166.923 424.4 R 5.943(.T)-.55 G .943 +(his w)344.324 424.4 R .942(ould be used in a secure en)-.1 F(viron-)-.4 E .49 +(ment where)137 436.4 R F2(sendmail)2.99 E F1 .49(ran as root.)2.99 F .491 +(This could be used to a)5.491 F -.2(vo)-.2 G .491(id for).2 F .491 +(ged addresses.)-.18 F .491(This \215ag)5.491 F(is suppressed if gi)137 448.4 Q +-.15(ve)-.25 G 2.5(nf).15 G(rom an \231unsafe\232 en)228.81 448.4 Q +(vironment \(e.g, a user')-.4 E 2.5(sm)-.55 G(ail.cf \214le\).)410.31 448.4 Q +15(uU)117 464.6 S(pper case should be preserv)144.22 464.6 Q +(ed in user names for this mailer)-.15 E(.)-.55 E 12.78(UT)117 480.8 S 2.997 +(his mailer w)143.11 480.8 R 2.996 +(ants Unix-style \231From\232 lines with the ugly UUCP-style \231remote from) +-.1 F(<host>\232 on the end.)137 492.8 Q 15(xT)117 509 S(his mailer w)143.11 +509 Q(ants a \231Full-Name:\232 header line.)-.1 E 12.78(XT)117 525.2 S 1.22 +(his mailer w)143.11 525.2 R 1.22 +(ant to use the hidden dot algorithm as speci\214ed in RFC821; basically)-.1 F +3.72(,a)-.65 G -.15(ny)494.15 525.2 S .225(line be)137 537.2 R .225 +(ginning with a dot will ha)-.15 F .525 -.15(ve a)-.2 H 2.725(ne).15 G .224 +(xtra dot prepended \(to be stripped at the other end\).)296.47 537.2 R .525(T\ +his insures that lines in the message containing a dot will not terminate the \ +message pre-)137 549.2 R(maturely)137 561.2 Q(.)-.65 E 15(7S)117 577.4 S .351 +(trip all output to se)142.56 577.4 R -.15(ve)-.25 G 2.851(nb).15 G 2.851 +(its. This)241.416 577.4 R .351(is the def)2.851 F .351(ault if the)-.1 F F0(L) +2.851 E F1 .351(\215ag is set.)2.851 F .351(Note that clearing this)5.351 F +.377(option is not suf)137 589.4 R .378 +(\214cient to get full eight bit data passed through)-.25 F F2(sendmail)2.878 E +F1 5.378(.I)C 2.878(ft)439.708 589.4 S(he)448.696 589.4 Q F0(7)2.878 E F1 .378 +(option is)2.878 F(set, this is essentially al)137 601.4 Q -.1(wa)-.1 G +(ys set, since the eighth bit w).1 E(as stripped on input.)-.1 E 2.122(The mai\ +ler with the special name \231error\232 can be used to generate a user error) +142 617.6 R 7.122(.T)-.55 G(he)494.56 617.6 Q .246 +(\(optional\) host \214eld is an e)117 629.6 R .247 +(xit status to be returned, and the user \214eld is a message to be printed.) +-.15 F .337(The e)117 641.6 R .337(xit status may be numeric or one of the v) +-.15 F .336(alues USA)-.25 F .336(GE, NOUSER, NOHOST)-.4 F 2.836(,U)-.74 G -.35 +(NA)465.4 641.6 S -1.35(VA)-1 G(IL-)1.35 E .828(ABLE, SOFTW)117 653.6 R .828 +(ARE, TEMPF)-1.2 F .828(AIL, PR)-.74 F -1.88 -.4(OT O)-.4 H .828 +(COL, or CONFIG to return the corresponding EX_).4 F -.15(ex)117 665.6 S +(it code.).15 E -.15(Fo)5 G 2.5(re).15 G(xample, the entry:)181.26 665.6 Q .32 +LW 76 678.8 72 678.8 DL 80 678.8 76 678.8 DL 84 678.8 80 678.8 DL 88 678.8 84 +678.8 DL 92 678.8 88 678.8 DL 96 678.8 92 678.8 DL 100 678.8 96 678.8 DL 104 +678.8 100 678.8 DL 108 678.8 104 678.8 DL 112 678.8 108 678.8 DL 116 678.8 112 +678.8 DL 120 678.8 116 678.8 DL 124 678.8 120 678.8 DL 128 678.8 124 678.8 DL +132 678.8 128 678.8 DL 136 678.8 132 678.8 DL 140 678.8 136 678.8 DL 144 678.8 +140 678.8 DL 148 678.8 144 678.8 DL 152 678.8 148 678.8 DL 156 678.8 152 678.8 +DL 160 678.8 156 678.8 DL 164 678.8 160 678.8 DL 168 678.8 164 678.8 DL 172 +678.8 168 678.8 DL 176 678.8 172 678.8 DL 180 678.8 176 678.8 DL 184 678.8 180 +678.8 DL 188 678.8 184 678.8 DL 192 678.8 188 678.8 DL 196 678.8 192 678.8 DL +200 678.8 196 678.8 DL 204 678.8 200 678.8 DL 208 678.8 204 678.8 DL 212 678.8 +208 678.8 DL 216 678.8 212 678.8 DL/F4 5/Times-Roman@0 SF(13)93.6 689.2 Q/F5 8 +/Times-Roman@0 SF(Actually)3.2 I 2(,t)-.52 G(his only applies to SMTP)131.856 +692.4 Q 2(,w)-.888 G(hich uses the `)222.088 692.4 Q(`MAIL FR)-.592 E(OM:<>') +-.32 E 2('c)-.592 G(ommand.)336.48 692.4 Q EP +%%Page: 33 28 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-33)452.9 60 Q/F1 10/Times-Roman@0 SF($#error $@ NOHOST $: Host unkno) +157 96 Q(wn in this domain)-.25 E .261(on the RHS of a rule will cause the spe\ +ci\214ed error to be generated and the \231Host unkno)117 112.2 R .261 +(wn\232 e)-.25 F(xit)-.15 E(status to be returned if the LHS matches.)117 124.2 +Q(This mailer is only functional in ruleset zero.)5 E 1.563 +(The mailer named \231local\232)142 140.4 R/F2 10/Times-Italic@0 SF(must)4.063 +E F1 1.564(be de\214ned in e)4.063 F -.15(ve)-.25 G 1.564 +(ry con\214guration \214le.).15 F 1.564(This is used to)6.564 F(deli)117 152.4 +Q -.15(ve)-.25 G 4.039(rl).15 G 1.539 +(ocal mail, and is treated specially in se)151.189 152.4 R -.15(ve)-.25 G 1.538 +(ral w).15 F 4.038(ays. Additionally)-.1 F 4.038(,t)-.65 G 1.538 +(hree other mailers)428.724 152.4 R 1.367(named \231prog\232, \231*\214le*\232\ +, and \231*include*\232 may be de\214ned to tune the deli)117 164.4 R -.15(ve) +-.25 G 1.368(ry of messages to).15 F +(programs, \214les, and :include: lists respecti)117 176.4 Q -.15(ve)-.25 G(ly) +.15 E 5(.T)-.65 G(he)315.38 176.4 Q 2.5(yd)-.15 G(ef)337.17 176.4 Q(ault to:) +-.1 E(Mprog, P=/bin/sh, F=lsD, A=sh \255c $u)157 192.6 Q(M*\214le*, P=/de)157 +204.6 Q(v/null, F=lsDFMPEu, A=FILE)-.25 E(M*include*, P=/de)157 216.6 Q +(v/null, F=su, A=INCLUDE)-.25 E 1.264(The Sender and Recipient re)142 237 R +1.263(writing sets may either be a simple inte)-.25 F 1.263(ger or may be tw) +-.15 F(o)-.1 E(inte)117 249 Q .046 +(gers separated by a slash; if so, the \214rst re)-.15 F .047 +(writing set is applied to en)-.25 F -.15(ve)-.4 G .047(lope addresses and the) +.15 F(second is applied to headers.)117 261 Q 1.259 +(The Directory is actually a colon-separated path of directories to try)142 +277.2 R 6.258(.F)-.65 G 1.258(or e)439.704 277.2 R 1.258(xample, the)-.15 F +.143(de\214nition \231D=$z:/\232 \214rst tries to e)117 289.2 R -.15(xe)-.15 G +.143(cute in the recipient').15 F 2.643(sh)-.55 G .144 +(ome directory; if that is not a)353.327 289.2 R -.25(va)-.2 G(ilable,).25 E +.781(it tries to e)117 301.2 R -.15(xe)-.15 G .781 +(cute in the root of the \214lesystem.).15 F .78 +(This is intended to be used only on the \231prog\232)5.781 F(mailer)117 313.2 +Q 2.898(,s)-.4 G .398(ince some shells \(such as)151.438 313.2 R F2(csh)2.898 E +F1 2.898(\)r)C .398(efuse to e)279.356 313.2 R -.15(xe)-.15 G .398(cute if the) +.15 F 2.898(yc)-.15 G .398(annot read the home directory)380.586 313.2 R(.)-.65 +E .416(Since the queue directory is not normally readable by normal users)117 +325.2 R F2(csh)2.916 E F1 .416(scripts as recipients can)2.916 F -.1(fa)117 +337.2 S(il.).1 E F0 2.5(5.1.5. H)102 361.2 R 2.5<8a64>2.5 G(e\214ne header) +157.84 361.2 Q F1 .198(The format of the header lines that)142 377.4 R F2 +(sendmail)2.698 E F1 .198(inserts into the message are de\214ned by the)2.698 F +F0(H)2.699 E F1 2.5(line. The)117 389.4 R(syntax of this line is:)2.5 E F0(H) +157 405.6 Q F1([)A F0(?)A F2(m\215a)A(gs)-.1 E F0(?)A F1(])A F2(hname)A F0(:)A +F2(htemplate)2.5 E F1 .691(Continuation lines in this spec are re\215ected dir\ +ectly into the outgoing message.)117 421.8 R(The)5.69 E F2(htemplate)3.19 E F1 +1.566(is macro e)117 433.8 R 1.567(xpanded before insertion into the message.) +-.15 F 1.567(If the)6.567 F F2(m\215a)4.067 E(gs)-.1 E F1 1.567 +(\(surrounded by question)4.067 F .219(marks\) are speci\214ed, at least one o\ +f the speci\214ed \215ags must be stated in the mailer de\214nition for)117 +445.8 R .093(this header to be automatically output.)117 457.8 R .093 +(If one of these headers is in the input it is re\215ected to the)5.093 F +(output re)117 469.8 Q -.05(ga)-.15 G(rdless of these \215ags.).05 E +(Some headers ha)142 486 Q .3 -.15(ve s)-.2 H +(pecial semantics that will be described belo).15 E -.65(w.)-.25 G F0 2.5 +(5.1.6. O)102 510 R 2.5<8a73>2.5 G(et option)156.17 510 Q F1 .045(There are a \ +number of \231random\232 options that can be set from a con\214guration \214le\ +.)142 526.2 R(Options)5.045 E(are represented by single characters.)117 538.2 Q +(The syntax of this line is:)5 E F0(O)157 554.4 Q F2 1.666(ov)C(alue)-1.666 E +F1 1.054(This sets option)117 570.6 R F2(o)3.554 E F1 1.054(to be)3.554 F F2 +(value)3.554 E F1 6.054(.D)C 1.054(epending on the option,)256.318 570.6 R F2 +(value)3.555 E F1 1.055(may be a string, an inte)3.555 F(ger)-.15 E 3.555(,a) +-.4 G(boolean \(with le)117 582.6 Q -.05(ga)-.15 G 2.5(lv).05 G +(alues \231t\232, \231T\232, \231f\232, or \231F\232; the def)201.26 582.6 Q +(ault is TR)-.1 E(UE\), or a time interv)-.4 E(al.)-.25 E +(The options supported are:)142 598.8 Q(a)117 615 Q F2(N)A F1 .655(If set, w) +189 615 R .655(ait up to)-.1 F F2(N)3.155 E F1 .655 +(minutes for an \231@:@\232 entry to e)3.155 F .655(xist in the alias database) +-.15 F .474(before starting up.)189 627 R .474(If it does not appear in)5.474 F +F2(N)2.974 E F1 .475(minutes, reb)2.974 F .475(uild the database \(if)-.2 F +(the)189 639 Q F0(D)2.5 E F1(option is also set\) or issue a w)2.5 E(arning.) +-.1 E(A)117 655.2 Q F2 .507(spec, spec, ...)B F1 .507 +(Specify possible alias \214le\(s\).)190.014 655.2 R(Each)5.507 E F2(spec)3.006 +E F1 .506(should be in the format `)3.006 F(`)-.74 E F2(class)A F0(:)A F2 +(\214le)3.006 E F1 -.74('')C(where)189 667.2 Q F2(class)3.049 E F0(:)A F1 .549 +(is optional and def)3.049 F .549(aults to `)-.1 F(`implicit')-.74 E 3.049 +('. Depending)-.74 F .549(on ho)3.049 F(w)-.25 E F2(send-)3.05 E(mail)189 679.2 +Q F1 1.335(is compiled, v)3.835 F 1.335 +(alid classes are \231implicit\232 \(search through a compiled-in)-.25 F .193 +(list of alias \214le types, for back compatibility\), \231hash\232 \(if)189 +691.2 R/F3 9/Times-Roman@0 SF(NEWDB)2.693 E F1 .193(is speci\214ed\),)2.693 F +.882(\231dbm\232 \(if)189 703.2 R F3(NDBM)3.382 E F1 .882 +(is speci\214ed\), \231stab\232 \(internal symbol table \212 not normally)3.382 +F .475(used unless you ha)189 715.2 R .775 -.15(ve n)-.2 H 2.975(oo).15 G .476 +(ther database lookup\), or \231nis\232 \(if)295.735 715.2 R F3(NIS)2.976 E F1 +.476(is speci\214ed\).)2.976 F EP +%%Page: 34 29 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-34 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(If a list of)189 +96 Q/F2 10/Times-Italic@0 SF(spec)2.5 E F1 2.5(sa)C(re pro)259.26 96 Q(vided,) +-.15 E F2(sendmail)2.5 E F1(searches them in order)2.5 E(.)-.55 E(b)117 112.2 Q +F2(N)A F1(/)A F2(M)A F1 1.589(Insist on at least)189 112.2 R F2(N)4.089 E F1 +1.588(blocks free on the \214lesystem that holds the queue \214les)4.089 F .19 +(before accepting email via SMTP)189 124.2 R 5.19(.I)-1.11 G 2.69(ft)334.09 +124.2 S .19(here is insuf)342.89 124.2 R .19(\214cient space)-.25 F F2 +(sendmail)2.69 E F1(gi)2.69 E -.15(ve)-.25 G(s).15 E 3.67(a4)189 136.2 S 1.17 +(52 response to the MAIL command.)202.11 136.2 R 1.17(This in)6.17 F 1.17 +(vites the sender to try ag)-.4 F(ain)-.05 E(later)189 148.2 Q 5.986(.T)-.55 G +.986(he optional)220.816 148.2 R F2(M)3.486 E F1 .987 +(is a maximum message size adv)3.486 F .987(ertised in the ESMTP)-.15 F +(EHLO response.)189 160.2 Q(It is currently otherwise unused.)5 E(B)117 176.4 Q +F2(c)A F1 1.445(Set the blank substitution character to)189 176.4 R F2(c)3.945 +E F1 6.444(.U)C 1.444(nquoted spaces in addresses are)371.594 176.4 R +(replaced by this character)189 188.4 Q 5(.D)-.55 G(ef)305.63 188.4 Q +(aults to space \(i.e., no change is made\).)-.1 E 67.56(cI)117 204.6 S 3.892 +(fa)192.33 204.6 S 3.892(no)203.992 204.6 S 1.393(utgoing mailer is mark) +217.884 204.6 R 1.393(ed as being e)-.1 F(xpensi)-.15 E -.15(ve)-.25 G 3.893 +(,d).15 G(on')415.294 204.6 Q 3.893(tc)-.18 G 1.393(onnect immedi-)439.557 +204.6 R(ately)189 216.6 Q 6.164(.T)-.65 G 1.164 +(his requires that queueing be compiled in, since it will depend on a)222.564 +216.6 R(queue run process to actually send the mail.)189 228.6 Q(C)117 244.8 Q +F2(N)A F1 1.49(Checkpoints the queue e)189 244.8 R -.15(ve)-.25 G(ry).15 E F2 +(N)3.99 E F1(\(def)3.99 E 1.49(ault 10\) addresses sent.)-.1 F 1.49 +(If your system)6.49 F .785(crashes during deli)189 256.8 R -.15(ve)-.25 G .785 +(ry to a lar).15 F .785(ge list, this pre)-.18 F -.15(ve)-.25 G .785 +(nts retransmission to an).15 F 3.285(yb)-.15 G(ut)496.22 256.8 Q +(the last recipients.)189 268.8 Q(d)117 285 Q F2(x)A F1(Deli)189 285 Q -.15(ve) +-.25 G 2.5(ri).15 G 2.5(nm)223.87 285 S(ode)239.15 285 Q F2(x)2.5 E F1 5(.L)C +-2.25 -.15(eg a)274.14 285 T 2.5(lm).15 G(odes are:)300.88 285 Q 17.22(iD)229 +301.2 S(eli)256.22 301.2 Q -.15(ve)-.25 G 2.5(ri).15 G(nteracti)283.87 301.2 Q +-.15(ve)-.25 G(ly \(synchronously\)).15 E 15(bD)229 313.2 S(eli)256.22 313.2 Q +-.15(ve)-.25 G 2.5(ri).15 G 2.5(nb)283.87 313.2 S(ackground \(asynchronously\)) +296.37 313.2 Q 15(qJ)229 325.2 S(ust queue the message \(deli)252.89 325.2 Q +-.15(ve)-.25 G 2.5(rd).15 G(uring queue run\))382.74 325.2 Q(Def)189 341.4 Q +1.32(aults to `)-.1 F(`b')-.74 E 3.82('i)-.74 G 3.82(fn)261.64 341.4 S 3.82(oo) +273.79 341.4 S 1.32(ption is speci\214ed, `)287.61 341.4 R(`i')-.74 E 3.82('i) +-.74 G 3.82(fi)385.57 341.4 S 3.82(ti)395.5 341.4 S 3.82(ss)404.88 341.4 S 1.32 +(peci\214ed b)416.48 341.4 R 1.32(ut gi)-.2 F -.15(ve)-.25 G 3.82(nn).15 G(o) +499 341.4 Q(ar)189 353.4 Q(gument \(i.e., `)-.18 E(`Od')-.74 E 2.5('i)-.74 G +2.5(se)278.98 353.4 S(qui)289.81 353.4 Q -.25(va)-.25 G(lent to `).25 E(`Odi') +-.74 E('\).)-.74 E 64.78(DI)117 369.6 S 2.736(fs)192.33 369.6 S .236(et, reb) +202.286 369.6 R .236(uild the alias database if necessary and possible.)-.2 F +.235(If this option is not)5.236 F(set,)189 381.6 Q F2(sendmail)3.385 E F1 .885 +(will ne)3.385 F -.15(ve)-.25 G 3.385(rr).15 G(eb)292.96 381.6 Q .885 +(uild the alias database unless e)-.2 F .885(xplicitly requested)-.15 F(using) +189 393.6 Q F0(\255bi)2.5 E F1(.)A(e)117 409.8 Q F2(x)A F1 +(Dispose of errors using mode)189 409.8 Q F2(x)2.5 E F1 5(.T)C(he v)327.31 +409.8 Q(alues for)-.25 E F2(x)2.5 E F1(are:)2.5 E 15(pP)229 426 S +(rint error messages \(def)254.56 426 Q(ault\))-.1 E 15(qN)229 438 S 2.5(om) +256.22 438 S(essages, just gi)271.5 438 Q .3 -.15(ve ex)-.25 H(it status).15 E +12.22(mM)229 450 S(ail back errors)257.89 450 Q 12.78(wW)229 462 S +(rite back errors \(mail if user not logged in\))258.44 462 Q 15.56(eM)229 474 +S(ail back errors and gi)257.89 474 Q .3 -.15(ve z)-.25 H(ero e).15 E +(xit stat al)-.15 E -.1(wa)-.1 G(ys).1 E(E)117 494.4 Q F2(\214le/messa)A -.1 +(ge)-.1 G F1 .549(Prepend error messages with the indicated message.)189 494.4 +R .549(If it be)5.549 F .549(gins with a slash,)-.15 F .107(it is assumed to b\ +e the pathname of a \214le containing a message \(this is the rec-)189 506.4 R +1.317(ommended setting\).)189 518.4 R 1.316 +(Otherwise, it is a literal message.)6.317 F 1.316(The error \214le might)6.316 +F .99 +(contain the name, email address, and/or phone number of a local postmaster)189 +530.4 R .429(who could pro)189 542.4 R .429(vide assistance in to end users.) +-.15 F .428(If the option is missing or null,)5.429 F .342 +(or if it names a \214le which does not e)189 554.4 R .342 +(xist or which is not readable, no message)-.15 F(is printed.)189 566.4 Q 68.67 +(fS)117 582.6 S -2.25 -.2(av e)194.56 582.6 T 2.399 +(Unix-style \231From\232 lines at the front of headers.)5.1 F 2.399 +(Normally the)7.399 F 4.899(ya)-.15 G(re)496.23 582.6 Q +(assumed redundant and discarded.)189 594.6 Q(F)117 610.8 Q F2(mode)A F1 +(The \214le mode for queue \214les.)189 610.8 Q(g)117 627 Q F2(n)A F1 .933 +(Set the def)189 627 R .933(ault group id for mailers to run in to)-.1 F F2(n) +3.433 E F1 5.933(.D)C(ef)408.966 627 Q .933(aults to 1.)-.1 F .934(The v)5.934 +F(alue)-.25 E(can also be gi)189 639 Q -.15(ve)-.25 G 2.5(na).15 G 2.5(sas) +264.69 639 S(ymbolic group name.)281.91 639 Q 64.78(GA)117 655.2 S(llo)196.22 +655.2 Q 3.492(wf)-.25 G .992(uzzy matching on the GECOS \214eld.)220.572 655.2 +R .991(If this \215ag is set, and the usual)5.991 F .793(user name lookups f) +189 667.2 R .793(ail \(that is, there is no alias with this name and a)-.1 F F2 +-.1(ge)3.294 G(tpw-).1 E(nam)189 679.2 Q F1 -.1(fa)3.702 G 1.202 +(ils\), sequentially search the passw).1 F 1.201 +(ord \214le for a matching entry in the)-.1 F 1.446(GECOS \214eld.)189 691.2 R +1.446(This also requires that MA)6.446 F 1.446(TCHGECOS be turned on during) +-1.11 F 2.5(compilation. This)189 703.2 R(option is not recommended.)2.5 E EP +%%Page: 35 30 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-35)452.9 60 Q/F1 10/Times-Roman@0 SF(h)117 96 Q/F2 10/Times-Italic@0 SF +(N)A F1 1.274(The maximum hop count.)189 96 R 1.274(Messages that ha)6.274 F +1.574 -.15(ve b)-.2 H 1.273(een processed more than).15 F F2(N)3.773 E F1 +(times are assumed to be in a loop and are rejected.)189 108 Q(Def)5 E +(aults to 25.)-.1 E(H)117 124.2 Q F2(\214le)A F1 +(Specify the help \214le for SMTP)189 124.2 Q(.)-1.11 E 69.22(iI)117 140.4 S +1.014(gnore dots in incoming messages.)192.33 140.4 R 1.014(This is al)6.014 F +-.1(wa)-.1 G 1.014(ys disabled \(that is, dots are).1 F(al)189 152.4 Q -.1(wa) +-.1 G(ys accepted\) when reading SMTP mail.).1 E 68.67(II)117 168.6 S .62 +(nsist that the BIND name serv)192.33 168.6 R .619(er be running to resolv)-.15 +F 3.119(eh)-.15 G .619(ost names.)421.524 168.6 R .619(If this is)5.619 F .945 +(not set and the name serv)189 180.6 R .945(er is not running, the)-.15 F F2 +(/etc/hosts)3.445 E F1 .945(\214le will be consid-)3.445 F .188(ered complete.) +189 192.6 R .188(In general, you do w)5.188 F .188 +(ant to set this option if your)-.1 F F2(/etc/hosts)2.687 E F1(\214le)2.687 E +.412(does not include all hosts kno)189 204.6 R .412 +(wn to you or if you are using the MX \(mail for)-.25 F(-)-.2 E -.1(wa)189 +216.6 S .315(rding\) feature of the BIND name serv).1 F(er)-.15 E 5.315(.T)-.55 +G .315(he name serv)373.955 216.6 R .314(er will still be con-)-.15 F 1.522 +(sulted e)189 228.6 R -.15(ve)-.25 G 4.022(ni).15 G 4.022(ft)242.194 228.6 S +1.523(his option is not set, b)252.326 228.6 R(ut)-.2 E F2(sendmail)4.023 E F1 +1.523(will feel free to resort to)4.023 F(reading)189 240.6 Q F2(/etc/hosts) +3.053 E F1 .553(if the name serv)3.053 F .552(er is not a)-.15 F -.25(va)-.2 G +3.052(ilable. Thus,).25 F .552(you should)3.052 F F2(ne)3.052 E(ver)-.15 E F1 +(set this option if you do not run the name serv)189 252.6 Q(er)-.15 E(.)-.55 E +69.22(jI)117 268.8 S 3.128(fs)192.33 268.8 S .628 +(et, send error messages in MIME format \(see RFC1341 and RFC1344 for)202.678 +268.8 R(details\).)189 280.8 Q(J)117 297 Q F2(path)A F1 4.923 +(Set the path for searching for users' .forw)189 297 R 4.923(ard \214les.)-.1 F +4.922(The def)9.922 F 4.922(ault is)-.1 F(\231$z/.forw)189 309 Q 2.868 +(ard\232. Some)-.1 F .368 +(sites that use the automounter may prefer to change this)2.868 F .676 +(to \231/v)189 321 R(ar/forw)-.25 E .676 +(ard/$u\232 to search a \214le with the same name as the user in a sys-)-.1 F +.924(tem directory)189 333 R 5.924(.I)-.65 G 3.424(tc)254.628 333 S .924 +(an also be set to a sequence of paths separated by colons;)265.272 333 R F2 +(sendmail)189 345 Q F1 .645 +(stops at the \214rst \214le it can successfully and safely open.)3.146 F -.15 +(Fo)5.645 G 3.145(re).15 G(xam-)483.45 345 Q 1.535(ple, \231/v)189 357 R +(ar/forw)-.25 E(ard/$u:$z/.forw)-.1 E 1.535(ard\232 will search \214rst in /v) +-.1 F(ar/forw)-.25 E(ard/)-.1 E F2(username)A F1(and then in)189 369 Q F2 +(~username)2.5 E F1(/.forw)A(ard \(b)-.1 E +(ut only if the \214rst \214le does not e)-.2 E(xist\).)-.15 E(k)117 385.2 Q F2 +(N)A F1 .196 +(The maximum number of open connections that will be cached at a time.)189 +385.2 R(The)5.196 E(def)189 397.2 Q 1.956(ault is one.)-.1 F 1.956 +(This delays closing the current connection until either this)6.956 F(in)189 +409.2 Q -.2(vo)-.4 G .516(cation of).2 F F2(sendmail)3.016 E F1 .516 +(needs to connect to another host or it terminates.)3.016 F(Set-)5.515 E 1.958 +(ting it to zero def)189 421.2 R 1.958(aults to the old beha)-.1 F(vior)-.2 E +4.459(,t)-.4 G 1.959(hat is, connections are closed)379.244 421.2 R +(immediately)189 433.2 Q(.)-.65 E(K)117 449.4 Q F2(timeout)A F1 .883 +(The maximum amount of time a cached connection will be permitted to idle)189 +449.4 R 2.746(without acti)189 461.4 R(vity)-.25 E 7.746(.I)-.65 G 5.246(ft) +267.482 461.4 S 2.746(his time is e)278.838 461.4 R 2.746 +(xceeded, the connection is immediately)-.15 F 4.423(closed. This)189 473.4 R +-.25(va)4.423 G 1.922(lue should be small \(on the order of ten minutes\).).25 +F(Before)6.922 E F2(sendmail)189 485.4 Q F1 1.286 +(uses a cached connection, it al)3.786 F -.1(wa)-.1 G 1.287 +(ys sends a NOOP \(no operation\)).1 F 2.058 +(command to check the connection; if this f)189 497.4 R 2.058 +(ails, it reopens the connection.)-.1 F .478(This k)189 509.4 R .478 +(eeps your end from f)-.1 F .478(ailing if the other end times out.)-.1 F .478 +(The point of this)5.478 F 3.099(option is to be a good netw)189 521.4 R 3.099 +(ork neighbor and a)-.1 F -.2(vo)-.2 G 3.099(id using up e).2 F(xcessi)-.15 E +-.15(ve)-.25 G(resources on the other end.)189 533.4 Q(The def)5 E +(ault is \214v)-.1 E 2.5(em)-.15 G(inutes.)383.99 533.4 Q 69.22(lI)117 549.6 S +3.14(ft)192.33 549.6 S .64(here is an \231Errors-T)201.58 549.6 R .64 +(o:\232 header)-.8 F 3.14(,s)-.4 G .64 +(end error messages to the addresses listed)333.53 549.6 R 3.951(there. The)189 +561.6 R 3.951(yn)-.15 G 1.451(ormally go to the en)247.292 561.6 R -.15(ve)-.4 +G 1.451(lope sender).15 F 6.451(.U)-.55 G 1.451(se of this option causes) +405.428 561.6 R F2(sendmail)189 573.6 Q F1(to violate RFC 1123.)2.5 E(L)117 +589.8 Q F2(n)A F1(Set the def)189 589.8 Q(ault log le)-.1 E -.15(ve)-.25 G 2.5 +(lt).15 G(o)288.77 589.8 Q F2(n)2.5 E F1 5(.D)C(ef)315.99 589.8 Q(aults to 9.) +-.1 E 64.22(mS)117 606 S(end to me too, e)194.56 606 Q -.15(ve)-.25 G 2.5(ni) +.15 G 2.5(fIa)278.04 606 S 2.5(mi)294.14 606 S 2.5(na)307.2 606 S 2.5(na)319.14 +606 S(lias e)331.08 606 Q(xpansion.)-.15 E(M)117 622.2 Q F2 1.666(xv)C(alue) +-1.666 E F1 1.312(Set the macro)189 622.2 R F2(x)3.812 E F1(to)3.812 E F2 +(value)3.812 E F1 6.312(.T)C 1.312 +(his is intended only for use from the command)306.852 622.2 R(line.)189 634.2 +Q 67(nV)117 650.4 S(alidate the RHS of aliases when reb)195.11 650.4 Q +(uilding the alias database.)-.2 E 67(oA)117 666.6 S 1.786 +(ssume that the headers may be in old format, i.e., spaces delimit names.) +196.22 666.6 R .432(This actually turns on an adapti)189 678.6 R .733 -.15 +(ve a)-.25 H .433(lgorithm: if an).15 F 2.933(yr)-.15 G .433 +(ecipient address contains)403.154 678.6 R 5.09(ac)189 690.6 S 2.589 +(omma, parenthesis, or angle brack)202.97 690.6 R 2.589 +(et, it will be assumed that commas)-.1 F .484(already e)189 702.6 R 2.984 +(xist. If)-.15 F .485(this \215ag is not on, only commas delimit names.)2.984 F +.485(Headers are)5.485 F(al)189 714.6 Q -.1(wa)-.1 G +(ys output with commas between the names.).1 E EP +%%Page: 36 31 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-36 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(O)117 96 Q/F2 10 +/Times-Italic@0 SF(options)A F1(Set serv)189 96 Q(er SMTP options.)-.15 E +(The options are)5 E F2 -.1(ke)2.5 G(y=value)-.2 E F1 2.5(pairs. Kno)2.5 F +(wn k)-.25 E -.15(ey)-.1 G 2.5(sa).15 G(re:)488.82 96 Q 52.83(Port Name/number) +229 112.2 R(of listening port \(def)2.5 E(aults to "smtp"\))-.1 E 48.95 +(Addr Address)229 124.2 R(mask \(def)2.5 E(aults IN)-.1 E(ADDR_ANY\))-.35 E +-.15(Fa)229 136.2 S 41.31(mily Address).15 F -.1(fa)2.5 G(mily \(def).1 E +(aults to INET\))-.1 E 44.5(Listen Size)229 148.2 R(of listen queue \(def)2.5 E +(aults to 10\))-.1 E(The)189 164.4 Q F2(Addr)4.114 E F1 1.614 +(ess mask may be a numeric address in dot notation or a netw)B(ork)-.1 E(name.) +189 176.4 Q(p)117 192.6 Q F2(opt,opt,...)1.666 E F1 1.22(Set the pri)189 192.6 +R -.25(va)-.25 G -.15(cy).25 G F2(opt)3.871 E F1 3.721(ions. `)B(`Pri)-.74 E +-.25(va)-.25 G -.15(cy).25 G 2.701 -.74('' i).15 H 3.721(sr).74 G 1.221 +(eally a misnomer; man)351.854 192.6 R 3.721(yo)-.15 G 3.721(ft)460.468 192.6 S +1.221(hese are)470.299 192.6 R 2.419(just a w)189 204.6 R 2.418 +(ay of insisting on stricter adherence to the SMTP protocol.)-.1 F(The)7.418 E +F2(opt)189 216.6 Q F1(ions can be selected from:)A 40.26(public Allo)229 232.8 +R 2.5(wo)-.25 G(pen access)329.01 232.8 Q 11.38(needmailhelo Insist)229 244.8 R +(on HELO or EHLO command before MAIL)2.5 E(neede)229 256.8 Q 9.87 +(xpnhelo Insist)-.15 F(on HELO or EHLO command before EXPN)2.5 E(noe)229 268.8 +Q 35.97(xpn Disallo)-.15 F 2.5(wE)-.25 G(XPN entirely)341.23 268.8 Q 12.5 +(needvrfyhelo Insist)229 280.8 R(on HELO or EHLO command before VRFY)2.5 E(no) +229 292.8 Q 38.75(vrfy Disallo)-.15 F 2.5(wV)-.25 G(RFY entirely)342.34 292.8 Q +14.71(restrictmailq Restrict)229 304.8 R(mailq command)2.5 E 19.16 +(restrictqrun Restrict)229 316.8 R(\255q command line \215ag)2.5 E 24.16 +(noreceipts Ignore)229 328.8 R(Return-Receipt-T)2.5 E(o: header)-.8 E(goa)229 +340.8 Q -.1(wa)-.15 G 36.91(yD).1 G(isallo)303.98 340.8 Q 2.5(we)-.25 G +(ssentially all SMTP status queries)339.56 340.8 Q(authw)229 352.8 Q 11.48 +(arnings Put)-.1 F(X-Authentication-W)2.5 E(arning: headers in messages)-.8 E +1.565(The \231goa)189 369 R -.1(wa)-.15 G 1.565 +(y\232 pseudo-\215ag sets all \215ags e).1 F 1.566 +(xcept \231restrictmailq\232 and \231restric-)-.15 F 4.299(tqrun\232. If)189 +381 R 1.798(mailq is restricted, only people in the same group as the queue) +4.299 F .946(directory can print the queue.)189 393 R .946 +(If queue runs are restricted, only root and the)5.946 F -.25(ow)189 405 S .178 +(ner of the queue directory can run the queue.).25 F .178(Authentication W) +5.178 F .178(arnings add)-.8 F -.1(wa)189 417 S .008(rnings about v).1 F .008 +(arious conditions that may indicate attempts to spoof the mail)-.25 F +(system, such as using an non-standard queue directory)189 429 Q(.)-.65 E(P)117 +445.2 Q F2(postmaster)A F1 1.115 +(If set, copies of error messages will be sent to the named)189 445.2 R F2 +(postmaster)3.614 E F1 6.114(.O)C(nly)491.22 445.2 Q .397(the header of the f) +189 457.2 R .398(ailed message is sent.)-.1 F .398 +(Since most errors are user problems,)5.398 F .564 +(this is probably not a good idea on lar)189 469.2 R .563(ge sites, and ar)-.18 +F .563(guably contains all sorts)-.18 F .05(of pri)189 481.2 R -.25(va)-.25 G +.35 -.15(cy v).25 H .05(iolations, b).15 F .05 +(ut it seems to be popular with certain operating systems)-.2 F -.15(ve)189 +493.2 S(ndors.).15 E(q)117 509.4 Q F2(factor)A F1(Use)189 509.4 Q F2(factor) +3.098 E F1 .597 +(as the multiplier in the map function to decide when to just queue)3.098 F +.425(up jobs rather than run them.)189 521.4 R .425(This v)5.425 F .425 +(alue is di)-.25 F .426(vided by the dif)-.25 F .426(ference between)-.25 F +1.064(the current load a)189 533.4 R -.15(ve)-.2 G 1.064(rage and the load a) +.15 F -.15(ve)-.2 G 1.064(rage limit \().15 F F0(x)A F1 1.063 +(\215ag\) to determine the)3.564 F(maximum message priority that will be sent.) +189 545.4 Q(Def)5 E(aults to 600000.)-.1 E(Q)117 561.6 Q F2(dir)A F1 +(Use the named)189 561.6 Q F2(dir)2.5 E F1(as the queue directory)2.5 E(.)-.65 +E(r)117 577.8 Q F2(timeouts)1.666 E F1 -.35(Ti)189 577.8 S 3.938 +(meout reads after).35 F F2(time)6.438 E F1(interv)6.438 E 6.438(al. The)-.25 F +F2(timeouts)6.438 E F1(ar)6.438 E 3.938(gument is a list of)-.18 F F2 -.1(ke) +189 589.8 S(ywor)-.2 E(d=value)-.37 E F1 3.61(pairs. The)3.61 F 1.11 +(recognized timeouts and their def)3.61 F 1.11(ault v)-.1 F 1.11(alues, and) +-.25 F(their minimum v)189 601.8 Q +(alues speci\214ed in RFC 1123 section 5.3.2 are:)-.25 E EP +%%Page: 37 32 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-37)452.9 60 Q/F1 10/Times-Roman@0 SF 23.6(initial w)229 96 R +(ait for initial greeting message [5m, 5m])-.1 E 29.72(helo reply)229 108 R +(to HELO or EHLO command [5m, none])2.5 E 29.16(mail reply)229 120 R +(to MAIL command [10m, 5m])2.5 E 31.39(rcpt reply)229 132 R +(to RCPT command [1h, 5m])2.5 E 16.94(datainit reply)229 144 R(to D)2.5 E -1.21 +-1.11(AT A)-.4 H(command [5m, 2m])3.61 E 8.06(datablock data)229 156 R +(block read [1h, 3m])2.5 E 12.5(data\214nal reply)229 168 R(to \214nal `)2.5 E +(`.)-.74 E 1.48 -.74('' i)-.7 H 2.5(nd).74 G(ata [1h, 10m])363.47 168 Q 32.5 +(rset reply)229 180 R(to RSET command [5m, none])2.5 E 31.38(quit reply)229 192 +R(to Q)2.5 E(UIT command [2m, none])-.1 E 28.05(misc reply)229 204 R +(to NOOP and VERB commands [2m, none])2.5 E 7.5(command command)229 216 R +(read [1h, 5m])2.5 E 26.94(ident IDENT)229 228 R(protocol timeout [30s, none]) +2.5 E .798(All b)189 244.2 R .798(ut \231command\232 apply to client SMTP)-.2 F +5.798(.F)-1.11 G .798(or back compatibility)373.406 244.2 R 3.299(,at)-.65 G +(imeout)476.22 244.2 Q(with no `)189 256.2 Q(`k)-.74 E -.15(ey)-.1 G -.1(wo).15 +G(rd=').1 E 2.5('p)-.74 G(art will set all of the longer v)281.4 256.2 Q +(alues.)-.25 E 65.33(RN)117 272.4 S(ormally)196.22 272.4 Q(,)-.65 E/F2 10 +/Times-Italic@0 SF(sendmail)4.154 E F1 1.653(tries to eliminate an)4.154 F +4.153(yu)-.15 G 1.653(nnecessary e)371.721 272.4 R 1.653(xplicit routes when) +-.15 F .931(sending an error message \(as discussed in RFC 1123 \247 5.2.6\).) +189 284.4 R -.15(Fo)5.931 G 3.431(re).15 G(xample,)472.06 284.4 Q +(when sending an error message to)189 296.4 Q(<@kno)229 312.6 Q(wn1,@kno)-.25 E +(wn2,@unkno)-.25 E(wn:user@kno)-.25 E(wn3>)-.25 E F2(sendmail)189 328.8 Q F1 +.46(will strip of)2.96 F 2.96(ft)-.25 G .46(he \231@kno)284.48 328.8 R .46 +(wn1\232 in order to mak)-.25 F 2.96(et)-.1 G .46(he route as direct as)422.74 +328.8 R 3.429(possible. Ho)189 340.8 R(we)-.25 E -.15(ve)-.25 G 1.729 -.4(r, i) +.15 H 3.429(ft).4 G(he)284.057 340.8 Q F0(R)3.429 E F1 .929 +(option is set, this will be disabled, and the mail)3.429 F .362 +(will be sent to the \214rst address in the route, e)189 352.8 R -.15(ve)-.25 G +2.862(ni).15 G 2.862(fl)391.452 352.8 S .362(ater addresses are kno)400.424 +352.8 R(wn.)-.25 E(This may be useful if you are caught behind a \214re)189 +364.8 Q -.1(wa)-.25 G(ll.).1 E 68.11(sB)117 381 S 2.729(es)195.67 381 S(uper) +206.729 381 Q .229(-safe when running things, i.e., al)-.2 F -.1(wa)-.1 G .229 +(ys instantiate the queue \214le, e).1 F -.15(ve)-.25 G(n).15 E .739 +(if you are going to attempt immediate deli)189 393 R -.15(ve)-.25 G(ry).15 E +(.)-.65 E F2(Sendmail)5.739 E F1(al)3.239 E -.1(wa)-.1 G .739(ys instantiates) +.1 F(the queue \214le before returning control the client under an)189 405 Q +2.5(yc)-.15 G(ircumstances.)429.35 405 Q(S)117 421.2 Q F2(\214le)A F1 +(Log statistics in the named)189 421.2 Q F2(\214le)2.5 E F1(.)A(t)117 437.4 Q +F2(tzinfo)A F1 .716(Set the local time zone info to)189 437.4 R F2(tzinfo)3.217 +E F1 3.217<8a66>3.217 G .717(or e)358.499 437.4 R .717 +(xample, \231PST8PDT\232.)-.15 F(Actually)5.717 E(,)-.65 E .315 +(if this is not set, the TZ en)189 449.4 R .314(vironment v)-.4 F .314 +(ariable is cleared \(so the system def)-.25 F(ault)-.1 E .55 +(is used\); if set b)189 461.4 R .55(ut null, the user')-.2 F 3.051(sT)-.55 G +3.051(Zv)334.032 461.4 S .551(ariable is used, and if set and non-null)347.943 +461.4 R(the TZ v)189 473.4 Q(ariable is set to this v)-.25 E(alue.)-.25 E(T)117 +489.6 Q F2(rtime/wtime)A F1 1.604(Set the queue timeout to)189 489.6 R F2 +(rtime)4.103 E F1 6.603(.A)C 1.603(fter this interv)334.172 489.6 R 1.603 +(al, messages that ha)-.25 F 1.903 -.15(ve n)-.2 H(ot).15 E 1.251 +(been successfully sent will be returned to the sender)189 501.6 R 6.252(.D) +-.55 G(ef)422.724 501.6 Q 1.252(aults to \214v)-.1 F 3.752(ed)-.15 G(ays.) +488.17 501.6 Q .546(The optional)189 513.6 R F2(wtime)3.046 E F1 .546 +(is the time after which a w)3.046 F .546(arning message is sent.)-.1 F .546 +(If it is)5.546 F(missing or zero then no w)189 525.6 Q +(arning messages are sent.)-.1 E(u)117 541.8 Q F2(n)A F1 .175(Set the def)189 +541.8 R .175(ault userid for mailers to)-.1 F F2(n)2.675 E F1 5.175(.M)C .175 +(ailers without the)355.28 541.8 R F2(S)2.676 E F1 .176(\215ag in the mailer) +2.676 F .084(de\214nition will run as this user)189 553.8 R 5.084(.D)-.55 G(ef) +322.844 553.8 Q .084(aults to 1.)-.1 F .084(The v)5.084 F .084 +(alue can also be gi)-.25 F -.15(ve)-.25 G 2.583(na).15 G 2.583(sa)493.087 +553.8 S(symbolic user name.)189 565.8 Q(U)117 582 Q F2(udbspec)A F1 +(The user database speci\214cation.)189 582 Q 67(vR)117 598.2 S .411(un in v) +195.67 598.2 R .411(erbose mode.)-.15 F .411(If this is set,)5.411 F F2 +(sendmail)2.912 E F1 .412(adjusts options)2.912 F F0(c)2.912 E F1(\(don')2.912 +E 2.912(tc)-.18 G(onnect)477.34 598.2 Q .428(to e)189 610.2 R(xpensi)-.15 E +.728 -.15(ve m)-.25 H .428(ailers\) and).15 F F0(d)2.928 E F1(\(deli)2.928 E +-.15(ve)-.25 G .428(ry mode\) so that all mail is deli).15 F -.15(ve)-.25 G +.427(red com-).15 F .048 +(pletely in a single job so that you can see the entire deli)189 622.2 R -.15 +(ve)-.25 G .048(ry process.).15 F(Option)5.048 E F0(v)2.548 E F1(should)189 +634.2 Q F2(ne)3.39 E(ver)-.15 E F1 .889 +(be set in the con\214guration \214le; it is intended for command line)3.39 F +(use only)189 646.2 Q(.)-.65 E(V)117 662.4 Q F2(fallbac)A(khost)-.2 E F1 .963 +(If speci\214ed, the)189 662.4 R F2(fallbac)3.464 E(khost)-.2 E F1 .964 +(acts lik)3.464 F 3.464(eav)-.1 G .964(ery lo)358.606 662.4 R 3.464(wp)-.25 G +.964(riority MX on e)398.054 662.4 R -.15(ve)-.25 G .964(ry host.).15 F +(This is intended to be used by sites with poor netw)189 674.4 Q(ork connecti) +-.1 E(vity)-.25 E(.)-.65 E 64.78(wI)117 690.6 S 4.06(fy)192.33 690.6 S 1.56 +(ou are the \231best\232 \(that is, lo)204.72 690.6 R 1.56 +(west preference\) MX for a gi)-.25 F -.15(ve)-.25 G 4.06(nh).15 G 1.56 +(ost, you)470.77 690.6 R .433 +(should normally detect this situation and treat that condition specially)189 +702.6 R 2.933(,b)-.65 G 2.933(yf)481.277 702.6 S(or)492.54 702.6 Q(-)-.2 E -.1 +(wa)189 714.6 S .594 +(rding the mail to a UUCP feed, treating it as local, or whate).1 F -.15(ve) +-.25 G 4.193 -.55(r. H).15 H -.25(ow).55 G -2.15 -.25(ev e).25 H -.4(r,).25 G +EP +%%Page: 38 33 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-38 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 1.897 +(in some cases \(such as Internet \214re)189 96 R -.1(wa)-.25 G 1.898 +(lls\) you may w).1 F 1.898(ant to try to connect)-.1 F .352 +(directly to that host as though it had no MX records at all.)189 108 R .352 +(Setting this option)5.352 F(causes)189 120 Q/F2 10/Times-Italic@0 SF(sendmail) +3.032 E F1 .532(to try this.)3.032 F .532(The do)5.532 F .533 +(wnside is that errors in your con\214guration)-.25 F .543(are lik)189 132 R +.543(ely to be diagnosed as \231host unkno)-.1 F .542 +(wn\232 or \231message timed out\232 instead)-.25 F +(of something more meaningful.)189 144 Q(This option is disrecommended.)5 E(x) +117 160.2 Q F2(LA)A F1 .108(When the system load a)189 160.2 R -.15(ve)-.2 G +.108(rage e).15 F(xceeds)-.15 E F2(LA)2.608 E F1 2.608(,j)C .109 +(ust queue messages \(i.e., don')367.546 160.2 R 2.609(tt)-.18 G(ry)495.67 +160.2 Q(to send them\).)189 172.2 Q(Def)5 E(aults to 8.)-.1 E(X)117 188.4 Q F2 +(LA)A F1 1.251(When the system load a)189 188.4 R -.15(ve)-.2 G 1.251(rage e) +.15 F(xceeds)-.15 E F2(LA)3.751 E F1 3.751(,r)C 1.251 +(efuse incoming SMTP connec-)376.097 188.4 R 2.5(tions. Def)189 200.4 R +(aults to 12.)-.1 E(y)117 216.6 Q F2(fact)A F1 .621(The indicated)189 216.6 R +F2(fact)3.121 E F1 .621(or is added to the priority \(thus)B F2(lowering)3.122 +E F1 .622(the priority of the)3.122 F 1.384 +(job\) for each recipient, i.e., this v)189 228.6 R 1.383 +(alue penalizes jobs with lar)-.25 F 1.383(ge numbers of)-.18 F 2.5 +(recipients. Def)189 240.6 R(aults to 30000.)-.1 E 64.78(YI)117 256.8 S 3.346 +(fs)192.33 256.8 S .846(et, deli)202.896 256.8 R -.15(ve)-.25 G 3.346(re).15 G +.847(ach job that is run from the queue in a separate process.)251.118 256.8 R +(Use)5.847 E .037(this option if you are short of memory)189 268.8 R 2.536(,s) +-.65 G .036(ince the def)350.024 268.8 R .036(ault tends to consume con-)-.1 F +(siderable amounts of memory while the queue is being processed.)189 280.8 Q(z) +117 297 Q F2(fact)A F1 1.644(The indicated)189 297 R F2(fact)4.144 E F1 1.645 +(or is multiplied by the message class \(determined by the)B .923 +(Precedence: \214eld in the user header and the)189 309 R F0(P)3.423 E F1 .923 +(lines in the con\214guration \214le\))3.423 F .819 +(and subtracted from the priority)189 321 R 5.819(.T)-.65 G .819 +(hus, messages with a higher Priority: will)333.255 321 R(be f)189 333 Q -.2 +(avo)-.1 G 2.5(red. Def).2 F(aults to 1800.)-.1 E(Z)117 349.2 Q F2(fact)A F1 +(The)189 349.2 Q F2(fact)3.346 E F1 .846(or is added to the priority e)B -.15 +(ve)-.25 G .846(ry time a job is processed.).15 F .845(Thus, each)5.845 F .942 +(time a job is processed, its priority will be decreased by the indicated v)189 +361.2 R(alue.)-.25 E .297(In most en)189 373.2 R .296 +(vironments this should be positi)-.4 F -.15(ve)-.25 G 2.796(,s).15 G .296 +(ince hosts that are do)378.614 373.2 R .296(wn are all)-.25 F(too often do)189 +385.2 Q(wn for a long time.)-.25 E(Def)5 E(aults to 90000.)-.1 E 67(7S)117 +401.4 S .278(trip input to se)194.56 401.4 R -.15(ve)-.25 G 2.778(nb).15 G .278 +(its for compatibility with old systems.)275.272 401.4 R .279(This shouldn') +5.279 F 2.779(tb)-.18 G(e)499.56 401.4 Q(necessary)189 413.4 Q(.)-.65 E .78 +(All options can be speci\214ed on the command line using the \255o \215ag, b) +117 429.6 R .779(ut most will cause)-.2 F F2(send-)3.279 E(mail)117 441.6 Q F1 +.236(to relinquish its setuid permissions.)2.736 F .237 +(The options that will not cause this are b, d, e, i, L, m,)5.237 F .175 +(o, p, r)117 453.6 R 2.675(,s)-.4 G 2.675(,v)149.345 453.6 S 2.675(,C)158.87 +453.6 S 2.675(,a)170.715 453.6 S .174(nd 7.)180.33 453.6 R .174(Also, M \(de\ +\214ne macro\) when de\214ning the r or s macros is also considered)5.174 F +(\231safe\232.)117 465.6 Q F0 2.5(5.1.7. P)102 489.6 R 2.5<8a70>2.5 G -.18(re) +156.17 489.6 S(cedence de\214nitions).18 E F1 -1.11(Va)142 505.8 S .304 +(lues for the \231Precedence:\232 \214eld may be de\214ned using the)1.11 F F0 +(P)2.805 E F1 .305(control line.)2.805 F .305(The syntax of)5.305 F +(this \214eld is:)117 517.8 Q F0(P)157 534 Q F2(name)A F0(=)A F2(num)A F1 .286 +(When the)117 550.2 R F2(name)2.786 E F1 .285 +(is found in a \231Precedence:\232 \214eld, the message class is set to)2.786 F +F2(num)2.785 E F1 5.285(.H)C .285(igher num-)459.555 550.2 R .479 +(bers mean higher precedence.)117 562.2 R .479(Numbers less than zero ha)5.479 +F .779 -.15(ve t)-.2 H .48(he special property that if an error).15 F 1.11(occ\ +urs during processing the body of the message will not be returned; this is e) +117 574.2 R 1.11(xpected to be)-.15 F .678(used for \231b)117 586.2 R .678 +(ulk\232 mail such as through mailing lists.)-.2 F .678(The def)5.678 F .678 +(ault precedence is zero.)-.1 F -.15(Fo)5.678 G 3.178(re).15 G(xam-)483.45 +586.2 Q(ple, our list of precedences is:)117 598.2 Q(P\214rst-class=0)157 614.4 +Q(Pspecial-deli)157 626.4 Q -.15(ve)-.25 G(ry=100).15 E(Plist=\25530)157 638.4 +Q(Pb)157 650.4 Q(ulk=\25560)-.2 E(Pjunk=\255100)157 662.4 Q .8 +(People writing mailing list e)117 678.6 R .799 +(xploders are encouraged to use \231Precedence: list\232.)-.15 F .799(Older v) +5.799 F(ersions)-.15 E(of)117 690.6 Q F2(sendmail)3.759 E F1 1.259 +(\(which discarded all error returns for ne)3.759 F -.05(ga)-.15 G(ti).05 E +1.559 -.15(ve p)-.25 H 1.259(recedences\) didn').15 F 3.76(tr)-.18 G 1.26 +(ecognize this)450.25 690.6 R .255(name, gi)117 702.6 R .255(ving it a def)-.25 +F .255(ault precedence of zero.)-.1 F .254(This allo)5.254 F .254 +(ws list maintainers to see error returns on)-.25 F(both old and ne)117 714.6 Q +2.5(wv)-.25 G(ersions of)193.26 714.6 Q F2(sendmail)2.5 E F1(.)A EP +%%Page: 39 34 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-39)452.9 60 Q 2.5(5.1.8. V)102 96 R 2.5<8a63>2.5 G(on\214guration v) +156.16 96 Q(ersion le)-.1 E -.1(ve)-.15 G(l).1 E/F1 10/Times-Roman@0 SF 2.11 +-.8(To p)142 112.2 T(ro).8 E .51 +(vide compatibility with old con\214guration \214les, the)-.15 F F0(V)3.01 E F1 +.51(line has been added to de\214ne)3.01 F .173(some v)117 124.2 R .173 +(ery basic semantics of the con\214guration \214le.)-.15 F .172 +(These are not intended to be long term sup-)5.173 F 1.84(ports; rather)117 +136.2 R 4.34(,t)-.4 G(he)176.66 136.2 Q 4.34(yd)-.15 G 1.84 +(escribe compatibility features which will probably be remo)200.29 136.2 R -.15 +(ve)-.15 G 4.34(di).15 G 4.34(nf)470.78 136.2 S(uture)483.45 136.2 Q(releases.) +117 148.2 Q F0(N.B.:)142 164.4 Q F1 1.032(these v)3.532 F(ersion)-.15 E/F2 10 +/Times-Italic@0 SF(le)3.532 E(vels)-.15 E F1(ha)3.532 E 1.332 -.15(ve n)-.2 H +1.032(othing to do with the v).15 F(ersion)-.15 E F2(number)3.532 E F1 1.032 +(on the \214les.)3.532 F -.15(Fo)6.032 G(r).15 E -.15(ex)117 176.4 S .384 +(ample, as of this writing v).15 F .384 +(ersion 8 con\214g \214les \(speci\214cally)-.15 F 2.884(,8)-.65 G .384 +(.6\) used v)373.76 176.4 R .384(ersion le)-.15 F -.15(ve)-.25 G 2.884(l5c).15 +G(on\214gu-)475.11 176.4 Q(rations.)117 188.4 Q .031 +(\231Old\232 con\214guration \214les are de\214ned as v)142 204.6 R .031 +(ersion le)-.15 F -.15(ve)-.25 G 2.531(lo).15 G 2.531(ne. V)359.438 204.6 R +.031(ersion le)-1.11 F -.15(ve)-.25 G 2.53(lt).15 G .23 -.1(wo \214)433.84 +204.6 T .03(les mak).1 F 2.53(et)-.1 G(he)494.56 204.6 Q(follo)117 216.6 Q +(wing changes:)-.25 E 12.5(\(1\) Host)122 232.8 R .757(name canoni\214cation \ +\($[ ... $]\) appends a dot if the name is recognized; this gi)3.256 F -.15(ve) +-.25 G(s).15 E .903(the con\214g \214le a w)148.66 244.8 R .903 +(ay of \214nding out if an)-.1 F .903(ything matched.)-.15 F(\(Actually)5.903 E +3.403(,t)-.65 G .902(his just initializes)432.186 244.8 R .424 +(the \231host\232 map with the \231\255a.)148.66 256.8 R 5.424<9a8d>-.7 G .424 +(ag \212 you can reset it to an)280.014 256.8 R .424 +(ything you prefer by declar)-.15 F(-)-.2 E(ing the map e)148.66 268.8 Q +(xplicitly)-.15 E(.\))-.65 E 12.5(\(2\) Def)122 285 R .436(ault host name e)-.1 +F .435(xtension is consistent throughout processing; v)-.15 F .435(ersion le) +-.15 F -.15(ve)-.25 G 2.935(lo).15 G .435(ne con-)473.855 285 R .828 +(\214gurations turned of)148.66 297 R 3.328(fd)-.25 G .828(omain e)243.384 297 +R .828(xtension \(that is, adding the local domain name\) during)-.15 F .597 +(certain points in processing.)148.66 309 R -1.11(Ve)5.597 G .597(rsion le)1.11 +F -.15(ve)-.25 G 3.097(lt).15 G .797 -.1(wo c)326.822 309 T .597 +(on\214gurations are e).1 F .596(xpected to include a)-.15 F +(trailing dot to indicate that the name is already canonical.)148.66 321 Q 12.5 +(\(3\) Local)122 337.2 R .176 +(names that are not aliases are passed through a ne)2.675 F 2.676(wd)-.25 G +.176(istinguished ruleset \214v)388.892 337.2 R .176(e; this)-.15 F .797 +(can be used to append a local relay)148.66 349.2 R 5.797(.T)-.65 G .797 +(his beha)307.676 349.2 R .796(viour can be pre)-.2 F -.15(ve)-.25 G .796 +(nted by resolving the).15 F .62(local name with an initial `@'.)148.66 361.2 R +.621(That is, something that resolv)5.62 F .621(es to a local mailer and a)-.15 +F .844(user name of \231vikki\232 will be passed through ruleset \214v)148.66 +373.2 R .843(e, b)-.15 F .843(ut a user name of \231@vikki\232)-.2 F .328 +(will ha)148.66 385.2 R .628 -.15(ve t)-.2 H .328 +(he `@' stripped, will not be passed through ruleset \214v).15 F .328(e, b)-.15 +F .328(ut will otherwise be)-.2 F 1.509(treated the same as the prior e)148.66 +397.2 R 4.009(xample. The)-.15 F -.15(ex)4.009 G 1.508 +(pectation is that this might be used to).15 F .907(implement a polic)148.66 +409.2 R 3.407(yw)-.15 G .907(here mail sent to \231vikki\232 w)238.171 409.2 R +.908(as handled by a central hub, b)-.1 F .908(ut mail)-.2 F +(sent to \231vikki@localhost\232 w)148.66 421.2 Q(as deli)-.1 E -.15(ve)-.25 G +(red directly).15 E(.)-.65 E -1.11(Ve)142 437.4 S .229(rsion le)1.11 F -.15(ve) +-.25 G 2.729(lt).15 G .229(hree \214les allo)199.828 437.4 R 2.729(w#i)-.25 G +.228(nitiated comments on all lines.)274.374 437.4 R .228 +(Exceptions are backslash)5.228 F(escaped # marks and the $# syntax.)117 449.4 +Q -1.11(Ve)142 465.6 S 1.593(rsion le)1.11 F -.15(ve)-.25 G 4.093(lf).15 G +1.593(our con\214gurations are completely equi)203.106 465.6 R -.25(va)-.25 G +1.594(lent to le).25 F -.15(ve)-.25 G 4.094(lt).15 G 1.594(hree for historical) +429.722 465.6 R(reasons.)117 477.6 Q -1.11(Ve)142 493.8 S .234(rsion le)1.11 F +-.15(ve)-.25 G 2.734<6c8c>.15 G .534 -.15(ve c)202.618 493.8 T .234 +(on\214guration \214les change the def).15 F .234(ault de\214nition of)-.1 F F0 +($w)2.734 E F1 .234(to be just the \214rst)2.734 F(component of the hostname.) +117 505.8 Q(The)142 522 Q F0(V)2.64 E F1 .14(line may ha)2.64 F .44 -.15(ve a) +-.2 H 2.64(no).15 G(ptional)245.8 522 Q F0(/)2.64 E F2(vendor)A F1 .14 +(to indicate that this con\214guration \214le uses modi-)2.64 F +(\214cations speci\214c to a particular v)117 536 Q(endor)-.15 E/F3 7 +/Times-Roman@0 SF(14)272.1 532 Q F1(.)279.1 536 Q F0 2.5(5.1.9. K)102 560 R 2.5 +<8a6b>2.5 G(ey \214le declaration)157.74 560 Q F1 +(Special maps can be de\214ned using the line:)142 576.2 Q +(Kmapname mapclass ar)157 592.4 Q(guments)-.18 E(The)117 608.6 Q F2(mapname) +3.443 E F1 .944(is the handle by which this map is referenced in the re)3.443 F +.944(writing rules.)-.25 F(The)5.944 E F2(map-)3.444 E(class)117 620.6 Q F1 +.301(is the name of a type of map; these are compiled in to)2.801 F F2 +(sendmail)2.8 E F1 5.3(.T)C(he)410.64 620.6 Q F2(ar)2.8 E(guments)-.37 E F1 .3 +(are inter)2.8 F(-)-.2 E .569(preted depending on the class; typically)117 +632.6 R 3.069(,t)-.65 G .569(here w)286.134 632.6 R .569(ould be a single ar) +-.1 F .57(gument naming the \214le con-)-.18 F(taining the map.)117 644.6 Q .32 +LW 76 669.2 72 669.2 DL 80 669.2 76 669.2 DL 84 669.2 80 669.2 DL 88 669.2 84 +669.2 DL 92 669.2 88 669.2 DL 96 669.2 92 669.2 DL 100 669.2 96 669.2 DL 104 +669.2 100 669.2 DL 108 669.2 104 669.2 DL 112 669.2 108 669.2 DL 116 669.2 112 +669.2 DL 120 669.2 116 669.2 DL 124 669.2 120 669.2 DL 128 669.2 124 669.2 DL +132 669.2 128 669.2 DL 136 669.2 132 669.2 DL 140 669.2 136 669.2 DL 144 669.2 +140 669.2 DL 148 669.2 144 669.2 DL 152 669.2 148 669.2 DL 156 669.2 152 669.2 +DL 160 669.2 156 669.2 DL 164 669.2 160 669.2 DL 168 669.2 164 669.2 DL 172 +669.2 168 669.2 DL 176 669.2 172 669.2 DL 180 669.2 176 669.2 DL 184 669.2 180 +669.2 DL 188 669.2 184 669.2 DL 192 669.2 188 669.2 DL 196 669.2 192 669.2 DL +200 669.2 196 669.2 DL 204 669.2 200 669.2 DL 208 669.2 204 669.2 DL 212 669.2 +208 669.2 DL 216 669.2 212 669.2 DL/F4 5/Times-Roman@0 SF(14)93.6 679.6 Q/F5 8 +/Times-Roman@0 SF .214(And of course, v)3.2 J .214 +(endors are encouraged to add themselv)-.12 F .214 +(es to the list of recognized v)-.12 F .214(endors by editing the routine)-.12 +F/F6 8/Times-Italic@0 SF(setvendor)2.214 E F5(in)2.214 E F6(conf)72 692.4 Q(.c) +-.12 E F5(.)A EP +%%Page: 40 35 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-40 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF +(Maps are referenced using the syntax:)142 96 Q($\()157 112.2 Q/F2 10 +/Times-Italic@0 SF(map k)2.5 E -.3(ey)-.1 G F1($@)2.8 E F2(ar)2.5 E(guments) +-.37 E F1($:)2.5 E F2(default)2.5 E F1($\))2.5 E .797 +(where either or both of the)117 128.4 R F2(ar)3.297 E(guments)-.37 E F1(or) +3.297 E F2(default)3.297 E F1 .796(portion may be omitted.)3.297 F(The)5.796 E +F2(ar)3.296 E(guments)-.37 E F1(may)3.296 E .205(appear more than once.)117 +140.4 R .205(The indicated)5.205 F F2 -.1(ke)2.705 G(y)-.2 E F1(and)2.705 E F2 +(ar)2.705 E(guments)-.37 E F1 .205(are passed to the appropriate mapping)2.705 +F 2.503(function. If)117 152.4 R .003(it returns a v)2.503 F .003 +(alue, it replaces the input.)-.25 F .003(If it does not return a v)5.003 F +.003(alue and the)-.25 F F2(default)2.503 E F1(is)2.503 E(speci\214ed, the)117 +164.4 Q F2(default)2.5 E F1(replaces the input.)2.5 E +(Otherwise, the input is unchanged.)5 E .159 +(During replacement of either a map v)142 180.6 R .159(alue or def)-.25 F .159 +(ault the string \231%)-.1 F F2(n)A F1 2.66<9a28>C(where)421.82 180.6 Q F2(n) +2.66 E F1 .16(is a digit\) is)2.66 F .204(replaced by the corresponding)117 +192.6 R F2(ar)2.704 E(gument)-.37 E F1 5.204(.A)C -.18(rg)294 192.6 S .204 +(ument zero is al).18 F -.1(wa)-.1 G .204(ys the database k).1 F -.15(ey)-.1 G +5.203(.F)-.5 G .203(or e)468.127 192.6 R(xam-)-.15 E(ple, the rule)117 204.6 Q +(R$- ! $+)157 220.8 Q($: $\(uucp $1 $@ $2 $: %1 @ %0 . UUCP $\))265 220.8 Q +.436(Looks up the UUCP name in a \(user de\214ned\) UUCP map; if not found it \ +turns it into \231.UUCP\232)117 237 R 2.5(form. The)117 249 R +(database might contain records lik)2.5 E(e:)-.1 E(decv)157 265.2 Q 77.43 +(ax %1@%0.DEC.COM)-.25 F 72.19(research %1@%0.A)157 277.2 R(TT)-1.11 E(.COM) +-.74 E 2.065(The b)142 297.6 R 2.064(uilt in map with both name and class \231\ +host\232 is the host name canonicalization)-.2 F 2.5(lookup. Thus,)117 309.6 R +(the syntax:)2.5 E($\(host)157 325.8 Q F2(hostname)2.5 E F1($\))A(is equi)117 +342 Q -.25(va)-.25 G(lent to:).25 E($[)157 358.2 Q F2(hostname)A F1($])A 1.783 +(There are four prede\214ned database lookup classes: \231dbm\232, \231btree\ +\232, \231hash\232, and \231nis\232.)142 378.6 R .569 +(The \214rst requires that)117 390.6 R F2(sendmail)3.069 E F1 .569 +(be compiled with the)3.069 F F0(ndbm)3.069 E F1 .568(library; the second tw) +3.069 F 3.068(or)-.1 G .568(equire the)463.722 390.6 R F0(db)117 402.6 Q F1 +(library)3.198 E 3.198(,a)-.65 G .698(nd the third requires that)167.466 402.6 +R F2(sendmail)3.198 E F1 .698(be compiled with NIS support.)3.198 F .698 +(All four accept)5.698 F .345(as ar)117 414.6 R .344(guments the same optional\ + \215ags and a \214lename \(or a mapname for NIS; the \214lename is the)-.18 F +.105(root of the database path, so that \231.db\232 or some other e)117 426.6 R +.105(xtension appropriate for the database type)-.15 F +(will be added to get the actual database name\).)117 438.6 Q(Kno)5 E +(wn \215ags are:)-.25 E 58.86(\255o Indicates)117 454.8 R .21 +(that this map is optional \212 that is, if it cannot be opened, no error is) +2.71 F(produced, and)189 466.8 Q F2(sendmail)2.5 E F1(will beha)2.5 E .3 -.15 +(ve a)-.2 H 2.5(si).15 G 2.5(ft)348.9 466.8 S(he map e)357.51 466.8 Q(xisted b) +-.15 E(ut w)-.2 E(as empty)-.1 E(.)-.65 E 56.64(\255N Normally)117 483 R .515 +(when maps are written, the trailing null byte is not included as part)3.015 F +.8(of the k)189 495 R -.15(ey)-.1 G 5.8(.I)-.5 G 3.3(ft)241.32 495 S .799 +(his \215ag is indicated it will be included.)250.73 495 R .799 +(During lookups, only)5.799 F(the null-byte-included form will be searched.)189 +507 Q(See also)5 E F0(\255O.)2.5 E F1 56.64(\255O If)117 523.2 R(neither)4.388 +E F0<ad4e>4.388 E F1(or)4.388 E F0<ad4f>4.388 E F1 1.888(are speci\214ed,)4.388 +F F2(sendmail)4.388 E F1 1.889(uses an adapti)4.388 F 2.189 -.15(ve a)-.25 H +1.889(lgorithm to).15 F 1.025 +(decide whether or not to look for null bytes on the end of k)189 535.2 R -.15 +(ey)-.1 G 3.525(s. It).15 F 1.025(starts by)3.525 F .922 +(trying both; if it \214nds an)189 547.2 R 3.422(yk)-.15 G 1.222 -.15(ey w) +304.29 547.2 T .922(ith a null byte it ne).15 F -.15(ve)-.25 G 3.422(rt).15 G +.922(ries ag)422.684 547.2 R .922(ain without a)-.05 F .124 +(null byte and vice v)189 559.2 R 2.623(ersa. If)-.15 F .123 +(this \215ag is speci\214ed, it ne)2.623 F -.15(ve)-.25 G 2.623(rt).15 G .123 +(ries with a null byte;)421.288 559.2 R .748(this can speed matches b)189 571.2 +R .748(ut is ne)-.2 F -.15(ve)-.25 G 3.249(rn).15 G(ecessary)341.667 571.2 Q +5.749(.I)-.65 G 3.249(fb)386.466 571.2 S(oth)398.045 571.2 Q F0<ad4e>3.249 E F1 +(and)3.249 E F0<ad4f>3.249 E F1 .749(are speci-)3.249 F(\214ed,)189 583.2 Q F2 +(sendmail)4.349 E F1 1.849(will ne)4.349 F -.15(ve)-.25 G 4.349(rt).15 G 1.849 +(ry an)300.156 583.2 R 4.349(ym)-.15 G 1.848(atches at all \212 that is, e) +339.254 583.2 R -.15(ve)-.25 G 1.848(rything will).15 F(appear to f)189 595.2 Q +(ail.)-.1 E<ad61>117 611.4 Q F2(x)A F1 .106(Append the string)189 611.4 R F2(x) +2.606 E F1 .107(on successful matches.)2.606 F -.15(Fo)5.107 G 2.607(re).15 G +.107(xample, the def)387.852 611.4 R(ault)-.1 E F2(host)2.607 E F1(map)2.607 E +(appends a dot on successful matches.)189 623.4 Q 60.53(\255f Do)117 639.6 R +(not fold upper to lo)2.5 E(wer case before looking up the k)-.25 E -.15(ey)-.1 +G(.)-.5 E 56.08(\255m Match)117 655.8 R .085(only \(without replacing the v) +2.585 F 2.585(alue\). If)-.25 F .085(you only care about the e)2.585 F +(xistence)-.15 E 2.618(of a k)189 667.8 R 2.918 -.15(ey a)-.1 H 2.618 +(nd not the v).15 F 2.619(alue \(as you might when searching the NIS map)-.25 F +.447(\231hosts.byname\232 for e)189 679.8 R .447(xample\), this \215ag pre)-.15 +F -.15(ve)-.25 G .447(nts the map from substituting the).15 F -.25(va)189 691.8 +S 4.935(lue. Ho).25 F(we)-.25 E -.15(ve)-.25 G 3.235 -.4(r, T).15 H 2.436 +(he \255a ar).4 F 2.436(gument is still appended on a match, and the)-.18 F +(def)189 703.8 Q(ault is still tak)-.1 E(en if the match f)-.1 E(ails.)-.1 E EP +%%Page: 41 36 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-41)452.9 60 Q/F1 10/Times-Roman@0 SF(The)142 96 Q/F2 10/Times-Italic@0 +SF(dbm)3.874 E F1 1.374 +(map appends the strings \231.pag\232 and \231.dir\232 to the gi)3.874 F -.15 +(ve)-.25 G 3.874<6e8c>.15 G 1.374(lename; the tw)420.268 96 R(o)-.1 E F2(db) +3.874 E F1(-)A(based maps append \231.db\232.)117 108 Q -.15(Fo)5 G 2.5(re).15 +G(xample, the map speci\214cation)246.67 108 Q -.15(Ku)157 124.2 S +(ucp dbm \255o \255N /usr/lib/uucpmap).15 E .77 +(speci\214es an optional map named \231uucp\232 of class \231dbm\232; it al)117 +140.4 R -.1(wa)-.1 G .77(ys has null bytes at the end of).1 F -2.15 -.25(ev e) +117 152.4 T(ry string, and the data is located in /usr/lib/uucpmap.{dir).25 E +(,pag}.)-.4 E .023(The program)142 168.6 R F2(mak)2.523 E(emap)-.1 E F1 .023 +(\(8\) can be used to b)B .023(uild an)-.2 F 2.523(yo)-.15 G 2.523(ft)353.097 +168.6 S .023(he three database-oriented maps.)361.73 168.6 R(It)5.022 E(tak)117 +180.6 Q(es the follo)-.1 E(wing \215ags:)-.25 E 60.53(\255f F)117 196.8 R +(old upper to lo)-.15 E(wer case in the map.)-.25 E 56.64(\255N Include)117 213 +R(null bytes in k)2.5 E -.15(ey)-.1 G(s.).15 E 58.86(\255o Append)117 229.2 R +(to an e)2.5 E(xisting \(old\) \214le.)-.15 E 60.53(\255r Allo)117 245.4 R +3.479(wr)-.25 G .979(eplacement of e)220.559 245.4 R .979(xisting k)-.15 F -.15 +(ey)-.1 G .979(s; normally).15 F 3.479(,r)-.65 G .979(e-inserting an e)385.494 +245.4 R .979(xisting k)-.15 F 1.279 -.15(ey i)-.1 H(s).15 E(an error)189 257.4 +Q(.)-.55 E 58.86(\255v Print)117 273.6 R(what is happening.)2.5 E(The)117 289.8 +Q F2(sendmail)2.773 E F1 .273(daemon does not ha)2.773 F .572 -.15(ve t)-.2 H +2.772(ob).15 G 2.772(er)282.148 289.8 S .272(estarted to read the ne)292.69 +289.8 R 2.772(wm)-.25 G .272(aps as long as you change)399.05 289.8 R .042 +(them in place; \214le locking is used so that the maps w)117 303.8 R(on')-.1 E +2.542(tb)-.18 G 2.542(er)352.214 303.8 S .042(ead while the)362.526 303.8 R +2.543(ya)-.15 G .043(re being updated.)427.764 303.8 R/F3 7/Times-Roman@0 SF +(15)497 299.8 Q F1(There are also tw)142 320 Q 2.5(ob)-.1 G +(uiltin maps that are, strictly speaking, not database lookups.)223.34 320 Q +1.563(The \231host\232 map does host domain canoni\214cation; gi)142 336.2 R +-.15(ve)-.25 G 4.063(nah).15 G 1.563(ost name it calls the name)392.585 336.2 R +(serv)117 348.2 Q(er to \214nd the canonical name for that host.)-.15 E .106 +(The \231dequote\232 map strips double quotes \("\) from a name.)142 364.4 R +.106(It does not strip backslashes.)5.106 F(It)5.106 E 1.838 +(will not strip quotes if the resulting string w)117 376.4 R 1.838 +(ould contain unscannable syntax \(that is, basic)-.1 F .601(errors lik)117 +388.4 R 3.101(eu)-.1 G .601(nbalanced angle brack)166.422 388.4 R .601 +(ets; more sophisticated errors such as unkno)-.1 F .6(wn hosts are not)-.25 F +(check)117 400.4 Q 3.398(ed\). The)-.1 F .899 +(intent is for use when trying to accept mail from systems such as DECnet that) +3.398 F(routinely quote odd syntax such as)117 412.4 Q("49ers::ubell")157 428.6 +Q 2.5(At)117 444.8 S(ypical usage is probably something lik)129.5 444.8 Q(e:) +-.1 E(Kdequote dequote)157 461 Q(...)157 485 Q 88.19(R$\255 $:)157 509 R +($\(dequote $1 $\))2.5 E(R$\255 $+)157 521 Q($: $>3 $1 $2)265 521 Q +(Care must be tak)117 537.2 Q(en to pre)-.1 E -.15(ve)-.25 G(nt une).15 E +(xpected results; for e)-.15 E(xample,)-.15 E("|someprogram < input > output") +157 553.4 Q .084(will ha)117 569.6 R .384 -.15(ve q)-.2 H .083 +(uotes stripped, b).15 F .083 +(ut the result is probably not what you had in mind.)-.2 F -.15(Fo)5.083 G .083 +(rtunately these).15 F(cases are rare.)117 581.6 Q(Ne)142 597.8 Q 2.5(wc)-.25 G +(lasses can be added in the routine)167.57 597.8 Q F0(setupmaps)2.5 E F1 +(in \214le)2.5 E F0(conf)2.5 E(.c)-.15 E F1(.)A F0 2.5(5.2. Building)87 621.8 R +2.5(aC)2.5 G(on\214guration File Fr)160.91 621.8 Q(om Scratch)-.18 E F1 1.517 +(Building a con\214guration table from scratch is an e)127 638 R 1.518 +(xtremely dif)-.15 F 1.518(\214cult job)-.25 F 6.518(.F)-.4 G(ortunately) +441.334 638 Q 4.018(,i)-.65 G 4.018(ti)490.532 638 S(s)500.11 638 Q 1.855 +(almost ne)102 650 R -.15(ve)-.25 G 4.355(rn).15 G 1.855 +(ecessary to do so; nearly e)164.19 650 R -.15(ve)-.25 G 1.855 +(ry situation that may come up may be resolv).15 F 1.855(ed by)-.15 F 1.38 +(changing an e)102 662 R 1.38(xisting table.)-.15 F 1.38(In an)6.38 F 3.88(yc) +-.15 G 1.381(ase, it is critical that you understand what it is that you are) +254.4 662 R .32 LW 76 671.6 72 671.6 DL 80 671.6 76 671.6 DL 84 671.6 80 671.6 +DL 88 671.6 84 671.6 DL 92 671.6 88 671.6 DL 96 671.6 92 671.6 DL 100 671.6 96 +671.6 DL 104 671.6 100 671.6 DL 108 671.6 104 671.6 DL 112 671.6 108 671.6 DL +116 671.6 112 671.6 DL 120 671.6 116 671.6 DL 124 671.6 120 671.6 DL 128 671.6 +124 671.6 DL 132 671.6 128 671.6 DL 136 671.6 132 671.6 DL 140 671.6 136 671.6 +DL 144 671.6 140 671.6 DL 148 671.6 144 671.6 DL 152 671.6 148 671.6 DL 156 +671.6 152 671.6 DL 160 671.6 156 671.6 DL 164 671.6 160 671.6 DL 168 671.6 164 +671.6 DL 172 671.6 168 671.6 DL 176 671.6 172 671.6 DL 180 671.6 176 671.6 DL +184 671.6 180 671.6 DL 188 671.6 184 671.6 DL 192 671.6 188 671.6 DL 196 671.6 +192 671.6 DL 200 671.6 196 671.6 DL 204 671.6 200 671.6 DL 208 671.6 204 671.6 +DL 212 671.6 208 671.6 DL 216 671.6 212 671.6 DL/F4 5/Times-Roman@0 SF(15)93.6 +682 Q/F5 8/Times-Roman@0 SF .129(That is, don')3.2 J 2.129(tc)-.144 G .129 +(reate ne)147.283 685.2 R 2.129(wm)-.2 G .129(aps and then use)186.437 685.2 R +/F6 8/Times-Italic@0 SF(mv)2.129 E F5 .129(\(1\) to mo)B .369 -.12(ve t)-.12 H +.129(hem into place.).12 F 2.129(Ic)4.129 G .128(onsider this a shortf)354.472 +685.2 R .128(all \(a.k.a. b)-.08 F .128(ug\) in)-.16 F F6(sendmail)2.128 E F5 +(which should be \214x)72 694.8 Q(ed in a future release.)-.12 E EP +%%Page: 42 37 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-42 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF .498 +(trying to do and come up with a philosoph)102 96 R 2.998(yf)-.05 G .498 +(or the con\214guration table.)286.702 96 R .497(This section is intended to) +5.497 F -.15(ex)102 108 S .67 +(plain what the real purpose of a con\214guration table is and to gi).15 F .97 +-.15(ve y)-.25 H .67(ou some ideas for what your).15 F(philosoph)102 120 Q 2.5 +(ym)-.05 G(ight be.)156.68 120 Q F0 1.32(Do not e)127 136.2 R -.1(ve)-.15 G +3.82(nc).1 G(onsider)188.2 136.2 Q F1 1.32(writing your o)3.82 F 1.32 +(wn con\214guration \214le without carefully studying RFC)-.25 F +(821, 822, and 1123.)102 148.2 Q -1.1(Yo)5 G 2.5(us)1.1 G +(hould also read RFC 976 if you are doing UUCP e)208.95 148.2 Q(xchange.)-.15 E +F0 2.5(5.2.1. What)102 172.2 R -.25(yo)2.5 G 2.5(ua).25 G .36 -.18(re t)178.7 +172.2 T(rying to do).18 E F1 .82 +(The con\214guration table has three major purposes.)142 188.4 R .821 +(The \214rst and simplest is to set up the)5.821 F(en)117 200.4 Q .35 +(vironment for)-.4 F/F2 10/Times-Italic@0 SF(sendmail)2.85 E F1 5.35(.T)C .35 +(his in)234.58 200.4 R -.2(vo)-.4 G(lv).2 E .35 +(es setting the options, de\214ning a fe)-.15 F 2.85(wc)-.25 G .35 +(ritical macros, etc.)429.43 200.4 R(Since these are described in other places\ +, we will not go into more detail here.)117 212.4 Q .283 +(The second purpose is to re)142 228.6 R .284(write addresses in the message.) +-.25 F .284(This should typically be done)5.284 F .214(in tw)117 240.6 R 2.714 +(op)-.1 G 2.713(hases. The)150.108 240.6 R .213 +(\214rst phase maps addresses in an)2.713 F 2.713(yf)-.15 G .213 +(ormat into a canonical form.)337.182 240.6 R .213(This should)5.213 F .156 +(be done in ruleset three.)117 252.6 R .157 +(The second phase maps this canonical form into the syntax appropriate)5.156 F +1.998(for the recei)117 264.6 R 1.997(ving mailer)-.25 F(.)-.55 E F2(Sendmail) +6.997 E F1 1.997(does this in three subphases.)4.497 F 1.997 +(Rulesets one and tw)6.997 F 4.497(oa)-.1 G(re)496.23 264.6 Q .043 +(applied to all sender and recipient addresses respecti)117 276.6 R -.15(ve) +-.25 G(ly).15 E 5.043(.A)-.65 G .043(fter this, you may specify per)357.904 +276.6 R(-mailer)-.2 E 2.723 +(rulesets for both sender and recipient addresses; this allo)117 288.6 R 2.723 +(ws mailer)-.25 F 2.723(-speci\214c customization.)-.2 F(Finally)117 300.6 Q +2.5(,r)-.65 G(uleset four is applied to do an)153.02 300.6 Q 2.5(yd)-.15 G(ef) +283.69 300.6 Q(ault con)-.1 E -.15(ve)-.4 G(rsion to e).15 E(xternal form.)-.15 +E .785(The third purpose is to map addresses into the actual set of instructio\ +ns necessary to get)142 316.8 R .154(the message deli)117 328.8 R -.15(ve)-.25 +G 2.654(red. Ruleset).15 F .154(zero must resolv)2.654 F 2.654(et)-.15 G 2.654 +(ot)321.658 328.8 S .153(he internal form, which is in turn used as a)332.092 +328.8 R .446(pointer to a mailer descriptor)117 340.8 R 5.446(.T)-.55 G .446 +(he mailer descriptor describes the interf)248.38 340.8 R .447 +(ace requirements of the)-.1 F(mailer)117 352.8 Q(.)-.55 E F0 2.5 +(5.2.2. Philosoph)102 376.8 R(y)-.15 E F1 1.481(The particular philosoph)142 +393 R 3.981(yy)-.05 G 1.481(ou choose will depend hea)257.213 393 R 1.481 +(vily on the size and structure of)-.2 F .55(your or)117 405 R -.05(ga)-.18 G +3.05(nization. I).05 F .55(will present a fe)3.05 F 3.05(wp)-.25 G .55 +(ossible philosophies here.)283.39 405 R .55(There are as man)5.55 F 3.05(yp) +-.15 G(hiloso-)476.22 405 Q +(phies as there are con\214g designers; feel free to de)117 417 Q -.15(ve)-.25 +G(lop your o).15 E(wn.)-.25 E .388 +(One general point applies to all of these philosophies: it is almost al)142 +433.2 R -.1(wa)-.1 G .388(ys a mistak).1 F 2.888(et)-.1 G 2.888(ot)485.002 +433.2 S(ry)495.67 433.2 Q .176(to do full host route resolution.)117 445.2 R +-.15(Fo)5.176 G 2.676(re).15 G .176 +(xample, if you are on a UUCP-only site and you are trying)267.652 445.2 R +1.223(to get names of the form \231user@host\232 to the Internet, it does not \ +pay to route them to \231xyz-)117 457.2 R -.25(va)117 469.2 S(x!decv).25 E +(ax!ucb)-.25 E -.25(va)-.15 G .304 +(x!c70!user@host\232 since you then depend on se).25 F -.15(ve)-.25 G .305 +(ral links not under your con-).15 F .996(trol, some of which are lik)117 481.2 +R .996(ely to misparse it an)-.1 F(yw)-.15 E(ay)-.1 E 5.996(.T)-.65 G .996 +(he best approach to this problem is to)347.32 481.2 R 1.048(simply forw)117 +493.2 R 1.048(ard the message for \231user@host\232 to \231xyzv)-.1 F 1.049 +(ax\232 and let xyzv)-.25 F 1.049(ax w)-.25 F 1.049(orry about it from)-.1 F +3.606(there. In)117 505.2 R(summary)3.606 E 3.606(,j)-.65 G 1.106 +(ust get the message closer to the destination, rather than determining the) +202.988 505.2 R(full path.)117 517.2 Q F0 2.5(5.2.2.1. Lar)117 541.2 R +(ge site, many hosts \212 minimum inf)-.1 E(ormation)-.25 E F1(Berk)157 557.4 Q +(ele)-.1 E 3.018(yi)-.15 G 3.018(sa)198.648 557.4 S 3.018(ne)209.996 557.4 S +.518(xample of a lar)222.304 557.4 R .518(ge site, i.e., more than tw)-.18 F +3.018(oo)-.1 G 3.018(rt)400.266 557.4 S .519(hree hosts and multiple)409.394 +557.4 R .444(mail connections.)132 569.4 R 2.044 -.8(We h)5.444 H -2.25 -.2 +(av e).8 H .443(decided that the only reasonable philosoph)3.144 F 2.943(yi) +-.05 G 2.943(no)429.634 569.4 S .443(ur en)442.577 569.4 R(vironment)-.4 E .312 +(is to designate one host as the guru for our site.)132 581.4 R .312 +(It must be able to resolv)5.312 F 2.812(ea)-.15 G .612 -.15(ny p)438.504 581.4 +T .312(iece of mail).15 F 1.083(it recei)132 593.4 R -.15(ve)-.25 G 3.583 +(s. The).15 F 1.083(other sites should ha)3.583 F 1.383 -.15(ve t)-.2 H 1.083 +(he minimum amount of information the).15 F 3.582(yc)-.15 G 1.082(an get) +478.758 593.4 R -2.3 -.15(aw a)132 605.4 T 2.635(yw).15 G 2.635(ith. In)162.705 +605.4 R .135(addition, an)2.635 F 2.635(yi)-.15 G .135(nformation the)249.485 +605.4 R 2.635(yd)-.15 G 2.635(oh)321.265 605.4 S -2.25 -.2(av e)333.9 605.4 T +.136(should be hints rather than solid infor)2.835 F(-)-.2 E(mation.)132 617.4 +Q -.15(Fo)157 633.6 S 6.71(re).15 G 4.209 +(xample, a typical site on our local ether netw)181.74 633.6 R 4.209 +(ork is \231monet\232 \(actually)-.1 F(\231monet.CS.Berk)132 645.6 Q(ele)-.1 E +-.65(y.)-.15 G 3.887(EDU\232\). When).65 F 1.387(monet recei)3.887 F -.15(ve) +-.25 G 3.887(sm).15 G 1.387(ail for deli)354.258 645.6 R -.15(ve)-.25 G(ry).15 +E 3.887(,i)-.65 G 3.887(tc)424.579 645.6 S 1.387(hecks whether it)435.686 645.6 +R(kno)132 657.6 Q 1.342(ws that the destination host is directly reachable; if\ + so, mail is sent to that host.)-.25 F 1.342(If it)6.342 F(recei)132 669.6 Q +-.15(ve)-.25 G 2.915(sm).15 G .415(ail for an)175.055 669.6 R 2.915(yu)-.15 G +(nkno)224.75 669.6 Q .415(wn host, it just passes it directly to \231ucb)-.25 F +-.25(va)-.15 G(x.CS.Berk).25 E(ele)-.1 E -.65(y.)-.15 G(EDU\232,).65 E .178 +(our master host.)132 681.6 R(Ucb)5.178 E -.25(va)-.15 G 2.678(xm).25 G .177 +(ay determine that the host name is ille)242.852 681.6 R -.05(ga)-.15 G 2.677 +(la).05 G .177(nd reject the message,)415.159 681.6 R .754 +(or may be able to do deli)132 693.6 R -.15(ve)-.25 G(ry).15 E 5.754(.H)-.65 G +-.25(ow)268.146 693.6 S -2.15 -.25(ev e).25 H 1.554 -.4(r, i).25 H 3.254(ti).4 +G 3.254(si)313.874 693.6 S .754(mportant to note that when a ne)323.798 693.6 R +3.254(wm)-.25 G .754(ail con-)472.976 693.6 R .164 +(nection is added, the only host that)132 705.6 R F2(must)2.664 E F1(ha)2.664 E +.464 -.15(ve i)-.2 H .164(ts tables updated is ucb).15 F -.25(va)-.15 G .164 +(x; the others).25 F F2(may)2.664 E F1(be)2.664 E(updated if con)132 717.6 Q +-.15(ve)-.4 G(nient, b).15 E(ut this is not critical.)-.2 E EP +%%Page: 43 38 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-43)452.9 60 Q/F1 10/Times-Roman@0 SF 2.121 +(This picture is slightly muddied due to netw)157 96 R 2.122 +(ork connections that are not actually)-.1 F 2.362(located on ucb)132 108 R +-.25(va)-.15 G 4.862(x. F).25 F 2.362(or e)-.15 F 2.362 +(xample, some UUCP connections are currently on \231ucbarpa.)-.15 F<9a>-.7 E +(Ho)132 120 Q(we)-.25 E -.15(ve)-.25 G 1.044 -.4(r, m).15 H(onet).4 E/F2 10 +/Times-Italic@0 SF .244(does not)2.744 F F1(kno)2.744 E 2.744(wa)-.25 G .245 +(bout this; the information is hidden totally between ucb)266.34 120 R -.25(va) +-.15 G(x).25 E 1.045(and ucbarpa.)132 132 R 1.045 +(Mail going from monet to a UUCP host is transferred via the ethernet from) +6.045 F 1.43(monet to ucb)132 144 R -.25(va)-.15 G 1.43 +(x, then via the ethernet from ucb).25 F -.25(va)-.15 G 3.931(xt).25 G 3.931 +(ou)355.704 144 S 1.431(cbarpa, and then is submitted to)369.635 144 R(UUCP)132 +156 Q 5(.A)-1.11 G(lthough this in)172.28 156 Q -.2(vo)-.4 G(lv).2 E(es some e) +-.15 E(xtra hops, we feel this is an acceptable tradeof)-.15 E(f.)-.25 E .826 +(An interesting point is that it w)157 172.2 R .826 +(ould be possible to update monet to send appropriate)-.1 F .127 +(UUCP mail directly to ucbarpa if the load got too high; if monet f)132 184.2 R +.127(ailed to note a host as con-)-.1 F .353(nected to ucbarpa it w)132 196.2 R +.353(ould go via ucb)-.1 F -.25(va)-.15 G 2.853(xa).25 G 2.852(sb)305.954 196.2 +S .352(efore, and if monet incorrectly sent a message)317.696 196.2 R .395 +(to ucbarpa it w)132 208.2 R .396(ould still be sent by ucbarpa to ucb)-.1 F +-.25(va)-.15 G 2.896(xa).25 G 2.896(sb)356.654 208.2 S 2.896(efore. The)368.44 +208.2 R .396(only problem that can)2.896 F .901(occur is loops, for e)132 220.2 +R .901(xample, if ucbarpa thought that ucb)-.15 F -.25(va)-.15 G 3.401(xh).25 G +.9(ad the UUCP connection and)383.75 220.2 R(vice v)132 232.2 Q 2.5(ersa. F) +-.15 F(or this reason, updates should)-.15 E F2(always)2.5 E F1 +(happen to the master host \214rst.)2.5 E .144(This philosoph)157 248.4 R 2.644 +(yr)-.05 G .145(esults as much from the need to ha)227.798 248.4 R .445 -.15 +(ve a s)-.2 H .145(ingle source for the con\214gu-).15 F .289 +(ration \214les \(typically b)132 260.4 R .289(uilt using)-.2 F F2(m4)2.789 E +F1 .289(\(1\) or some similar tool\) as an)1.666 F 2.789(yl)-.15 G .288 +(ogical need.)410.664 260.4 R(Maintain-)5.288 E +(ing more than three separate tables by hand is essentially an impossible job) +132 272.4 Q(.)-.4 E F0 2.5(5.2.2.2. Small)117 296.4 R(site \212 complete inf) +2.5 E(ormation)-.25 E F1 3.356(As)157 312.6 S .856(mall site \(tw)171.466 312.6 +R 3.356(oo)-.1 G 3.356(rt)236.434 312.6 S .856(hree hosts and fe)245.9 312.6 R +3.356(we)-.25 G .856(xternal connections\) may \214nd it more rea-)330.564 +312.6 R .435(sonable to ha)132 324.6 R .735 -.15(ve c)-.2 H .435 +(omplete information at each host.).15 F .435(This w)5.435 F .435 +(ould require that each host kno)-.1 F(w)-.25 E -.15(ex)132 336.6 S .185 +(actly where each netw).15 F .185 +(ork connection is, possibly including the names of each host on that)-.1 F +(netw)132 348.6 Q 3.465(ork. As)-.1 F .965 +(long as the site remains small and the con\214guration remains relati)3.465 F +-.15(ve)-.25 G .964(ly static,).15 F +(the update problem will probably not be too great.)132 360.6 Q F0 2.5 +(5.2.2.3. Single)117 384.6 R(host)2.5 E F1 .117(This is in some sense the tri) +157 400.8 R .117(vial case.)-.25 F .117 +(The only major issue is trying to insure that you)5.117 F(don')132 412.8 Q +3.425(th)-.18 G -2.25 -.2(av e)161.355 412.8 T .925(to kno)3.625 F 3.425(wt) +-.25 G .925(oo much about your en)217.69 412.8 R 3.425(vironment. F)-.4 F .925 +(or e)-.15 F .924(xample, if you ha)-.15 F 1.224 -.15(ve a U)-.2 H(UCP).15 E +.614(connection you might \214nd it useful to kno)132 424.8 R 3.115(wa)-.25 G +.615(bout the names of hosts connected directly to)318.885 424.8 R(you, b)132 +436.8 Q +(ut this is really not necessary since this may be determined from the syntax.) +-.2 E F0 2.5(5.2.2.4. A)117 460.8 R(completely differ)2.5 E(ent philosoph)-.18 +E(y)-.15 E F1(This is adapted from Bruce Lilly)157 477 Q 5(.A)-.65 G .3 -.15 +(ny e)301.89 477 T(rrors in interpretation are mine.).15 E .065 +(Do minimal changes in ruleset 3: \214x some common b)157 493.2 R .064 +(ut unambiguous errors \(e.g. trail-)-.2 F 2.758 +(ing dot on domains\) and hide bang paths foo!bar into bar@foo.UUCP)132 505.2 R +7.759(.T)-1.11 G 2.759(he resulting)454.301 505.2 R("canonical" form is an)132 +517.2 Q 2.5(yv)-.15 G(alid RFC822/RFC1123/RFC976 address.)233.63 517.2 Q 1.388 +(Ruleset 0 does the b)157 533.4 R 1.387(ulk of the w)-.2 F 3.887(ork. It)-.1 F +(remo)3.887 E -.15(ve)-.15 G 3.887(st).15 G 1.387 +(he trailing "@.UUCP" that hides)367.472 533.4 R .66(bang paths, strips an)132 +545.4 R .661(ything not needed to resolv)-.15 F .661 +(e, e.g. the phrase from phrase <route-addr>)-.15 F .497 +(and from named groups, rejects unparseable addresses using $#error)132 557.4 R +2.996(,a)-.4 G .496(nd \214nally resolv)419.052 557.4 R .496(es to)-.15 F 4.324 +(am)132 569.4 S 1.824(ailer/host/user triple.)148.544 569.4 R 1.824 +(Ruleset 0 is rather length)6.824 F 4.325(ya)-.05 G 4.325(si)360.965 569.4 S +4.325(th)371.96 569.4 S 1.825(as to handle 3 basic address)384.065 569.4 R +5.373(forms: RFC976 bang paths, RFC1123 %-hacks \(including v)132 581.4 R 5.373 +(anilla RFC822 local-)-.25 F .136(part@domain\), and RFC822 source routes.)132 +593.4 R(It')5.137 E 2.637(sa)-.55 G .137(lso complicated by ha)329.508 593.4 R +.137(ving to handle named)-.2 F(lists.)132 605.4 Q .617(The header re)157 621.6 +R .616(writing rulesets 1 and 2 remo)-.25 F .916 -.15(ve t)-.15 H .616 +(he trailing "@.UUCP" that hides bang).15 F 2.5(paths. Ruleset)132 633.6 R 2.5 +(2a)2.5 G(lso strips the $# mailer $@ host \(for test mode\).)205.05 633.6 Q +(Ruleset 4 does absolutely nothing.)157 649.8 Q 1.316(The per)157 666 R 1.316 +(-mailer re)-.2 F 1.316(writing rulesets conform the en)-.25 F -.15(ve)-.4 G +1.317(lope and header addresses to the).15 F +(requirements of the speci\214c mailer)132 678 Q(.)-.55 E +(Lots of rulesets-as-subroutines are used.)157 694.2 Q .35(As a result, header\ + addresses are subject to minimal munging \(per RFC1123\), and the)157 710.4 R +(general plan is per RFC822 sect. 3.4.10.)132 722.4 Q EP +%%Page: 44 39 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-44 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(5.2.3. Rele)102 96 R -.1(va)-.15 G +(nt issues).1 E/F1 10/Times-Roman@0 SF .584(The canonical form you use should \ +almost certainly be as speci\214ed in the Internet proto-)142 112.2 R 2.604 +(cols RFC819 and RFC822.)117 124.2 R 2.604(Copies of these RFC')7.604 F 5.104 +(sa)-.55 G 2.603(re included on the)347.852 124.2 R/F2 10/Times-Italic@0 SF +(sendmail)5.103 E F1 2.603(tape as)5.103 F F2(doc/rfc819.lpr)117 136.2 Q F1 +(and)2.5 E F2(doc/rfc822.lpr)2.5 E F1(.)A 2.04 +(RFC822 describes the format of the mail message itself.)142 152.4 R F2 +(Sendmail)7.04 E F1(follo)4.54 E 2.04(ws this RFC)-.25 F(closely)117 164.4 Q +2.984(,t)-.65 G 2.984(ot)152.944 164.4 S .483(he e)163.708 164.4 R .483 +(xtent that man)-.15 F 2.983(yo)-.15 G 2.983(ft)251.44 164.4 S .483 +(he standards described in this document can not be changed)260.533 164.4 R +(without changing the code.)117 176.4 Q(In particular)5 E 2.5(,t)-.4 G +(he follo)286.85 176.4 Q(wing characters ha)-.25 E .3 -.15(ve s)-.2 H +(pecial interpretations:).15 E 2.5(<>\(\)"\\)157 192.6 S(An)117 208.8 Q 3.036 +(ya)-.15 G .537(ttempt to use these characters for other than their RFC822 pur\ +pose in addresses is proba-)141.546 208.8 R(bly doomed to disaster)117 220.8 Q +(.)-.55 E 1.327 +(RFC819 describes the speci\214cs of the domain-based addressing.)142 237 R +1.326(This is touched on in)6.327 F 1.439(RFC822 as well.)117 249 R 1.439 +(Essentially each host is gi)6.439 F -.15(ve)-.25 G 3.939(nan).15 G 1.44 +(ame which is a right-to-left dot quali\214ed)333.711 249 R .232 +(pseudo-path from a distinguished root.)117 261 R .232 +(The elements of the path need not be ph)5.232 F .232(ysical hosts; the)-.05 F +2.365(domain is logical rather than ph)117 273 R 4.866(ysical. F)-.05 F 2.366 +(or e)-.15 F 2.366(xample, at Berk)-.15 F(ele)-.1 E 4.866(yo)-.15 G 2.366 +(ne le)406.406 273 R -.05(ga)-.15 G 4.866(lh).05 G 2.366(ost might be)449.818 +273 R(\231a.CC.Berk)117 285 Q(ele)-.1 E -.65(y.)-.15 G .366 +(EDU\232; reading from right to left, \231EDU\232 is a top le).65 F -.15(ve) +-.25 G 2.865(ld).15 G .365(omain comprising edu-)410.5 285 R .561 +(cational institutions, \231Berk)117 297 R(ele)-.1 E .562 +(y\232 is a logical domain name, \231CC\232 represents the Computer Cen-)-.15 F +(ter)117 309 Q 2.5(,\()-.4 G(in this case a strictly logical entity\), and \ +\231a\232 is a host in the Computer Center)135.48 309 Q(.)-.55 E(Be)142 325.2 Q +-.1(wa)-.25 G(re when reading RFC819 that there are a number of errors in it.) +.1 E F0 2.5(5.2.4. Ho)102 349.2 R 2.5(wt)-.1 G 2.5(op)155.23 349.2 S -.18(ro) +168.29 349.2 S(ceed).18 E F1 .335(Once you ha)142 365.4 R .635 -.15(ve d)-.2 H +.335(ecided on a philosoph).15 F 1.635 -.65(y, i)-.05 H 2.835(ti).65 G 2.834 +(sw)319.44 365.4 S .334(orth e)333.284 365.4 R .334(xamining the a)-.15 F -.25 +(va)-.2 G .334(ilable con\214guration).25 F .174(tables to decide if an)117 +377.4 R 2.674(yo)-.15 G 2.674(ft)212.98 377.4 S .174 +(hem are close enough to steal major parts of.)221.764 377.4 R(Ev)5.174 E .175 +(en under the w)-.15 F .175(orst of)-.1 F(conditions, there is a f)117 389.4 Q +(air amount of boiler plate that can be collected safely)-.1 E(.)-.65 E .33 +(The ne)142 405.6 R .33(xt step is to b)-.15 F .33(uild ruleset three.)-.2 F +.329(This will be the hardest part of the job)5.33 F 5.329(.B)-.4 G -2.1 -.25 +(ew a)469.321 405.6 T .329(re of).25 F .781 +(doing too much to the address in this ruleset, since an)117 417.6 R .781 +(ything you do will re\215ect through to the)-.15 F 2.744(message. In)117 429.6 +R(particular)2.744 E 2.744(,s)-.4 G .243 +(tripping of local domains is best deferred, since this can lea)216.752 429.6 R +.543 -.15(ve y)-.2 H .243(ou with).15 F 1.234 +(addresses with no domain spec at all.)117 441.6 R(Since)6.235 E F2(sendmail) +3.735 E F1(lik)3.735 E 1.235(es to append the sending domain to)-.1 F .83 +(addresses with no domain, this can change the semantics of addresses.)117 +453.6 R .83(Also try to a)5.83 F -.2(vo)-.2 G .83(id fully).2 F .342 +(qualifying domains in this ruleset.)117 465.6 R .342(Although technically le) +5.342 F -.05(ga)-.15 G .343(l, this can lead to unpleasantly and).05 F 1.287 +(unnecessarily long addresses re\215ected into messages.)117 477.6 R 1.287 +(The Berk)6.287 F(ele)-.1 E 3.787(yc)-.15 G 1.287 +(on\214guration \214les de\214ne)406.426 477.6 R .093 +(ruleset nine to qualify domain names and strip local domains.)117 489.6 R .093 +(This is called from ruleset zero to)5.093 F +(get all addresses into a cleaner form.)117 501.6 Q .318(Once you ha)142 517.8 +R .618 -.15(ve r)-.2 H .318 +(uleset three \214nished, the other rulesets should be relati).15 F -.15(ve) +-.25 G .318(ly tri).15 F 2.817(vial. If)-.25 F(you)2.817 E(need hints, e)117 +529.8 Q(xamine the supplied con\214guration tables.)-.15 E F0 2.5(5.2.5. T)102 +553.8 R(esting the r)-.92 E(ewriting rules \212 the \255bt \215ag)-.18 E F1 +1.075(When you b)142 570 R 1.075(uild a con\214guration table, you can do a ce\ +rtain amount of testing using the)-.2 F(\231test mode\232 of)117 582 Q F2 +(sendmail)2.5 E F1 5(.F)C(or e)226.84 582 Q(xample, you could in)-.15 E -.2(vo) +-.4 G -.1(ke).2 G F2(sendmail)2.6 E F1(as:)2.5 E(sendmail \255bt \255Ctest.cf) +157 598.2 Q .904(which w)117 614.4 R .903 +(ould read the con\214guration \214le \231test.cf\232 and enter test mode.)-.1 +F .903(In this mode, you enter)5.903 F(lines of the form:)117 626.4 Q +(rwset address)157 642.6 Q(where)117 658.8 Q F2(rwset)3.376 E F1 .876 +(is the re)3.376 F .876(writing set you w)-.25 F .876(ant to use and)-.1 F F2 +(addr)3.376 E(ess)-.37 E F1 .877(is an address to apply the set to.)3.376 F -.7 +(Te)117 670.8 S .17(st mode sho).7 F .17(ws you the steps it tak)-.25 F .169 +(es as it proceeds, \214nally sho)-.1 F .169(wing you the address it ends up) +-.25 F 3.635(with. Y)117 682.8 R 1.135(ou may use a comma separated list of rw\ +sets for sequential application of rules to an)-1.1 F 2.5(input. F)117 694.8 R +(or e)-.15 E(xample:)-.15 E(3,1,21,4 monet:bollard)157 711 Q EP +%%Page: 45 40 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-45)452.9 60 Q/F1 10/Times-Roman@0 SF .386 +(\214rst applies ruleset three to the input \231monet:bollard.)117 96 R 5.385 +<9a52>-.7 G .385(uleset one is then applied to the output)347.145 96 R +(of ruleset three, follo)117 108 Q +(wed similarly by rulesets twenty-one and four)-.25 E(.)-.55 E .202(If you nee\ +d more detail, you can also use the \231\255d21\232 \215ag to turn on more deb) +142 124.2 R 2.702(ugging. F)-.2 F(or)-.15 E -.15(ex)117 136.2 S(ample,).15 E +(sendmail \255bt \255d21.99)157 152.4 Q .754 +(turns on an incredible amount of information; a single w)117 168.6 R .753 +(ord address is probably going to print)-.1 F(out se)117 180.6 Q -.15(ve)-.25 G +(ral pages w).15 E(orth of information.)-.1 E -1.1(Yo)142 196.8 S 3.234(us)1.1 +G .734(hould be w)165.244 196.8 R .734(arned that internally)-.1 F(,)-.65 E/F2 +10/Times-Italic@0 SF(sendmail)3.234 E F1 .734 +(applies ruleset 3 to all addresses.)3.234 F .735(In this)5.735 F -.15(ve)117 +208.8 S 1.23(rsion of).15 F F2(sendmail)3.73 E F1 3.73(,y)C 1.23(ou will ha) +209.42 208.8 R 1.53 -.15(ve t)-.2 H 3.73(od).15 G 3.73(ot)281.21 208.8 S 1.23 +(hat manually)292.72 208.8 R 6.23(.F)-.65 G 1.23(or e)359.38 208.8 R 1.23 +(xample, older v)-.15 F 1.23(ersions allo)-.15 F(wed)-.25 E(you to use)117 +220.8 Q 2.5(0b)157 237 S(ruce@broadcast.son)169.5 237 Q -.65(y.)-.15 G(com).65 +E(This v)117 253.2 Q(ersion requires that you use:)-.15 E +(3,0 bruce@broadcast.son)157 269.4 Q -.65(y.)-.15 G(com).65 E F0 2.5 +(5.2.6. Building)102 297.6 R(mailer descriptions)2.5 E F1 1.886 -.8(To a)142 +313.8 T .287(dd an outgoing mailer to your mail system, you will ha).8 F .587 +-.15(ve t)-.2 H 2.787(od).15 G .287(e\214ne the characteristics)409.566 313.8 R +(of the mailer)117 325.8 Q(.)-.55 E 1.481(Each mailer must ha)142 342 R 1.781 +-.15(ve a)-.2 H 3.981(ni).15 G 1.481(nternal name.)257.645 342 R 1.481 +(This can be arbitrary)6.481 F 3.98(,e)-.65 G 1.48(xcept that the names)417.63 +342 R(\231local\232 and \231prog\232 must be de\214ned.)117 354 Q .127 +(The pathname of the mailer must be gi)142 370.2 R -.15(ve)-.25 G 2.628(ni).15 +G 2.628(nt)317.038 370.2 S .128(he P \214eld.)327.446 370.2 R .128 +(If this mailer should be accessed)5.128 F +(via an IPC connection, use the string \231[IPC]\232 instead.)117 382.2 Q .021 +(The F \214eld de\214nes the mailer \215ags.)142 398.4 R -1.1(Yo)5.021 G 2.521 +(us)1.1 G .021(hould specify an \231f\232 or \231r\232 \215ag to pass the name) +311.06 398.4 R .465(of the sender as a)117 410.4 R F0<ad66>2.965 E F1(or)2.965 +E F0<ad72>2.965 E F1 .465(\215ag respecti)2.965 F -.15(ve)-.25 G(ly).15 E 5.465 +(.T)-.65 G .465(hese \215ags are only passed if the)306.95 410.4 R 2.966(yw) +-.15 G .466(ere passed to)451.418 410.4 R F2(sendmail)117 422.4 Q F1 4.205(,s)C +4.205(ot)163.705 422.4 S 1.705(hat mailers that gi)175.69 422.4 R 2.005 -.15 +(ve e)-.25 H 1.705(rrors under some circumstances can be placated.).15 F 1.705 +(If the)6.705 F 1.362(mailer is not pick)117 434.4 R 3.862(yy)-.15 G 1.362 +(ou can just specify \231\255f $g\232 in the ar)204.518 434.4 R 1.362 +(gv template.)-.18 F 1.363(If the mailer must be)6.362 F 1.708(called as)117 +446.4 R F0 -.18(ro)4.207 G(ot).18 E F1 1.707(the \231S\232 \215ag should be gi) +4.207 F -.15(ve)-.25 G 1.707 +(n; this will not reset the userid before calling the).15 F(mailer)117 460.4 Q +/F3 7/Times-Roman@0 SF(16)142.55 456.4 Q F1 5.112(.I)149.55 460.4 S 2.612(ft) +160.492 460.4 S .112(his mailer is local \(i.e., will perform \214nal deli) +169.214 460.4 R -.15(ve)-.25 G .112(ry rather than another netw).15 F .112 +(ork hop\))-.1 F .728(the \231l\232 \215ag should be gi)117 472.4 R -.15(ve) +-.25 G 3.227(n. Quote).15 F .727 +(characters \(backslashes and " marks\) can be stripped from)3.227 F .268 +(addresses if the \231s\232 \215ag is speci\214ed; if this is not gi)117 484.4 +R -.15(ve)-.25 G 2.769(nt).15 G(he)344.247 484.4 Q 2.769(ya)-.15 G .269 +(re passed through.)365.746 484.4 R .269(If the mailer is)5.269 F .67(capable \ +of sending to more than one user on the same host in a single transaction the \ +\231m\232 \215ag)117 496.4 R 1.176(should be stated.)117 508.4 R 1.176 +(If this \215ag is on, then the ar)6.176 F 1.177(gv template containing)-.18 F +F0($u)3.677 E F1 1.177(will be repeated for)3.677 F .089 +(each unique user on a gi)117 520.4 R -.15(ve)-.25 G 2.589(nh).15 G 2.589 +(ost. The)235.994 520.4 R .089 +(\231e\232 \215ag will mark the mailer as being \231e)2.589 F(xpensi)-.15 E +-.15(ve)-.25 G 1.488 -.7(,\232 w).15 H(hich).7 E(will cause)117 534.4 Q F2 +(sendmail)2.5 E F1(to defer connection until a queue run)2.5 E F3(17)345.57 +530.4 Q F1(.)352.57 534.4 Q 2.037(An unusual case is the \231C\232 \215ag.)142 +550.6 R 2.037(This \215ag applies to the mailer that the message is)7.037 F +(recei)117 562.6 Q -.15(ve)-.25 G 2.654(df).15 G .153(rom, rather than the mai\ +ler being sent to; if set, the domain spec of the sender \(i.e., the)156.454 +562.6 R 1.519(\231@host.domain\232 part\) is sa)117 574.6 R -.15(ve)-.2 G 4.019 +(da).15 G 1.519(nd is appended to an)252.746 574.6 R 4.019(ya)-.15 G 1.52 +(ddresses in the message that do not)354.341 574.6 R +(already contain a domain spec.)117 586.6 Q -.15(Fo)5 G 2.5(re).15 G +(xample, a message of the form:)266.11 586.6 Q(From: eric@v)157 602.8 Q +(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E -.8(To)157 614.8 S +2.5(:w).8 G(nj@monet.CS.Berk)179.81 614.8 Q(ele)-.1 E -.65(y.)-.15 G +(EDU, mckusick).65 E(will be modi\214ed to:)117 631 Q .32 LW 76 665.2 72 665.2 +DL 80 665.2 76 665.2 DL 84 665.2 80 665.2 DL 88 665.2 84 665.2 DL 92 665.2 88 +665.2 DL 96 665.2 92 665.2 DL 100 665.2 96 665.2 DL 104 665.2 100 665.2 DL 108 +665.2 104 665.2 DL 112 665.2 108 665.2 DL 116 665.2 112 665.2 DL 120 665.2 116 +665.2 DL 124 665.2 120 665.2 DL 128 665.2 124 665.2 DL 132 665.2 128 665.2 DL +136 665.2 132 665.2 DL 140 665.2 136 665.2 DL 144 665.2 140 665.2 DL 148 665.2 +144 665.2 DL 152 665.2 148 665.2 DL 156 665.2 152 665.2 DL 160 665.2 156 665.2 +DL 164 665.2 160 665.2 DL 168 665.2 164 665.2 DL 172 665.2 168 665.2 DL 176 +665.2 172 665.2 DL 180 665.2 176 665.2 DL 184 665.2 180 665.2 DL 188 665.2 184 +665.2 DL 192 665.2 188 665.2 DL 196 665.2 192 665.2 DL 200 665.2 196 665.2 DL +204 665.2 200 665.2 DL 208 665.2 204 665.2 DL 212 665.2 208 665.2 DL 216 665.2 +212 665.2 DL/F4 5/Times-Roman@0 SF(16)93.6 675.6 Q/F5 8/Times-Italic@0 SF +(Sendmail)3.2 I/F6 8/Times-Roman@0 SF +(must be running setuid to root for this to w)2 E(ork.)-.08 E F4(17)93.6 689.2 +Q F6(The \231c\232 con\214guration option must be gi)3.2 I -.12(ve)-.2 G 2(nf) +.12 G(or this to be ef)242.04 692.4 Q(fecti)-.2 E -.12(ve)-.2 G(.).12 E EP +%%Page: 46 41 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-46 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(From: eric@v)157 +96 Q(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E -.8(To)157 108 S +2.5(:w).8 G(nj@monet.CS.Berk)179.81 108 Q(ele)-.1 E -.65(y.)-.15 G +(EDU, mckusick@v).65 E(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E +/F2 10/Times-Italic@0 SF 6.608(if and only if)117 124.2 R F1 6.607 +(the \231C\232 \215ag is de\214ned in the mailer resolv)9.108 F 6.607 +(ed to by running)-.15 F(\231eric@v)117 136.2 Q(angogh.CS.Berk)-.25 E(ele)-.1 E +-.65(y.)-.15 G(EDU\232 through rulesets 3 and 0.).65 E +(Other \215ags are described in Appendix C.)142 152.4 Q .538 +(The S and R \214elds in the mailer description are per)142 168.6 R .538 +(-mailer re)-.2 F .538(writing sets to be applied to)-.25 F 2.253 +(sender and recipient addresses respecti)117 180.6 R -.15(ve)-.25 G(ly).15 E +7.253(.T)-.65 G 2.252(hese are applied after the sending domain is)312.995 +180.6 R .546(appended and the general re)117 192.6 R .547 +(writing sets \(numbers one and tw)-.25 F .547(o\) are applied, b)-.1 F .547 +(ut before the out-)-.2 F .458(put re)117 204.6 R .458 +(write \(ruleset four\) is applied.)-.25 F 2.958(At)5.458 G .457 +(ypical use is to append the current domain to addresses)279.646 204.6 R +(that do not already ha)117 216.6 Q .3 -.15(ve a d)-.2 H 2.5(omain. F).15 F +(or e)-.15 E(xample, a header of the form:)-.15 E(From: eric)157 232.8 Q +(might be changed to be:)117 249 Q(From: eric@v)157 265.2 Q(angogh.CS.Berk)-.25 +E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E(or)117 281.4 Q(From: ucb)157 297.6 Q -.25 +(va)-.15 G(x!eric).25 E .186(depending on the domain it is being shipped into.) +117 313.8 R .186(These sets can also be used to do special pur)5.186 F(-)-.2 E +(pose output re)117 325.8 Q(writing in cooperation with ruleset four)-.25 E(.) +-.55 E .026(The S and R \214elds can be speci\214ed as tw)142 342 R 2.526(on) +-.1 G .025(umbers separated by a slash \(e.g., \231S=10/11\232\),)318.25 342 R +2.915(meaning that all en)117 354 R -.15(ve)-.4 G 2.915 +(lope addresses will be processed through ruleset 10 and all header).15 F .403 +(addresses will be processed through ruleset 11.)117 366 R -.4(Wi)5.402 G .402 +(th only one number speci\214ed, both en).4 F -.15(ve)-.4 G(lope).15 E +(and header re)117 378 Q(writing sets are set to the indicated ruleset.)-.25 E +.228(The E \214eld de\214nes the string to use as an end-of-line indication.) +142 394.2 R 2.728(As)5.228 G .228(tring containing only)419.654 394.2 R(ne)117 +406.2 Q(wline is the def)-.25 E 2.5(ault. The)-.1 F +(usual backslash escapes \(\\r)2.5 E 2.5(,\\)-.4 G(n, \\f, \\b\) may be used.) +342.87 406.2 Q(Finally)142 422.4 Q 2.584(,a)-.65 G 2.584(na)179.214 422.4 S +-.18(rg)191.238 422.4 S 2.584(vt).18 G .084(emplate is gi)209.752 422.4 R -.15 +(ve)-.25 G 2.584(na).15 G 2.584(st)282.094 422.4 S .084(he A \214eld.)291.348 +422.4 R .083(It may ha)5.083 F .383 -.15(ve e)-.2 H .083(mbedded spaces.).15 F +.083(If there is)5.083 F .203(no ar)117 434.4 R .203(gv with a)-.18 F F0($u) +2.703 E F1 .203(macro in it,)2.703 F F2(sendmail)2.704 E F1 .204 +(will speak SMTP to the mailer)2.704 F 5.204(.I)-.55 G 2.704(ft)412.644 434.4 S +.204(he pathname for this)421.458 434.4 R(mailer is \231[IPC],)117 446.4 Q 2.5 +<9a74>-.7 G(he ar)192.4 446.4 Q(gv should be)-.18 E(IPC $h [)157 462.6 Q F2 +(port)2.5 E F1(])2.5 E(where)117 478.8 Q F2(port)2.5 E F1 +(is the optional port number to connect to.)2.5 E -.15(Fo)142 495 S 2.5(re).15 +G(xample, the speci\214cations:)162.53 495 Q(Mlocal, P=/bin/mail, F=rlsm)157 +511.2 Q(S=10, R=20, A=mail \255d $u)5 E(Mether)157 523.2 Q 2.35(,P)-.4 G 13.9 +(=[IPC], F=meC,)195.89 523.2 R(S=11, R=21, A=IPC $h, M=100000)1.39 E 1.644 +(speci\214es a mailer to do local deli)117 539.4 R -.15(ve)-.25 G 1.644 +(ry and a mailer for ethernet deli).15 F -.15(ve)-.25 G(ry).15 E 6.643(.T)-.65 +G 1.643(he \214rst is called)436.021 539.4 R(\231local,)117 551.4 Q 2.648<9a69> +-.7 G 2.648(sl)152.548 551.4 S .148(ocated in the \214le \231/bin/mail,)161.866 +551.4 R 2.649<9a74>-.7 G(ak)283.569 551.4 Q .149(es a pick)-.1 F(y)-.15 E F0 +<ad72>2.649 E F1 .149(\215ag, does local deli)2.649 F -.15(ve)-.25 G(ry).15 E +2.649(,q)-.65 G .149(uotes should)453.571 551.4 R 1.017 +(be stripped from addresses, and multiple users can be deli)117 563.4 R -.15 +(ve)-.25 G 1.016(red at once; ruleset ten should be).15 F 1.417(applied to sen\ +der addresses in the message and ruleset twenty should be applied to recipient) +117 575.4 R .123(addresses; the ar)117 587.4 R .123 +(gv to send to a message will be the w)-.18 F .123(ord \231mail,)-.1 F 2.623 +<9a74>-.7 G .123(he w)383.129 587.4 R .122(ord \231\255d,)-.1 F 2.622<9a61>-.7 +G .122(nd w)446.646 587.4 R .122(ords con-)-.1 F 1.484 +(taining the name of the recei)117 599.4 R 1.484(ving user)-.25 F 6.484(.I)-.55 +G 3.984(fa)288.496 599.4 S F0<ad72>A F1 1.484 +(\215ag is inserted it will be between the w)3.984 F(ords)-.1 E .289 +(\231mail\232 and \231\255d.)117 611.4 R 5.289<9a54>-.7 G .289 +(he second mailer is called \231ether)196.397 611.4 R 1.689 -.7(,\232 i)-.4 H +2.789(ts).7 G .289(hould be connected to via an IPC con-)348.95 611.4 R .932(n\ +ection, it can handle multiple users at once, connections should be deferred, \ +and an)117 623.4 R 3.433(yd)-.15 G(omain)479 623.4 Q 1.458 +(from the sender address should be appended to an)117 635.4 R 3.958(yr)-.15 G +(ecei)340.202 635.4 Q -.15(ve)-.25 G 3.958(rn).15 G 1.458 +(ame without a domain; sender)377.63 635.4 R .74 +(addresses should be processed by ruleset ele)117 647.4 R -.15(ve)-.25 G 3.24 +(na).15 G .74(nd recipient addresses by ruleset twenty-one.)320.34 647.4 R +(There is a 100,000 byte limit on messages passed through this mailer)117 659.4 +Q(.)-.55 E F0 2.5(5.3. The)87 683.4 R(User Database)2.5 E F1 .109(If you ha)127 +699.6 R .409 -.15(ve a ve)-.2 H .109(rsion of).15 F F2(sendmail)2.609 E F1 .109 +(with the user database package compiled in, the handling of)2.609 F +(sender and recipient addresses is modi\214ed.)102 711.6 Q EP +%%Page: 47 42 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-47)452.9 60 Q/F1 10/Times-Roman@0 SF +(The location of this database is controlled with the)127 96 Q F0(U)2.5 E F1 +(option.)2.5 E F0 2.5(5.3.1. Structur)102 120 R 2.5(eo)-.18 G 2.5(ft)177.92 120 +S(he user database)187.08 120 Q F1(The database is a sorted \(BT)142 136.2 Q +(ree-based\) structure.)-.35 E(User records are stored with the k)5 E -.15(ey) +-.1 G(:).15 E/F2 10/Times-Italic@0 SF(user)157 152.4 Q(-name)-.2 E F0(:)A F2 +(\214eld-name)A F1 .128 +(The sorted database format ensures that user records are clustered together) +117 168.6 R 5.129(.M)-.55 G .129(eta-information is)432.491 168.6 R(al)117 +180.6 Q -.1(wa)-.1 G(ys stored with a leading colon.).1 E +(Field names de\214ne both the syntax and semantics of the v)142 196.8 Q 2.5 +(alue. De\214ned)-.25 F(\214elds include:)2.5 E 33.39(maildrop The)117 213 R +(deli)4.873 E -.15(ve)-.25 G 2.373(ry address for this user).15 F 7.373(.T)-.55 +G 2.372(here may be multiple v)349.478 213 R 2.372(alues of this)-.25 F 2.675 +(record. In)189 225 R(particular)2.675 E 2.675(,m)-.4 G .175 +(ailing lists will ha)284.095 225 R .475 -.15(ve o)-.2 H(ne).15 E F2(maildr) +2.675 E(op)-.45 E F1 .175(record for each user)2.675 F(on the list.)189 237 Q +30.06(mailname The)117 253.2 R 1.027(outgoing mailname for this user)3.527 F +6.026(.F)-.55 G 1.026(or each outgoing name, there should)353.34 253.2 R .08 +(be an appropriate)189 265.2 R F2(maildr)2.58 E(op)-.45 E F1 .08 +(record for that name to allo)2.58 F 2.58(wr)-.25 G .08(eturn mail.)422.38 +265.2 R .08(See also)5.08 F F2(:default:mailname)189 277.2 Q F1(.)A 25.62 +(mailsender Changes)117 293.4 R(an)3.448 E 3.448(ym)-.15 G .948 +(ail sent to this address to ha)252.406 293.4 R 1.247 -.15(ve t)-.2 H .947 +(he indicated en).15 F -.15(ve)-.4 G .947(lope sender).15 F(.)-.55 E .498(This\ + is intended for mailing lists, and will normally be the name of an appro-)189 +305.4 R .755(priate -request address.)189 317.4 R .755(It is v)5.755 F .755 +(ery similar to the o)-.15 F(wner)-.25 E(-)-.2 E F2(list)A F1 .754 +(syntax in the alias)3.254 F(\214le.)189 329.4 Q 33.95(fullname The)117 345.6 R +(full name of the user)2.5 E(.)-.55 E(of)117 361.8 Q 13.66(\214ce-address The) +-.25 F(of)2.5 E(\214ce address for this user)-.25 E(.)-.55 E(of)117 378 Q 19.21 +(\214ce-phone The)-.25 F(of)2.5 E(\214ce phone number for this user)-.25 E(.) +-.55 E(of)117 394.2 Q(\214ce-f)-.25 E 30.98(ax The)-.1 F(of)2.5 E(\214ce F)-.25 +E(AX number for this user)-.74 E(.)-.55 E 13.96(home-address The)117 410.4 R +(home address for this user)2.5 E(.)-.55 E 19.51(home-phone The)117 426.6 R +(home phone number for this user)2.5 E(.)-.55 E(home-f)117 442.8 Q 31.28 +(ax The)-.1 F(home F)2.5 E(AX number for this user)-.74 E(.)-.55 E 41.73 +(project A)117 459 R .855 +(\(short\) description of the project this person is af)3.355 F .856 +(\214liated with.)-.25 F .856(In the Uni-)5.856 F -.15(ve)189 471 S +(rsity this is often just the name of their graduate advisor).15 E(.)-.55 E +52.28(plan A)117 487.2 R +(pointer to a \214le from which plan information can be g)2.5 E(athered.)-.05 E +.925(As of this writing, only a fe)142 503.4 R 3.424(wo)-.25 G 3.424(ft)273.214 +503.4 S .924(hese \214elds are actually being used by)282.748 503.4 R F2 +(sendmail)3.424 E F1(:)A F2(mail-)3.424 E(dr)117 515.4 Q(op)-.45 E F1(and)2.5 E +F2(mailname)2.5 E F1 5(.A)C F2(\214ng)211.54 515.4 Q(er)-.1 E F1 +(program that uses the other \214elds is planned.)2.5 E F0 2.5(5.3.2. User)102 +539.4 R(database semantics)2.5 E F1 .995(When the re)142 555.6 R .995 +(writing rules submit an address to the local mailer)-.25 F 3.496(,t)-.4 G .996 +(he user name is passed)408.926 555.6 R .781(through the alias \214le.)117 +567.6 R .78 +(If no alias is found \(or if the alias points back to the same address\), the) +5.781 F 1.777(name \(with \231:maildrop\232 appended\) is then used as a k)117 +579.6 R 2.078 -.15(ey i)-.1 H 4.278(nt).15 G 1.778(he user database.)375.98 +579.6 R 1.778(If no match)6.778 F +(occurs \(or if the maildrop points at the same address\), forw)117 591.6 Q +(arding is tried.)-.1 E .551(If the \214rst tok)142 607.8 R .55(en of the user\ + name returned by ruleset 0 is an \231@\232 sign, the user database)-.1 F .625 +(lookup is skipped.)117 619.8 R .625 +(The intent is that the user database will act as a set of def)5.625 F .626 +(aults for a cluster)-.1 F 1.533(\(in our case, the Computer Science Di)117 +631.8 R 1.533(vision\); mail sent to a speci\214c machine should ignore)-.25 F +(these def)117 643.8 Q(aults.)-.1 E .351 +(When mail is sent, the name of the sending user is look)142 660 R .351 +(ed up in the database.)-.1 F .352(If that user)5.351 F .041 +(has a \231mailname\232 record, the v)117 672 R .041 +(alue of that record is used as their outgoing name.)-.25 F -.15(Fo)5.04 G 2.54 +(re).15 G .04(xample, I)466.19 672 R(might ha)117 684 Q .3 -.15(ve a r)-.2 H +(ecord:).15 E 25.94(eric:mailname Eric.Allman@CS.Berk)157 700.2 R(ele)-.1 E +-.65(y.)-.15 G(EDU).65 E(This w)117 716.4 Q +(ould cause my outgoing mail to be sent as Eric.Allman.)-.1 E EP +%%Page: 48 43 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-48 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF .519 +(If a \231maildrop\232 is found for the user)142 96 R 3.019(,b)-.4 G .52 +(ut no corresponding \231mailname\232 record e)299.682 96 R .52(xists, the)-.15 +F 1.128(record \231:def)117 108 R 1.128(ault:mailname\232 is consulted.)-.1 F +1.127(If present, this is the name of a host to o)6.128 F -.15(ve)-.15 G 1.127 +(rride the).15 F .625(local host.)117 120 R -.15(Fo)5.625 G 3.125(re).15 G .625 +(xample, in our case we w)185.515 120 R .625(ould set it to \231CS.Berk)-.1 F +(ele)-.1 E -.65(y.)-.15 G 3.125(EDU\232. The).65 F(ef)3.125 E .625 +(fect is that)-.25 F(an)117 132 Q .882(yone kno)-.15 F .882 +(wn in the database gets their outgoing mail stamped as \231user@CS.Berk)-.25 F +(ele)-.1 E -.65(y.)-.15 G(EDU\232,).65 E -.2(bu)117 144 S 2.5(tp).2 G +(eople not listed in the database use the local hostname.)137.08 144 Q F0 2.5 +(5.3.3. Cr)102 170 R(eating the database)-.18 E/F2 7/Times-Bold@0 SF(18)223.2 +166 Q F1 .375(The user database is b)142 186.2 R .375(uilt from a te)-.2 F .375 +(xt \214le using the)-.15 F/F3 10/Times-Italic@0 SF(mak)2.875 E(emap)-.1 E F1 +.375(utility \(in the distrib)2.875 F .375(ution in)-.2 F 1.038(the mak)117 +198.2 R 1.038(emap subdirectory\).)-.1 F 1.038(The te)6.038 F 1.039 +(xt \214le is a series of lines corresponding to userdb records;)-.15 F 1.589 +(each line has a k)117 210.2 R 1.889 -.15(ey a)-.1 H 1.589(nd a v).15 F 1.589 +(alue separated by white space.)-.25 F 1.589(The k)6.589 F 1.889 -.15(ey i)-.1 +H 4.089(sa).15 G -.1(lwa)421.945 210.2 S 1.588(ys in the format).1 F +(described abo)117 222.2 Q .3 -.15(ve \212 f)-.15 H(or e).15 E(xample:)-.15 E +(eric:maildrop)157 238.4 Q .447 +(This \214le is normally installed in a system directory; for e)117 254.6 R +.448(xample, it might be called)-.15 F F3(/etc/user)2.948 E(db)-.37 E F1(.)A +1.6 -.8(To m)117 266.6 T(ak).8 E 2.5(et)-.1 G(he database v)156.65 266.6 Q +(ersion of the map, run the program:)-.15 E(mak)157 282.8 Q +(emap btree /etc/userdb)-.1 E(.db < /etc/userdb)-.4 E .077 +(Then create a con\214g \214le that uses this.)117 299 R -.15(Fo)5.077 G 2.577 +(re).15 G .077(xample, using the V8 M4 con\214guration, include the)296.533 299 +R(follo)117 311 Q(wing line in your .mc \214le:)-.25 E +(de\214ne\(\222confUSERDB_SPEC\264, /etc/userdb)157 327.2 Q(.db\))-.4 E F0 2.5 +(6. O)72 355.4 R(THER CONFIGURA)-.4 E(TION)-.95 E F1 .907 +(There are some con\214guration changes that can be made by recompiling)112 +371.6 R F3(sendmail)3.407 E F1 5.907(.T)C .907(his section)460.593 371.6 R +(describes what changes can be made and what has to be modi\214ed to mak)87 +383.6 Q 2.5(et)-.1 G(hem.)387.95 383.6 Q F0 2.5(6.1. P)87 407.6 R +(arameters in sr)-.1 E(c/Mak)-.18 E(e\214le)-.1 E F1 .92 +(These parameters are intended to describe the compilation en)127 423.8 R .92 +(vironment, not site polic)-.4 F 2.22 -.65(y, a)-.15 H(nd).65 E +(should normally be de\214ned in src/Mak)102 435.8 Q(e\214le.)-.1 E 39.5 +(NDBM If)102 452 R .664(set, the ne)3.164 F 3.164(wv)-.25 G .664 +(ersion of the DBM library that allo)240.406 452 R .665 +(ws multiple databases will be)-.25 F 2.543(used. If)174 464 R .042 +(neither NDBM nor NEWDB are set, a much less ef)2.543 F .042 +(\214cient method of alias)-.25 F(lookup is used.)174 476 Q 32.84(NEWDB If)102 +492.2 R .141(set, use the ne)2.641 F 2.642(wd)-.25 G .142 +(atabase package from Berk)254.436 492.2 R(ele)-.1 E 2.642(y\()-.15 G .142 +(from 4.4BSD\).)385.814 492.2 R .142(This package)5.142 F .267 +(is substantially f)174 504.2 R .267(aster than DBM or NDBM.)-.1 F .267 +(If NEWDB and NDBM are both set,)5.267 F F3(sendmail)174 516.2 Q F1 +(will read DBM \214les, b)2.5 E(ut will create and use NEWDB \214les.)-.2 E +53.39(NIS Include)102 532.4 R .119(support for NIS.)2.619 F .119 +(If set together with)5.119 F F3(both)2.619 E F1 .119(NEWDB and NDBM,)2.619 F +F3(sendmail)2.62 E F1 1.076 +(will create both DBM and NEWDB \214les if and only if the \214le /v)174 544.4 +R(ar/yp/Mak)-.25 E(e\214le)-.1 E -.15(ex)174 556.4 S .292 +(ists and is readable.).15 F .293 +(This is intended for compatibility with Sun Microsystems')5.293 F F3(mkalias) +174 568.4 Q F1(program used on YP masters.)2.5 E 25.05(SYSTEM5 Set)102 584.6 R +(all of the compilation parameters appropriate for System V)2.5 E(.)-1.29 E +36.72(LOCKF Use)102 600.8 R .3(System V)2.8 F F0(lockf)2.8 E F1 .299 +(instead of Berk)2.799 F(ele)-.1 E(y)-.15 E F0(\215ock)2.799 E F1 5.299(.D)C +.299(ue to the highly unusual seman-)375.015 600.8 R .051 +(tics of locks across forks in)174 612.8 R F0(lockf)2.551 E F1 2.551(,t)C .051 +(his should ne)314.897 612.8 R -.15(ve)-.25 G 2.552(rb).15 G 2.552(eu)387.702 +612.8 S .052(sed unless absolutely nec-)399.694 612.8 R(essary)174 624.8 Q 5 +(.S)-.65 G(et by def)211.4 624.8 Q(ault if SYSTEM5 is set.)-.1 E 33.94 +(SYS5TZ Use)102 641 R(System V time zone semantics.)2.5 E(HASINITGR)102 657.2 Q +(OUPS)-.4 E 2.392(Set this if your system has the)174 669.2 R F3(initgr)4.892 E +(oups\(\))-.45 E F1 2.391(call \(if you ha)4.891 F 2.691 -.15(ve m)-.2 H 2.391 +(ultiple group).15 F .32 LW 76 678.8 72 678.8 DL 80 678.8 76 678.8 DL 84 678.8 +80 678.8 DL 88 678.8 84 678.8 DL 92 678.8 88 678.8 DL 96 678.8 92 678.8 DL 100 +678.8 96 678.8 DL 104 678.8 100 678.8 DL 108 678.8 104 678.8 DL 112 678.8 108 +678.8 DL 116 678.8 112 678.8 DL 120 678.8 116 678.8 DL 124 678.8 120 678.8 DL +128 678.8 124 678.8 DL 132 678.8 128 678.8 DL 136 678.8 132 678.8 DL 140 678.8 +136 678.8 DL 144 678.8 140 678.8 DL 148 678.8 144 678.8 DL 152 678.8 148 678.8 +DL 156 678.8 152 678.8 DL 160 678.8 156 678.8 DL 164 678.8 160 678.8 DL 168 +678.8 164 678.8 DL 172 678.8 168 678.8 DL 176 678.8 172 678.8 DL 180 678.8 176 +678.8 DL 184 678.8 180 678.8 DL 188 678.8 184 678.8 DL 192 678.8 188 678.8 DL +196 678.8 192 678.8 DL 200 678.8 196 678.8 DL 204 678.8 200 678.8 DL 208 678.8 +204 678.8 DL 212 678.8 208 678.8 DL 216 678.8 212 678.8 DL/F4 5/Times-Roman@0 +SF(18)93.6 689.2 Q/F5 8/Times-Roman@0 SF .288(These instructions are kno)3.2 J +.289(wn to be incomplete.)-.2 F 2.289(Af)4.289 G .289(uture v)266.46 692.4 R +.289(ersion of the user database is planned including things such as \214n-) +-.12 F(ger service \212 and good documentation.)72 702 Q EP +%%Page: 49 44 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-49)452.9 60 Q/F1 10/Times-Roman@0 SF 2.5(support\). This)174 96 R +(is the def)2.5 E(ault if SYSTEM5 is)-.1 E/F2 10/Times-Italic@0 SF(not)2.5 E F1 +(de\214ned or if you are on HPUX.)2.5 E(HASUN)102 112.2 Q 13.19(AME Set)-.35 F +.89(this if you ha)3.39 F 1.19 -.15(ve t)-.2 H(he).15 E F2(uname)3.39 E F1 .89 +(\(2\) system call \(or corresponding library routine\).)B(Set by def)174 124.2 +Q(ault if SYSTEM5 is set.)-.1 E(HASST)102 140.4 Q -1.11(AT)-.93 G 15.42(FS Set) +1.11 F .202(this if you ha)2.702 F .502 -.15(ve t)-.2 H(he).15 E F2(statfs) +2.702 E F1 .202(\(2\) system call.)B .202(This will allo)5.202 F 2.702(wy)-.25 +G .202(ou to gi)425.824 140.4 R .501 -.15(ve a t)-.25 H(empo-).15 E .107 +(rary f)174 152.4 R .108(ailure message to incoming SMTP email when you are lo) +-.1 F 2.608(wo)-.25 G 2.608(nd)441.186 152.4 S .108(isk space.)453.794 152.4 R +(It)5.108 E(is set by def)174 164.4 Q(ault on 4.4BSD and OSF/1 systems.)-.1 E +(HASUST)102 180.6 Q 21.54 -1.11(AT S)-.93 H .594(et if you ha)1.11 F .894 -.15 +(ve t)-.2 H(he).15 E F2(ustat)3.094 E F1 .594(\(2\) system call.)B .594 +(This is an alternati)5.594 F .893 -.15(ve i)-.25 H .593(mplementation of).15 F +.525(disk space control.)174 192.6 R -1.1(Yo)5.525 G 3.025(us)1.1 G .525 +(hould only set one of HASST)278.32 192.6 R -1.11(AT)-.93 G .525(FS or HASUST) +1.11 F -.83 -1.11(AT ;)-.93 H(the)4.135 E(\214rst is preferred.)174 204.6 Q(_P) +102 220.8 Q -1.11(AT)-.92 G(H_SENDMAILCF)1.11 E +(The pathname of the sendmail.cf \214le.)174 232.8 Q(_P)102 249 Q -1.11(AT)-.92 +G(H_SENDMAILPID)1.11 E(The pathname of the sendmail.pid \214le.)174 261 Q 26.17 +(LA_TYPE The)102 277.2 R(load a)2.5 E -.15(ve)-.2 G(rage type.).15 E +(Details are described belo)5 E -.65(w.)-.25 G .343(The are se)102 293.4 R -.15 +(ve)-.25 G .342(ral b).15 F .342(uilt-in w)-.2 F .342 +(ays of computing the load a)-.1 F -.15(ve)-.2 G(rage.).15 E F2(Sendmail)5.342 +E F1 .342(tries to auto-con\214gure them)2.842 F .266 +(based on imperfect guesses; you can select one using the)102 305.4 R F2(cc) +2.767 E F1(option)2.767 E F0(\255DLA_TYPE=)2.767 E F2(type)A F1 2.767(,w)C +(here)467.363 305.4 Q F2(type)2.767 E F1(is:)102 317.4 Q 34.51(LA_INT The)102 +333.6 R -.1(ke)2.979 G .479(rnel stores the load a).1 F -.15(ve)-.2 G .479 +(rage in the k).15 F .478(ernel as an array of long inte)-.1 F 2.978(gers. The) +-.15 F(actual v)174 345.6 Q(alues are scaled by a f)-.25 E(actor FSCALE \(def) +-.1 E(ault 256\).)-.1 E(LA_SHOR)102 361.8 Q 21.49(TT)-.6 G .33(he k)180.11 +361.8 R .33(ernel stores the load a)-.1 F -.15(ve)-.2 G .331(rage in the k).15 +F .331(ernel as an array of short inte)-.1 F 2.831(gers. The)-.15 F(actual v) +174 373.8 Q(alues are scaled by a f)-.25 E(actor FSCALE \(def)-.1 E +(ault 256\).)-.1 E(LA_FLO)102 390 Q 22.63 -1.11(AT T)-.35 H 1.118(he k)1.11 F +1.117(ernel stores the load a)-.1 F -.15(ve)-.2 G 1.117(rage in the k).15 F +1.117(ernel as an array of double precision)-.1 F(\215oats.)174 402 Q(LA_MA)102 +418.2 Q 21.57(CH Use)-.4 F(MA)2.5 E(CH-style load a)-.4 E -.15(ve)-.2 G(rages.) +.15 E 25.05(LA_SUBR Call)102 434.4 R(the)2.5 E F2 -.1(ge)2.5 G(tloadavg).1 E F1 +(routine to get the load a)2.5 E -.15(ve)-.2 G(rage as an array of doubles.).15 +E(LA_ZER)102 450.6 Q 27.96(OA)-.4 G -.1(lwa)181.22 450.6 S +(ys return zero as the load a).1 E -.15(ve)-.2 G 2.5(rage. This).15 F(is the f) +2.5 E(allback case.)-.1 E .493(If type)102 466.8 R/F3 9/Times-Roman@0 SF +(LA_INT)2.993 E F1(,)A F3(LA_SHOR)2.993 E(T)-.54 E F1 2.993(,o)C(r)224.802 +466.8 Q F3(LA_FLO)2.993 E -.999(AT)-.315 G F1 .493 +(is speci\214ed, you may also need to specify)3.992 F F3(_P)2.994 E -.999(AT) +-.828 G(H_UNIX).999 E F1 .949(\(the path to your system binary\) and)102 478.8 +R F3(LA_A)3.448 E(VENR)-1.215 E(UN)-.36 E F1 .948(\(the name of the v)3.448 F +.948(ariable containing the load)-.25 F -2.25 -.2(av e)102 490.8 T +(rage in the k).2 E(ernel; usually \231_a)-.1 E -.15(ve)-.2 G +(nrun\232 or \231a).15 E -.15(ve)-.2 G(nrun\232\).).15 E 1.439 +(There are also se)127 507 R -.15(ve)-.25 G 1.439 +(ral compilation \215ags to indicate the en).15 F 1.44 +(vironment such as \231_AIX3\232 and)-.4 F 2.5(\231_SCO_unix_\232. See)102 519 +R(the READ_ME \214le for the latest scoop on these \215ags.)2.5 E F0 2.5 +(6.2. P)87 543 R(arameters in sr)-.1 E(c/conf)-.18 E(.h)-.15 E F1 -.15(Pa)127 +559.2 S .896(rameters and compilation options are de\214ned in conf.h.).15 F +.895(Most of these need not normally)5.895 F .192(be tweak)102 571.2 R .192 +(ed; common parameters are all in sendmail.cf.)-.1 F(Ho)5.192 E(we)-.25 E -.15 +(ve)-.25 G .992 -.4(r, t).15 H .192(he sizes of certain primiti).4 F .493 -.15 +(ve ve)-.25 H(c-).15 E(tors, etc., are included in this \214le.)102 583.2 Q +(The numbers follo)5 E(wing the parameters are their def)-.25 E(ault v)-.1 E +(alue.)-.25 E 1.91(MAXLINE [1024])102 599.4 R 1.909 +(The maximum line length of an)190.31 599.4 R 4.409(yi)-.15 G 1.909(nput line.) +338.276 599.4 R 1.909(If message lines e)6.909 F 1.909(xceed this)-.15 F .575 +(length the)188.4 611.4 R 3.075(yw)-.15 G .575 +(ill still be processed correctly; ho)243.84 611.4 R(we)-.25 E -.15(ve)-.25 G +1.375 -.4(r, h).15 H .575(eader lines, con\214gura-).4 F +(tion \214le lines, alias lines, etc., must \214t within this limit.)188.4 +623.4 Q(MAXN)102 639.6 Q(AME [256])-.35 E(The maximum length of an)9.82 E 2.5 +(yn)-.15 G(ame, such as a host or a user name.)309.63 639.6 Q .231(MAXPV [40]) +102 655.8 R .231(The maximum number of parameters to an)188.631 655.8 R 2.731 +(ym)-.15 G(ailer)376.458 655.8 Q 5.231(.T)-.55 G .23(his limits the number of) +407.519 655.8 R .375(recipients that may be passed in one transaction.)188.4 +667.8 R .376(It can be set to an)5.376 F 2.876(ya)-.15 G(rbitrary)474.01 667.8 +Q .876(number abo)188.4 679.8 R 1.176 -.15(ve a)-.15 H .876(bout 10, since).15 +F F2(sendmail)3.376 E F1 .876(will break up a deli)3.376 F -.15(ve)-.25 G .875 +(ry into smaller).15 F .886(batches as needed.)188.4 691.8 R 3.386(Ah)5.886 G +.887(igher number may reduce load on your system, ho)285.804 691.8 R(w-)-.25 E +-2.15 -.25(ev e)188.4 703.8 T -.55(r.).25 G EP +%%Page: 50 45 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-50 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(MAXA)102 96 Q +-.18(TO)-1.11 G 2.559(M[).18 G 8.26(100] The)159.369 96 R .059 +(maximum number of atoms \(tok)2.559 F .058(ens\) in a single address.)-.1 F +-.15(Fo)5.058 G 2.558(re).15 G .058(xample, the)457.282 96 R +(address \231eric@CS.Berk)188.4 108 Q(ele)-.1 E -.65(y.)-.15 G(EDU\232 is se) +.65 E -.15(ve)-.25 G 2.5(na).15 G(toms.)367.93 108 Q .112(MAXMAILERS [25])102 +124.2 R .112(The maximum number of mailers that may be de\214ned in the con\ +\214guration \214le.).02 F(MAXR)102 140.4 Q(WSETS [100])-.55 E +(The maximum number of re).01 E(writing sets that may be de\214ned.)-.25 E +(MAXPRIORITIES [25])102 156.6 Q 2.482(The maximum number of v)188.4 168.6 R +2.482(alues for the \231Precedence:\232 \214eld that may be)-.25 F +(de\214ned \(using the)188.4 180.6 Q F0(P)2.5 E F1(line in sendmail.cf\).)2.5 E +(MAXUSERENVIR)102 196.8 Q(ON [40])-.4 E .399 +(The maximum number of items in the user en)188.4 208.8 R .4 +(vironment that will be passed to)-.4 F(subordinate mailers.)188.4 220.8 Q -.1 +(QU)102 237 S(EUESIZE [1000]).1 E +(The maximum number of entries that will be processed in a single queue run.) +2.35 E(MAXMXHOSTS [20])102 253.2 Q +(The maximum number of MX records we will accept for an)188.4 265.2 Q 2.5(ys) +-.15 G(ingle host.)439.03 265.2 Q 2.851(An)102 281.4 S .351 +(umber of other compilation options e)117.071 281.4 R 2.851(xist. These)-.15 F +.35(specify whether or not speci\214c code should be)2.851 F(compiled in.)102 +293.4 Q(DEB)102 309.6 Q 49.56(UG If)-.1 F 1.226(set, deb)3.726 F 1.226 +(ugging information is compiled in.)-.2 F 2.827 -.8(To a)6.226 H 1.227 +(ctually get the deb).8 F(ugging)-.2 E .4(output, the)188.4 321.6 R F0<ad64>2.9 +E F1 .4(\215ag must be used.)2.9 F F0 .4(WE STR)5.4 F(ONGL)-.3 E 2.9(YR)-.92 G +.4(ECOMMEND THA)412.05 321.6 R(T)-.95 E .97(THIS BE LEFT ON.)188.4 333.6 R F1 +.97(Some people, belie)5.97 F .97(ving that it w)-.25 F .97 +(as a security hole \(it)-.1 F -.1(wa)188.4 345.6 S(s, once\) ha).1 E .3 -.15 +(ve t)-.2 H(urned it of).15 E 2.5(fa)-.25 G(nd thus crippled deb)309.05 345.6 Q +(uggers.)-.2 E 41.69(NETINET If)102 361.8 R .829 +(set, support for Internet protocol netw)3.33 F .829(orking is compiled in.)-.1 +F(Pre)5.829 E .829(vious v)-.25 F(er)-.15 E(-)-.2 E .177(sions of)188.4 373.8 R +/F2 10/Times-Italic@0 SF(sendmail)2.677 E F1 .177(referred to this as)2.677 F +/F3 9/Times-Roman@0 SF -.36(DA)2.678 G(EMON).36 E F1 2.678(;t)C .178 +(his old usage is no)381.71 373.8 R 2.678(wi)-.25 G(ncorrect.)468.74 373.8 Q +48.35(NETISO If)102 390 R .143(set, support for ISO protocol netw)2.643 F .142 +(orking is compiled in \(it may be appropri-)-.1 F +(ate to #de\214ne this in the Mak)188.4 402 Q(e\214le instead of conf.h\).)-.1 +E 63.35(LOG If)102 418.2 R .5(set, the)3 F F2(syslo)3 E(g)-.1 E F1 .5 +(routine in use at some sites is used.)3 F .5(This mak)5.5 F .5(es an informa-) +-.1 F .504(tional log record for each message processed, and mak)188.4 430.2 R +.504(es a higher priority log)-.1 F(record for internal system errors.)188.4 +442.2 Q(MA)102 458.4 Q 16.12(TCHGECOS Compile)-1.11 F 3.555 +(in the code to do `)6.055 F 3.555(`fuzzy matching')-.74 F 6.055('o)-.74 G +6.055(nt)404.22 458.4 S 3.555(he GECOS \214eld in)418.055 458.4 R 2.5 +(/etc/passwd. This)188.4 470.4 R(also requires that option G be turned on.)2.5 +E -.35(NA)102 486.6 S 18.15(MED_BIND Compile).35 F .413 +(in code to use the Berk)2.913 F(ele)-.1 E 2.912(yI)-.15 G .412 +(nternet Name Domain \(BIND\) serv)342.41 486.6 R .412(er to)-.15 F(resolv) +188.4 498.6 Q 2.5(eT)-.15 G(CP/IP host names.)225.74 498.6 Q(NO)102 514.8 Q +38.76(TUNIX If)-.4 F .247 +(you are using a non-UNIX mail format, you can set this \215ag to turn of)2.747 +F 2.748(fs)-.25 G(pe-)491.23 514.8 Q +(cial processing of UNIX-style \231From \232 lines.)188.4 526.8 Q -.1(QU)102 +543 S 50.12(EUE This).1 F 1.559 +(\215ag should be set to compile in the queueing code.)4.06 F 1.559 +(If this is not set,)6.559 F +(mailers must accept the mail immediately or it will be returned to the sender) +188.4 555 Q(.)-.55 E(SETPR)102 571.2 Q 12.63(OCTITLE If)-.4 F(de\214ned,)3.88 E +F2(sendmail)3.88 E F1 1.381(will change its)3.881 F F2(ar)3.881 E(gv)-.37 E F1 +1.381(array to indicate its current status.)3.881 F .207 +(This can be used in conjunction with the)188.4 583.2 R F2(ps)2.707 E F1 .206 +(command to \214nd out just what it')2.707 F(s)-.55 E(up to.)188.4 595.2 Q +57.78(SMTP If)102 611.4 R .756(set, the code to handle user and serv)3.256 F +.756(er SMTP will be compiled in.)-.15 F .756(This is)5.756 F 2.507 +(only necessary if your machine has some mailer that speaks SMTP \(this)188.4 +623.4 R(means most machines e)188.4 635.4 Q -.15(ve)-.25 G(rywhere\).).15 E +(UGL)102 651.6 Q 30.46(YUUCP If)-1 F 1.023(you ha)3.523 F 1.323 -.15(ve a U)-.2 +H 1.024(UCP host adjacent to you which is not running a reasonable).15 F -.15 +(ve)188.4 663.6 S .112(rsion of).15 F F2(rmail)2.612 E F1 2.612(,y)C .112 +(ou will ha)263.026 663.6 R .412 -.15(ve t)-.2 H 2.612(os).15 G .112 +(et this \215ag to include the \231remote from sys-)329.234 663.6 R .031 +(name\232 info on the from line.)188.4 675.6 R .032 +(Otherwise, UUCP gets confused about where the)5.032 F(mail came from.)188.4 +687.6 Q 44.45(USERDB Include)102 703.8 R(the)3.449 E F0(experimental)3.449 E F1 +(Berk)3.449 E(ele)-.1 E 3.449(yu)-.15 G .949(ser information database package.) +341.356 703.8 R(This)5.948 E .27(adds a ne)188.4 715.8 R 2.77(wl)-.25 G -2.15 +-.25(ev e)238.67 715.8 T 2.77(lo).25 G 2.77(fl)262.7 715.8 S .27(ocal name e) +271.58 715.8 R .27(xpansion between aliasing and forw)-.15 F 2.77(arding. It) +-.1 F EP +%%Page: 51 46 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-51)452.9 60 Q/F1 10/Times-Roman@0 SF(also uses the NEWDB package.)188.4 +96 Q(This may change in future releases.)5 E(IDENTPR)102 112.2 Q -1.88 -.4 +(OT O)-.4 H .376(Compile in the IDENT protocol as de\214ned in RFC 1413.)188.4 +112.2 R .375(This def)5.375 F .375(aults on for)-.1 F 1.053(all systems e)188.4 +124.2 R 1.053 +(xcept Ultrix, which apparently has the interesting \231feature\232 that)-.15 F +.83(when it recei)188.4 136.2 R -.15(ve)-.25 G 3.33(sa\231).15 G .83 +(host unreachable\232 message it closes all open connections)270.18 136.2 R +1.921(to that host.)188.4 148.2 R 1.921(Since some \214re)6.921 F -.1(wa)-.25 G +1.922(ll g).1 F(ate)-.05 E -.1(wa)-.25 G 1.922 +(ys send this error code when you).1 F 2.055 +(access an unauthorized port \(such as 113, used by IDENT\), Ultrix cannot) +188.4 160.2 R(recei)188.4 172.2 Q .3 -.15(ve e)-.25 H(mail from such hosts.).15 +E F0 2.5(6.3. Con\214guration)87 196.2 R(in sr)2.5 E(c/conf)-.18 E(.c)-.15 E F1 +(The follo)127 212.4 Q(wing changes can be made in conf.c.)-.25 E F0 2.5 +(6.3.1. Built-in)102 236.4 R(Header Semantics)2.5 E F1 1.248 +(Not all header semantics are de\214ned in the con\214guration \214le.)142 +252.6 R 1.248(Header lines that should)6.248 F .305(only be included by certai\ +n mailers \(as well as other more obscure semantics\) must be speci\214ed)117 +264.6 R .046(in the)117 276.6 R/F2 10/Times-Italic@0 SF(HdrInfo)2.546 E F1 .046 +(table in)2.546 F F2(conf)2.546 E(.c)-.15 E F1 5.046(.T)C .047 +(his table contains the header name \(which should be in all lo)246.836 276.6 R +(wer)-.25 E(case\) and a set of header control \215ags \(described belo)117 +288.6 Q(w\), The \215ags are:)-.25 E(H_A)117 304.8 Q 30.97(CHECK Normally)-.4 F +.007(when the check is made to see if a header line is compatible with)2.508 F +2.94(am)203.4 316.8 S(ailer)218.56 316.8 Q(,)-.4 E F2(sendmail)2.94 E F1 .441 +(will not delete an e)2.94 F .441(xisting line.)-.15 F .441 +(If this \215ag is set,)5.441 F F2(send-)2.941 E(mail)203.4 328.8 Q F1 .152 +(will delete e)2.652 F -.15(ve)-.25 G 2.652(ne).15 G .152 +(xisting header lines.)293.998 328.8 R .152 +(That is, if this bit is set and the)5.152 F 1.425(mailer does not ha)203.4 +340.8 R 1.725 -.15(ve \215)-.2 H 1.425 +(ag bits set that intersect with the required mailer).15 F 2.204 +(\215ags in the header de\214nition in sendmail.cf, the header line is)203.4 +352.8 R F2(always)4.703 E F1(deleted.)203.4 364.8 Q 51.13(H_EOH If)117 381 R +.206(this header \214eld is set, treat it lik)2.705 F 2.706(eab)-.1 G .206 +(lank line, i.e., it will signal the end)363.948 381 R +(of the header and the be)203.4 393 Q(ginning of the message te)-.15 E(xt.)-.15 +E 39.45(H_FORCE Add)117 409.2 R 2.039(this header entry e)4.539 F -.15(ve)-.25 +G 4.539(ni).15 G 4.539(fo)326.225 409.2 S 2.038(ne e)339.094 409.2 R 2.038 +(xisted in the message before.)-.15 F 2.038(If a)7.038 F 2.188 +(header entry does not ha)203.4 421.2 R 2.488 -.15(ve t)-.2 H 2.188 +(his bit set,).15 F F2(sendmail)4.688 E F1 2.189(will not add another)4.689 F +.62(header line if a header line of this name already e)203.4 433.2 R 3.12 +(xisted. This)-.15 F -.1(wo)3.12 G .62(uld nor).1 F(-)-.2 E +(mally be used to stamp the message by e)203.4 445.2 Q -.15(ve)-.25 G +(ryone who handled it.).15 E(H_TRA)117 461.4 Q 39.3(CE If)-.4 F 1.043 +(set, this is a timestamp \(trace\) \214eld.)3.543 F 1.044 +(If the number of trace \214elds in a)6.043 F .706(message e)203.4 473.4 R .705 +(xceeds a preset amount the message is returned on the assump-)-.15 F +(tion that it has an aliasing loop.)203.4 485.4 Q 46.67(H_RCPT If)117 501.6 R +.332(set, this \214eld contains recipient addresses.)2.832 F .332 +(This is used by the)5.332 F F0<ad74>2.832 E F1 .333(\215ag to)2.833 F 1.349 +(determine who to send to when it is collecting recipients from the mes-)203.4 +513.6 R(sage.)203.4 525.6 Q(H_FR)117 541.8 Q 43.74(OM This)-.4 F 1.673 +(\215ag indicates that this \214eld speci\214es a sender)4.173 F 6.674(.T)-.55 +G 1.674(he order of these)432.058 541.8 R .898(\214elds in the)203.4 553.8 R F2 +(HdrInfo)3.398 E F1 .898(table speci\214es)3.398 F F2(sendmail)3.398 E F1 1.998 +-.55('s p)D .898(reference for which \214eld).55 F +(to return error messages to.)203.4 565.8 Q(Let')117 582 Q 2.5(sl)-.55 G +(ook at a sample)142.28 582 Q F2(HdrInfo)2.5 E F1(speci\214cation:)2.5 E EP +%%Page: 52 47 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-52 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(struct hdrinfo) +157 96 Q(HdrInfo[] =)258.19 96 Q({)157 108 Q +(/* originator \214elds, most to least signi\214cant)189.5 120 Q(*/)5 E 14.72 +("resent-sender", H_FR)177 132 R(OM,)-.4 E 21.38("resent-from", H_FR)177 144 R +(OM,)-.4 E 41.93("sender", H_FR)177 156 R(OM,)-.4 E 48.59("from", H_FR)177 168 +R(OM,)-.4 E 29.15("full-name", H_A)177 180 R(CHECK,)-.4 E +(/* destination \214elds */)189.5 192 Q 60.25("to", H_RCPT)177 204 R(,)-.74 E +33.04("resent-to", H_RCPT)177 216 R(,)-.74 E 59.15("cc", H_RCPT)177 228 R(,) +-.74 E(/* message identi\214cation and control */)189.5 240 Q 34.15 +("message", H_EOH,)177 252 R("te)177 264 Q 53.18(xt", H_EOH,)-.15 F +(/* trace \214elds */)189.5 276 Q("recei)177 288 Q -.15(ve)-.25 G 34.56 +(d", H_TRA).15 F(CE|H_FORCE,)-.4 E 49.53(NULL, 0,)177 312 R(};)157 324 Q 2.435 +(This structure indicates that the \231T)117 340.2 R 2.435 +(o:\232, \231Resent-T)-.8 F 2.435 +(o:\232, and \231Cc:\232 \214elds all specify recipient)-.8 F 3.162 +(addresses. An)117 352.2 R 3.162<7999>-.15 G .661(Full-Name:\232 \214eld will \ +be deleted unless the required mailer \215ag \(indicated in)188.154 352.2 R +.245(the con\214guration \214le\) is speci\214ed.)117 364.2 R .245 +(The \231Message:\232 and \231T)5.245 F -.15(ex)-.7 G .246 +(t:\232 \214elds will terminate the header;).15 F 1.936 +(these are used by random dissenters around the netw)117 376.2 R 1.936(ork w) +-.1 F 4.436(orld. The)-.1 F(\231Recei)4.436 E -.15(ve)-.25 G 1.936 +(d:\232 \214eld will).15 F(al)117 388.2 Q -.1(wa)-.1 G +(ys be added, and can be used to trace messages.).1 E .445 +(There are a number of important points here.)142 404.4 R .446 +(First, header \214elds are not added automati-)5.446 F .657 +(cally just because the)117 416.4 R 3.157(ya)-.15 G .657(re in the)216.678 +416.4 R/F2 10/Times-Italic@0 SF(HdrInfo)3.157 E F1 .657(structure; the)3.157 F +3.157(ym)-.15 G .656(ust be speci\214ed in the con\214guration)358.23 416.4 R +.727(\214le in order to be added to the message.)117 428.4 R(An)5.728 E 3.228 +(yh)-.15 G .728(eader \214elds mentioned in the con\214guration \214le)312.982 +428.4 R -.2(bu)117 440.4 S 3.24(tn).2 G .74(ot mentioned in the)137.82 440.4 R +F2(HdrInfo)3.24 E F1 .74(structure ha)3.24 F 1.04 -.15(ve d)-.2 H(ef).15 E .74 +(ault processing performed; that is, the)-.1 F 3.24(ya)-.15 G(re)496.23 440.4 Q +1.374(added unless the)117 452.4 R 3.874(yw)-.15 G 1.374 +(ere in the message already)201.792 452.4 R 6.375(.S)-.65 G 1.375(econd, the) +326.595 452.4 R F2(HdrInfo)3.875 E F1 1.375(structure only speci\214es)3.875 F +.324 +(cliched processing; certain headers are processed specially by ad hoc code re) +117 464.4 R -.05(ga)-.15 G .324(rdless of the sta-).05 F .48 +(tus speci\214ed in)117 476.4 R F2(HdrInfo)2.98 E F1 5.48(.F)C .481(or e)226.55 +476.4 R .481(xample, the \231Sender:\232 and \231From:\232 \214elds are al)-.15 +F -.1(wa)-.1 G .481(ys scanned on).1 F(ARP)117 490.4 Q .75 +(ANET mail to determine the sender)-.92 F/F3 7/Times-Roman@0 SF(19)282.31 486.4 +Q F1 3.251(;t)289.31 490.4 S .751 +(his is used to perform the \231return to sender\232 func-)298.121 490.4 R +2.977(tion. The)117 502.4 R .476(\231From:\232 and \231Full-Name:\232 \214elds\ + are used to determine the full name of the sender if)2.977 F +(possible; this is stored in the macro)117 514.4 Q F0($x)2.5 E F1 +(and used in a number of w)2.5 E(ays.)-.1 E F0 2.5(6.3.2. Restricting)102 538.4 +R(Use of Email)2.5 E F1 .149 +(If it is necessary to restrict mail through a relay)142 554.6 R 2.649(,t)-.65 +G(he)339.75 554.6 Q F2 -.15(ch)2.65 G(ec).15 E(kcompat)-.2 E F1 .15 +(routine can be modi\214ed.)2.65 F .163(This routine is called for e)117 566.6 +R -.15(ve)-.25 G .163(ry recipient address.).15 F .163(It returns an e)5.163 F +.163(xit status indicating the status of)-.15 F .895(the message.)117 578.6 R +.895(The status)5.895 F/F4 9/Times-Roman@0 SF(EX_OK)3.395 E F1 .895 +(accepts the address,)3.395 F F4(EX_TEMPF)3.395 E(AIL)-.666 E F1 .895 +(queues the message for a)3.395 F .264(later try)117 590.6 R 2.764(,a)-.65 G +.264(nd other v)157.698 590.6 R .264(alues \(commonly)-.25 F F4(EX_UN)2.764 E +-1.215(AVA)-.315 G(ILABLE)1.215 E F1 2.764(\)r)C .264(eject the message.) +358.375 590.6 R .263(It is up to)5.264 F F2 -.15(ch)2.763 G(ec).15 E(k-)-.2 E +(compat)117 602.6 Q F1 .429(to print an error message \(using)2.929 F F2(usr) +2.929 E(err)-.37 E F1 2.929(\)i)C 2.929(ft)315.032 602.6 S .43 +(he message is rejected.)324.071 602.6 R -.15(Fo)5.43 G 2.93(re).15 G(xample,) +443.39 602.6 Q F2 -.15(ch)2.93 G(ec).15 E(k-)-.2 E(compat)117 614.6 Q F1 +(could read:)2.5 E .32 LW 76 669.2 72 669.2 DL 80 669.2 76 669.2 DL 84 669.2 80 +669.2 DL 88 669.2 84 669.2 DL 92 669.2 88 669.2 DL 96 669.2 92 669.2 DL 100 +669.2 96 669.2 DL 104 669.2 100 669.2 DL 108 669.2 104 669.2 DL 112 669.2 108 +669.2 DL 116 669.2 112 669.2 DL 120 669.2 116 669.2 DL 124 669.2 120 669.2 DL +128 669.2 124 669.2 DL 132 669.2 128 669.2 DL 136 669.2 132 669.2 DL 140 669.2 +136 669.2 DL 144 669.2 140 669.2 DL 148 669.2 144 669.2 DL 152 669.2 148 669.2 +DL 156 669.2 152 669.2 DL 160 669.2 156 669.2 DL 164 669.2 160 669.2 DL 168 +669.2 164 669.2 DL 172 669.2 168 669.2 DL 176 669.2 172 669.2 DL 180 669.2 176 +669.2 DL 184 669.2 180 669.2 DL 188 669.2 184 669.2 DL 192 669.2 188 669.2 DL +196 669.2 192 669.2 DL 200 669.2 196 669.2 DL 204 669.2 200 669.2 DL 208 669.2 +204 669.2 DL 212 669.2 208 669.2 DL 216 669.2 212 669.2 DL/F5 5/Times-Roman@0 +SF(19)93.6 679.6 Q/F6 8/Times-Roman@0 SF(Actually)3.2 I 2.632(,t)-.52 G .632 +(his is no longer true in SMTP; this information is contained in the en)132.488 +682.8 R -.12(ve)-.32 G 2.631(lope. The).12 F .631(older ARP)2.631 F .631 +(ANET protocols did)-.736 F(not completely distinguish en)72 692.4 Q -.12(ve) +-.32 G(lope from header).12 E(.)-.44 E EP +%%Page: 53 48 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-53)452.9 60 Q/F1 9/Times-Roman@0 SF(int)157 94.8 Q +(checkcompat\(to, e\))157 105.6 Q(re)175 116.4 Q(gister ADDRESS *to;)-.135 E +(re)175 127.2 Q(gister ENVELOPE *e;)-.135 E({)157 138 Q(re)175 148.8 Q +(gister ST)-.135 E(AB *s;)-.837 E 2.25(s=s)175 170.4 S(tab\("pri)191.578 170.4 +Q -.225(va)-.225 G(te", ST_MAILER, ST_FIND\);).225 E +(if \(s != NULL && e\255>e_from.q_mailer != LocalMailer &&)175 181.2 Q +(to->q_mailer == s->s_mailer\))184 192 Q({)175 202.8 Q(usrerr\("No pri)193 +213.6 Q -.225(va)-.225 G(te net mail allo).225 E(wed through this machine"\);) +-.225 E(return \(EX_UN)193 224.4 Q -1.215(AVA)-.315 G(ILABLE\);)1.215 E(})175 +235.2 Q(if \(MsgSize > 50000 && to\255>q_mailer != LocalMailer\))175 246 Q({) +175 256.8 Q(usrerr\("Message too lar)193 267.6 Q(ge for non-local deli)-.162 E +-.135(ve)-.225 G(ry"\);).135 E(NoReturn = TR)193 278.4 Q(UE;)-.36 E +(return \(EX_UN)193 289.2 Q -1.215(AVA)-.315 G(ILABLE\);)1.215 E(})175 300 Q +(return \(EX_OK\);)175 310.8 Q(})157 321.6 Q/F2 10/Times-Roman@0 SF .205 +(This w)117 337.8 R .205 +(ould reject messages greater than 50000 bytes unless the)-.1 F 2.705(yw)-.15 G +.205(ere local.)387.09 337.8 R(The)5.205 E/F3 10/Times-Italic@0 SF(NoReturn) +2.705 E F2(\215ag)2.705 E 1.196(can be sent to suppress the return of the actu\ +al body of the message in the error return.)117 349.8 R(The)6.197 E(actual use\ + of this routine is highly dependent on the implementation, and use should be \ +limited.)117 361.8 Q F0 2.5(6.3.3. Load)102 385.8 R -.6 -1(Av e)2.5 H +(rage Computation)1 E F2 .18(The routine)142 402 R F3 -.1(ge)2.68 G(tla).1 E F2 +.18(should return an approximation of the current system load a)2.68 F -.15(ve) +-.2 G .18(rage as an).15 F(inte)117 414 Q(ger)-.15 E 5(.T)-.55 G +(here are four v)157.68 414 Q +(ersions included on compilation \215ags as described abo)-.15 E -.15(ve)-.15 G +(.).15 E F0 2.5(6.3.4. New)102 438 R(Database Map Classes)2.5 E F2(Ne)142 454.2 +Q 2.875(wk)-.25 G .675 -.15(ey m)168.405 454.2 T .375(aps can be added by crea\ +ting a class initialization function and a lookup func-).15 F 2.5(tion. These) +117 466.2 R(are then added to the routine)2.5 E F3(setupmaps.)2.5 E F2 +(The initialization function is called as)142 482.4 Q F3(xxx)157 498.6 Q F2 +(_map_init\(MAP *map, char *mapname, char *ar)A(gs\))-.18 E(The)117 514.8 Q F3 +(map)2.555 E F2 .055(is an internal data structure.)2.555 F(The)5.055 E F3 +(mapname)2.555 E F2 .054(is the name of the map \(used for error mes-)2.554 F +2.819(sages\). The)117 526.8 R F3(ar)2.819 E(gs)-.37 E F2 .32(is a pointer to \ +the rest of the con\214guration \214le line; \215ags and \214lenames can be) +2.819 F -.15(ex)117 538.8 S .675(tracted from this line.).15 F .675 +(The initialization function must return)5.675 F F1(TR)3.175 E(UE)-.36 E F2 +.674(if it successfully opened)3.174 F(the map,)117 550.8 Q F1 -.666(FA)2.5 G +(LSE).666 E F2(otherwise.)2.5 E(The lookup function is called as)142 567 Q F3 +(xxx)157 583.2 Q F2(_map_lookup\(MAP *map, char b)A(uf[], int b)-.2 E +(ufsize, char **a)-.2 E 1.3 -.65(v, i)-.2 H(nt *statp\)).65 E(The)117 599.4 Q +F3(map)3.475 E F2 .975(de\214nes the map internally)3.475 F 5.975(.T)-.65 G +.975(he parameters)277.18 599.4 R F3 -.2(bu)3.475 G(f).2 E F2(and)3.475 E F3 +-.2(bu)3.475 G(fsize).2 E F2(ha)3.476 E 1.276 -.15(ve t)-.2 H .976(he input k) +.15 F -.15(ey)-.1 G 5.976(.T)-.5 G(his)492.33 599.4 Q .043 +(may be \(and often is\) used destructi)117 611.4 R -.15(ve)-.25 G(ly).15 E +5.043(.T)-.65 G(he)289.831 611.4 Q F3(av)2.543 E F2 .043(is a list of ar)2.543 +F .042(guments passed in from the re)-.18 F(write)-.25 E 3.654(line. The)117 +623.4 R 1.154(lookup function should return a pointer to the ne)3.654 F 3.655 +(wv)-.25 G 3.655(alue. IF)378.335 623.4 R 1.155(the map lookup f)3.655 F(ails,) +-.1 E F3(*statp)117 635.4 Q F2 1.272(should be set to an e)3.772 F 1.272 +(xit status code; in particular)-.15 F 3.772(,i)-.4 G 3.771(ts)357.652 635.4 S +1.271(hould be set to)368.093 635.4 R F1(EX_TEMPF)3.771 E(AIL)-.666 E F2(if) +3.771 E(reco)117 647.4 Q -.15(ve)-.15 G(ry is to be attempted by the higher le) +.15 E -.15(ve)-.25 G 2.5(lc).15 G(ode.)308.76 647.4 Q F0 2.5(6.3.5. Queueing) +102 671.4 R(Function)2.5 E F2 .782(The routine)142 687.6 R F3(shouldqueue)3.282 +E F2 .783(is called to decide if a message should be queued or processed)3.283 +F(immediately)117 699.6 Q 6.619(.T)-.65 G 1.618 +(ypically this compares the message priority to the current load a)180.779 +699.6 R -.15(ve)-.2 G 4.118(rage. The).15 F(def)117 711.6 Q +(ault de\214nition is:)-.1 E EP +%%Page: 54 49 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-54 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(bool)157 96 Q +(shouldqueue\(pri, ctime\))157 108 Q(long pri;)175 120 Q(time_t ctime;)175 132 +Q({)157 144 Q(if \(CurrentLA < QueueLA\))175 156 Q(return \(F)193 168 Q +(ALSE\);)-.74 E(if \(CurrentLA >= RefuseLA\))175 180 Q(return \(TR)193 192 Q +(UE\);)-.4 E(return \(pri > \(QueueF)175 204 Q +(actor / \(CurrentLA \255 QueueLA + 1\)\)\);)-.15 E(})157 216 Q 2.062 +(If the current load a)117 232.2 R -.15(ve)-.2 G 2.062(rage \(global v).15 F +(ariable)-.25 E/F2 10/Times-Italic@0 SF(Curr)4.562 E(entLA)-.37 E F1 4.562(,w)C +2.062(hich is set before this function is)361.636 232.2 R 1.058 +(called\) is less than the lo)117 244.2 R 3.558(wt)-.25 G 1.058 +(hreshold load a)234.198 244.2 R -.15(ve)-.2 G 1.058(rage \(option).15 F F0(x) +3.557 E F1 3.557(,v)C(ariable)375.526 244.2 Q F2(QueueLA)3.557 E F1(\),)A F2 +(shouldqueue)3.557 E F1(returns)117 256.2 Q/F3 9/Times-Roman@0 SF -.666(FA) +2.586 G(LSE).666 E F1 .086(immediately \(that is, it should)2.586 F F2(not) +2.586 E F1 2.586(queue\). If)2.586 F .086(the current load a)2.586 F -.15(ve) +-.2 G .087(rage e).15 F .087(xceeds the)-.15 F .588(high threshold load a)117 +268.2 R -.15(ve)-.2 G .588(rage \(option).15 F F0(X)3.087 E F1 3.087(,v)C +(ariable)281.846 268.2 Q F2(RefuseLA)3.087 E F1(\),)A F2(shouldqueue)3.087 E F1 +(returns)3.087 E F3(TR)3.087 E(UE)-.36 E F1(immedi-)3.087 E(ately)117 280.2 Q +7.125(.O)-.65 G 2.125 +(therwise, it computes the function based on the message priority)152.635 280.2 +R 4.626(,t)-.65 G 2.126(he queue f)438.208 280.2 R(actor)-.1 E(\(option)117 +292.2 Q F0(q)2.5 E F1 2.5(,g)C(lobal v)163.95 292.2 Q(ariable)-.25 E F2(QueueF) +2.5 E(actor)-.75 E F1(\), and the current and threshold load a)A -.15(ve)-.2 G +(rages.).15 E 1.067(An implementation wishing to tak)142 308.4 R 3.567(et)-.1 G +1.066(he actual age of the message into account can also)293.625 308.4 R 1.41 +(use the)117 320.4 R F2(ctime)3.91 E F1(parameter)3.91 E 3.91(,w)-.4 G 1.41 +(hich is the time that the message w)229.15 320.4 R 1.41 +(as \214rst submitted to)-.1 F F2(sendmail)3.91 E F1(.)A .929(Note that the)117 +332.4 R F2(pri)3.428 E F1 .928 +(parameter is already weighted by the number of times the message has been) +3.428 F .395(tried \(although this tends to lo)117 344.4 R .395 +(wer the priority of the message with time\); the e)-.25 F .395 +(xpectation is that)-.15 F(the)117 356.4 Q F2(ctime)2.674 E F1 -.1(wo)2.674 G +.174(uld be used as an \231escape clause\232 to ensure that messages are e).1 F +-.15(ve)-.25 G .174(ntually processed.).15 F F0 2.5(6.3.6. Refusing)102 380.4 R +(Incoming SMTP Connections)2.5 E F1 1.148(The function)142 396.6 R F2 -.37(re) +3.648 G(fuseconnections).37 E F1(returns)3.648 E F3(TR)3.648 E(UE)-.36 E F1 +1.148(if incoming SMTP connections should be)3.648 F 3.564(refused. The)117 +408.6 R 1.063(current implementation is based e)3.563 F(xclusi)-.15 E -.15(ve) +-.25 G 1.063(ly on the current load a).15 F -.15(ve)-.2 G 1.063(rage and the) +.15 F(refuse load a)117 420.6 Q -.15(ve)-.2 G(rage option \(option).15 E F0(X) +2.5 E F1 2.5(,g)C(lobal v)273.56 420.6 Q(ariable)-.25 E F2(RefuseLA)2.5 E F1 +(\):)A(bool)157 436.8 Q(refuseconnections\(\))157 448.8 Q({)157 460.8 Q +(return \(CurrentLA >= RefuseLA\);)175 472.8 Q(})157 484.8 Q 2.5(Am)117 501 S +(ore cle)134.5 501 Q -.15(ve)-.25 G 2.5(ri).15 G +(mplementation could look at more system resources.)179.08 501 Q F0 2.5 +(6.3.7. Load)102 525 R -.6 -1(Av e)2.5 H(rage Computation)1 E F1 .243 +(The routine)142 541.2 R F2 -.1(ge)2.743 G(tla).1 E F1 .243 +(returns the current load a)2.743 F -.15(ve)-.2 G .243 +(rage \(as a rounded inte).15 F 2.743(ger\). The)-.15 F(distrib)2.744 E(ution) +-.2 E(includes se)117 553.2 Q -.15(ve)-.25 G(ral possible implementations.).15 +E F0 2.5(6.4. Con\214guration)87 577.2 R(in sr)2.5 E(c/daemon.c)-.18 E F1 .4 +(The \214le)127 593.4 R F2(sr)2.9 E(c/daemon.c)-.37 E F1 .4 +(contains a number of routines that are dependent on the local netw)2.9 F(ork-) +-.1 E(ing en)102 605.4 Q 2.5(vironment. The)-.4 F -.15(ve)2.5 G +(rsion supplied assumes you ha).15 E .3 -.15(ve B)-.2 H(SD style sock).15 E +(ets.)-.1 E 2.16(In pre)127 621.6 R 2.16 +(vious releases, we recommended that you modify the routine)-.25 F F2 +(maphostname)4.66 E F1 2.16(if you)4.66 F -.1(wa)102 633.6 S 1.919 +(nted to generalize).1 F F0($[)4.418 E F1(...)4.418 E F0($])4.418 E F1 4.418 +(lookups. W)4.418 F 4.418(en)-.8 G 2.418 -.25(ow r)293.906 633.6 T 1.918 +(ecommend that you create a ne).25 F 4.418(wk)-.25 G -.15(ey)463.632 633.6 S +1.918(ed map).15 F(instead.)102 645.6 Q F0 2.5(7. CHANGES)72 669.6 R +(IN VERSION 8)2.5 E F1 .172(The follo)112 685.8 R .172 +(wing summarizes changes since the last commonly a)-.25 F -.25(va)-.2 G .173 +(ilable v).25 F .173(ersion of)-.15 F F2(sendmail)2.673 E F1(\(5.67\):)2.673 E +EP +%%Page: 55 50 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-55)452.9 60 Q 2.5(7.1. Connection)87 96 R(Caching)2.5 E/F1 10 +/Times-Roman@0 SF .398(Instead of closing SMTP connections immediately)127 +112.2 R 2.897(,t)-.65 G .397(hose connections are cached for possible)339.005 +112.2 R .597(future use.)102 124.2 R .597(The adv)5.597 F .597 +(ent of MX records made this ef)-.15 F(fecti)-.25 E .897 -.15(ve f)-.25 H .598 +(or mailing lists; in addition, substantial).15 F(performance impro)102 136.2 Q +-.15(ve)-.15 G(ments can be e).15 E(xpected for queue processing.)-.15 E F0 2.5 +(7.2. MX)87 160.2 R(Piggybacking)2.5 E F1 1.258(If tw)127 176.4 R 3.757(oh)-.1 +G 1.257(osts with dif)161.075 176.4 R 1.257 +(ferent names in a single message happen to ha)-.25 F 1.557 -.15(ve t)-.2 H +1.257(he same set of MX).15 F .94(hosts, the)102 188.4 R 3.44(yc)-.15 G .94 +(an be sent in the same transaction.)153.45 188.4 R -1.11(Ve)5.94 G .94 +(rsion 8 notices this and tries to batch the mes-)1.11 F(sages.)102 200.4 Q F0 +2.5(7.3. RFC)87 224.4 R(1123 Compliance)2.5 E F1 3.463(An)127 240.6 S .963 +(umber of changes ha)142.683 240.6 R 1.262 -.15(ve b)-.2 H .962 +(een made to mak).15 F(e)-.1 E/F2 10/Times-Italic@0 SF(sendmail)3.462 E F1 .962 +(\231conditionally compliant\232 \(that is,)3.462 F F2(sendmail)102 252.6 Q F1 +.049(satis\214es all of the \231MUST\232 clauses and most b)2.549 F .05 +(ut not all of the \231SHOULD\232 clauses in RFC)-.2 F(1123\).)102 264.6 Q +(The major areas of change are \(numbers are RFC 1123 section numbers\):)127 +280.8 Q 15(5.2.7 Response)102 297 R(to RCPT command is f)2.5 E(ast.)-.1 E 15 +(5.2.8 Numeric)102 313.2 R(IP addresses are logged in Recei)2.5 E -.15(ve)-.25 +G(d: lines.).15 E 10(5.2.17 Self)102 329.4 R +(domain literal is properly handled.)2.5 E 15(5.3.2 Better)102 345.6 R +(control o)2.5 E -.15(ve)-.15 G 2.5(ri).15 G(ndi)220.02 345.6 Q +(vidual timeouts.)-.25 E 15(5.3.3 Error)102 361.8 R +(messages are sent as \231From:<>\232.)2.5 E 15(5.3.3 Error)102 378 R +(messages are ne)2.5 E -.15(ve)-.25 G 2.5(rs).15 G(ent to \231<>\232.)246.28 +378 Q 15(5.3.3 Route-addrs)102 394.2 R(are pruned.)2.5 E(The areas in which)102 +410.4 Q F2(sendmail)2.5 E F1(is not \231unconditionally compliant\232 are:)2.5 +E(5.2.6)102 426.6 Q F2(Sendmail)139.5 426.6 Q F1(does do header munging.)2.5 E +(5.2.10)102 442.8 Q F2(Sendmail)139.5 442.8 Q F1(doesn')2.5 E 2.5(ta)-.18 G -.1 +(lwa)215.42 442.8 S(ys use the e).1 E(xact SMTP message te)-.15 E +(xt as listed in RFC 821.)-.15 E(5.3.1.1)102 459 Q F2(Sendmail)139.5 459 Q F1 +(doesn')2.5 E 2.5(tg)-.18 G +(uarantee only one connect for each host in queue runs.)215.98 459 Q(5.3.1.1) +102 475.2 Q F2(Sendmail)139.5 475.2 Q F1(doesn')2.5 E 2.5(ta)-.18 G -.1(lwa) +215.42 475.2 S(ys pro).1 E(vide adequate concurrenc)-.15 E 2.5(yl)-.15 G +(imits.)366.54 475.2 Q F0 2.5(7.4. Extended)87 499.2 R(SMTP Support)2.5 E F1 +-1.11(Ve)127 515.4 S .155(rsion 8 includes both sending and recei)1.11 F .154 +(ving support for Extended SMTP support as de\214ned)-.25 F(by RFC 1425 \(basi\ +c\) and RFC 1427 \(SIZE\); and limited support for RFC 1426 \(BOD)102 527.4 Q +(Y\).)-.55 E F0 2.5(7.5. Eight-Bit)87 551.4 R(Clean)2.5 E F1(Pre)127 567.6 Q +1.263(vious v)-.25 F 1.263(ersions of)-.15 F F2(sendmail)3.763 E F1 1.264 +(used the 0200 bit for quoting.)3.763 F 1.264(This v)6.264 F 1.264(ersion a) +-.15 F -.2(vo)-.2 G 1.264(ids that use.).2 F(Ho)102 579.6 Q(we)-.25 E -.15(ve) +-.25 G .8 -.4(r, f).15 H +(or compatibility with RFC 822, you can set option `7' to get se).4 E -.15(ve) +-.25 G 2.5(nb).15 G(it stripping.)418.86 579.6 Q(Indi)127 595.8 Q +(vidual mailers can still produce se)-.25 E -.15(ve)-.25 G 2.5(nb).15 G +(it output using the `7' mailer \215ag.)300.77 595.8 Q F0 2.5(7.6. User)87 +619.8 R(Database)2.5 E F1 1.073(The user database is an as-yet e)127 636 R +1.072(xperimental attempt to pro)-.15 F 1.072(vide uni\214ed lar)-.15 F 1.072 +(ge-site name sup-)-.18 F 2.5(port. W)102 648 R 2.5(ea)-.8 G +(re installing it at Berk)145.63 648 Q(ele)-.1 E(y; future v)-.15 E +(ersions may sho)-.15 E 2.5(ws)-.25 G(igni\214cant modi\214cations.)363.57 648 +Q F0 2.5(7.7. Impr)87 672 R -.1(ove)-.18 G 2.5(dB).1 G(IND Support)158.01 672 Q +F1 .489(The BIND support, particularly for MX records, had a number of anno)127 +688.2 R .49(ying \231features\232 which)-.1 F(ha)102 700.2 Q 1.212 -.15(ve b) +-.2 H .912(een remo).15 F -.15(ve)-.15 G 3.412(di).15 G 3.412(nt)187.116 700.2 +S .912(his release.)198.308 700.2 R .912(In particular)5.912 F 3.412(,t)-.4 G +.912(hese more tightly bind \(pun intended\) the name)307.916 700.2 R(serv)102 +712.2 Q(er to)-.15 E F2(sendmail)2.5 E F1 2.5(,s)C 2.5(ot)184.06 712.2 S +(hat the name serv)194.34 712.2 Q +(er resolution rules are incorporated directly into)-.15 E F0(sendmail)2.5 E F1 +(.)A EP +%%Page: 56 51 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-56 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(7.8. K)87 96 R(ey)-.25 E(ed Files) +-.1 E/F1 10/Times-Roman@0 SF .365(Generalized k)127 112.2 R -.15(ey)-.1 G .365 +(ed \214les is an idea tak).15 F .365(en directly from)-.1 F/F2 9/Times-Roman@0 +SF(ID)2.866 E(A)-.36 E/F3 10/Times-Italic@0 SF(sendmail)2.866 E F1 .366 +(\(albeit with a completely)2.866 F(dif)102 124.2 Q(ferent implementation\).) +-.25 E(The)5 E 2.5(yc)-.15 G(an be useful on lar)239.63 124.2 Q(ge sites.)-.18 +E -1.11(Ve)127 140.4 S(rsion 8 also understands YP)1.11 E(.)-1.11 E F0 2.5 +(7.9. Multi-W)87 164.4 R(ord Classes)-.75 E F1(Classes can no)127 180.6 Q 2.5 +(wb)-.25 G 2.5(em)200.35 180.6 S(ultiple w)215.07 180.6 Q 2.5(ords. F)-.1 F +(or e)-.15 E(xample,)-.15 E(CShofmann.CS.Berk)142 196.8 Q(ele)-.1 E -.65(y.) +-.15 G(EDU).65 E(allo)102 213 Q 2.664 +(ws you to match the entire string \231hofmann.CS.Berk)-.25 F(ele)-.1 E -.65 +(y.)-.15 G 2.663(EDU\232 using the single construct).65 F(\231$=S\232.)102 225 +Q F0 2.5(7.10. Deferr)87 249 R(ed Macr)-.18 E 2.5(oE)-.18 G(xpansion)189.94 249 +Q F1(The)127 265.2 Q F0($&)2.5 E F3(x)A F1(construct has been adopted from)2.5 +E F2(ID)2.5 E(A)-.36 E F1(.)A F0 2.5(7.11. IDENT)87 289.2 R(Pr)2.5 E +(otocol Support)-.18 E F1 +(The IDENT protocol as de\214ned in RFC 1413 is supported.)127 305.4 Q F0 2.5 +(7.12. P)87 329.4 R(arsing Bug Fixes)-.1 E F1 4.03(An)127 345.6 S 1.53 +(umber of small b)143.25 345.6 R 1.53(ugs ha)-.2 F 1.53 +(ving to do with things lik)-.2 F 4.03(eb)-.1 G 1.53 +(ackslash-escaped quotes inside of)364.72 345.6 R(comments ha)102 357.6 Q .3 +-.15(ve b)-.2 H(een \214x).15 E(ed.)-.15 E F0 2.5(7.13. Separate)87 381.6 R(En) +2.5 E -.1(ve)-.4 G(lope/Header Pr).1 E(ocessing)-.18 E F1 .854 +(Since the From: line is passed in separately from the en)127 397.8 R -.15(ve) +-.4 G .854(lope sender).15 F 3.354(,t)-.4 G .854(hese ha)420.978 397.8 R 1.154 +-.15(ve b)-.2 H .854(oth been).15 F .427(made visible; the)102 409.8 R F0($g) +2.927 E F1 .427(macro is set to the en)2.927 F -.15(ve)-.4 G .428 +(lope sender during processing of mailer ar).15 F .428(gument v)-.18 F(ec-)-.15 +E(tors and the header sender during processing of headers.)102 421.8 Q .085 +(It is also possible to specify separate per)127 438 R .085(-mailer en)-.2 F +-.15(ve)-.4 G .084(lope and header processing.).15 F(The)5.084 E F0(S)2.584 E +F1(ender)A(-)-.2 E -.55(RW)102 450 S .512(Set and).55 F F0(R)3.012 E F1 +(ecipientR)A .512(Wset ar)-.55 F .512 +(guments for mailers can be speci\214ed as)-.18 F F3(en)3.013 E(velope/header) +-.4 E F1 .513(to gi)3.013 F .813 -.15(ve d)-.25 H(if-).15 E(ferent re)102 462 Q +(writings for en)-.25 E -.15(ve)-.4 G(lope v).15 E(ersus header addresses.)-.15 +E F0 2.5(7.14. Owner)87 486 R(-List Pr)-.37 E(opagates to En)-.18 E -.1(ve)-.4 +G(lope).1 E F1 1.001(When an alias has an associated o)127 502.2 R 1 +(wner\255list name, that alias is used to change the en)-.25 F -.15(ve)-.4 G +(lope).15 E(sender address.)102 514.2 Q(This will cause do)5 E +(wnstream errors to be returned to that o)-.25 E(wner)-.25 E(.)-.55 E F0 2.5 +(7.15. Dynamic)87 538.2 R(Header Allocation)2.5 E F1(The \214x)127 554.4 Q +(ed size limit on header lines has been eliminated.)-.15 E F0 2.5(7.16. New)87 +578.4 R(Command Line Flags)2.5 E F1(The)127 594.6 Q F0<ad42>2.5 E F1 +(\215ag has been added to pass in body type information.)2.5 E(The)127 610.8 Q +F0<ad70>2.5 E F1(\215ag has been added to pass in protocol information.)2.5 E +(The)127 627 Q F0<ad58>2.6 E F1 .1(\215ag has been added to allo)2.6 F 2.6(wl) +-.25 G .1(ogging of all protocol in and out of)279.89 627 R F3(sendmail)2.6 E +F1 .1(for deb)2.6 F(ug-)-.2 E(ging.)102 639 Q F0 2.5(7.17. Enhanced)87 663 R +(Command Line Flags)2.5 E F1(The)127 679.2 Q F0<ad71>4.007 E F1 1.507(\215ag c\ +an limit limit a queue run to speci\214c recipients, senders, or queue ids usi\ +ng)4.007 F F0(\255qR)102 691.2 Q F3(substring)A F0 2.5<2cad>C(qS)168.41 691.2 Q +F3(substring)A F0 2.5(,o)C 2.5<72ad>226.76 691.2 S(qI)239.4 691.2 Q F3 +(substring)A F0 -.18(re)2.5 G(specti).18 E -.1(ve)-.1 G(ly).1 E(.)-.7 E EP +%%Page: 57 52 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-57)452.9 60 Q 2.5(7.18. New)87 96 R(and Old Con\214guration Line T)2.5 +E(ypes)-.74 E/F1 10/Times-Roman@0 SF(The)127 112.2 Q F0(T)2.766 E F1(\(T)2.766 +E .267(rusted users\) con\214guration line has been deleted.)-.35 F .267 +(It will still be accepted b)5.267 F .267(ut will be)-.2 F(ignored.)102 124.2 Q +(The)127 140.4 Q F0(K)2.5 E F1(line has been added to declare database maps.) +2.5 E(The)127 156.6 Q F0(V)2.5 E F1 +(line has been added to declare the con\214guration v)2.5 E(ersion le)-.15 E +-.15(ve)-.25 G(l.).15 E(The)127 172.8 Q F0(M)2.797 E F1 .296(line has a \231D=\ +\232 \214eld that lets you change into a temporary directory while that mailer) +2.797 F(is running.)102 184.8 Q F0 2.5(7.19. New)87 208.8 R(Options)2.5 E F1 +(Se)127 225 Q -.15(ve)-.25 G .9(ral ne).15 F 3.4(wo)-.25 G .9(ptions ha)184.8 +225 R 1.2 -.15(ve b)-.2 H .9(een added, man).15 F 3.4(yt)-.15 G 3.4(os)314.89 +225 S .9(upport ne)327.18 225 R 3.4(wf)-.25 G .9(eatures, others to allo)379.83 +225 R 3.4(wt)-.25 G(uning)481.22 225 Q 1.187(that w)102 237 R 1.187(as pre)-.1 +F 1.187(viously a)-.25 F -.25(va)-.2 G 1.187(ilable only by recompiling.).25 F +(The)6.186 E 3.686(ya)-.15 G 1.186(re described in detail in Section 5.1.5.) +345.514 237 R(Brie\215y)102 249 Q(,)-.65 E 31(bI)102 265.2 S +(nsist on a minimum number of disk blocks.)141.33 265.2 Q 29.33(CS)102 281.4 S +(et checkpoint interv)143.56 281.4 Q(al.)-.25 E 29.89(ED)102 297.6 S(ef)145.22 +297.6 Q(ault error message.)-.1 E 28.78(GE)102 313.8 S(nable GECOS matching.) +144.11 313.8 Q 31(hM)102 330 S(aximum hop count.)146.89 330 Q 33.22(jS)102 +346.2 S(end errors in MIME-encapsulated format.)143.56 346.2 Q 32.11(JF)102 +362.4 S(orw)143.41 362.4 Q(ard \214le path.)-.1 E 31(kC)102 378.6 S +(onnection cache size)144.67 378.6 Q 28.78(KC)102 394.8 S +(onnection cache lifetime.)144.67 394.8 Q 33.22(lE)102 411 S .333 +(nable Errors-T)144.11 411 R .333(o: header)-.8 F 5.334(.T)-.55 G .334 +(hese headers violate RFC 1123; this option is included to pro-)252.89 411 R +(vide back compatibility with old v)138 423 Q(ersions of)-.15 E/F2 10 +/Times-Italic@0 SF(sendmail)2.5 E F1(.)A 28.78(OS)102 439.2 S +(et incoming SMTP daemon options, such as an alternate SMTP port.)143.56 439.2 +Q 31(pP)102 455.4 S(ri)143.56 455.4 Q -.25(va)-.25 G .3 -.15(cy o).25 H +(ptions.).15 E 29.33(RD)102 471.6 S(on')145.22 471.6 Q 2.5(tp)-.18 G +(rune route-addrs.)168.65 471.6 Q 28.78(UU)102 487.8 S(ser database spec.) +145.22 487.8 Q 28.78(VF)102 504 S(allback \231MX\232 host.)143.41 504 Q 28.78 +<7799>102 520.2 S(Best MX\232 handling technique.)142.44 520.2 Q 31(7D)102 +536.4 S 2.5(on)145.22 536.4 S(ot run eight bit clean.)157.72 536.4 Q F0 2.5 +(7.20. Extended)87 560.4 R(Options)2.5 E F1(The)127 576.6 Q F0(r)3.764 E F1 +1.264(\(read timeout\),)3.764 F F0(I)3.764 E F1 1.264(\(use BIND\), and)3.764 F +F0(T)3.764 E F1 1.264(\(queue timeout\) options ha)3.764 F 1.564 -.15(ve b)-.2 +H 1.264(een e).15 F 1.264(xtended to)-.15 F(pass in more information.)102 588.6 +Q F0 2.5(7.21. New)87 612.6 R(Mailer Flags)2.5 E F1(Se)127 628.8 Q -.15(ve)-.25 +G(ral ne).15 E 2.5(wm)-.25 G(ailer \215ags ha)185.78 628.8 Q .3 -.15(ve b)-.2 H +(een added.).15 E 31.56(aT)102 645 S .636 +(ry to use ESMTP when creating a connection.)143.76 645 R .636 +(If this is not set,)5.636 F F2(sendmail)3.136 E F1 .636(will still try if) +3.136 F .221(the other end hints that it kno)138 657 R .22 +(ws about ESMTP in its greeting message; this \215ag says to try)-.25 F -2.15 +-.25(ev e)138 669 T 2.595(ni).25 G 2.595(fi)161.855 669 S 2.595(td)170.56 669 S +(oesn')180.935 669 Q 2.595(th)-.18 G 2.595(int. If)212.79 669 R .095 +(the EHLO \(e)2.595 F .095(xtended hello\) command f)-.15 F(ails,)-.1 E F2 +(sendmail)2.596 E F1 -.1(fa)2.596 G .096(lls back to).1 F(old SMTP)138 681 Q(.) +-1.11 E 31(bE)102 697.2 S +(nsure that there is a blank line at the end of all messages.)144.11 697.2 Q +31.56(cS)102 713.4 S .68(trip all comments from addresses; this should only be\ + used as a last resort when dealing)143.56 713.4 R(with crank)138 725.4 Q 2.5 +(ym)-.15 G(ailers.)195.62 725.4 Q EP +%%Page: 58 53 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-58 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 31(gN)102 96 S +-2.15 -.25(ev e)145.22 96 T 2.64(ru).25 G .14(se the null sender as the en) +169.67 96 R -.15(ve)-.4 G .141(lope sender).15 F 2.641(,e)-.4 G -.15(ve)341.495 +96 S 2.641(nw).15 G .141(hen running SMTP)365.646 96 R 5.141(.A)-1.11 G .141 +(lthough this)456.349 96 R 1.521(violates RFC 1123, it may be necessary when y\ +ou must deal with some obnoxious old)138 108 R(hosts.)138 120 Q 31(7S)102 136.2 +S(trip all output to 7 bits.)143.56 136.2 Q F0 2.5(7.22. New)87 160.2 R(Pr)2.5 +E(e-De\214ned Macr)-.18 E(os)-.18 E F1(The follo)127 176.4 Q +(wing macros are pre-de\214ned:)-.25 E 23.5($k The)102 192.6 R +(UUCP node name, nominally from)2.5 E/F2 10/Times-Italic@0 SF(uname)2.5 E F1 +(\(2\) call.)A 20.72($m The)102 208.8 R(domain part of our full hostname.)2.5 E +23.5($_ The)102 225 R(RFC 1413-pro)2.5 E(vided sender address.)-.15 E F0 2.5 +(7.23. New)87 249 R(LHS T)2.5 E(ok)-.92 E(en)-.1 E F1 -1.11(Ve)127 265.2 S +1.375(rsion 8 allo)1.11 F(ws)-.25 E F0($@)3.875 E F1 1.376 +(on the Left Hand Side of an \231R\232 line to match zero tok)3.875 F 3.876 +(ens. This)-.1 F(is)3.876 E(intended to be used to match the null input.)102 +277.2 Q F0 2.5(7.24. Bigger)87 301.2 R(Defaults)2.5 E F1 -1.11(Ve)127 317.4 S +1.284(rsion 8 allo)1.11 F 1.284(ws up to 100 rulesets instead of 30.)-.25 F +1.283(It is recommended that rulesets 0\2559 be)6.284 F(reserv)102 329.4 Q +(ed for)-.15 E F2(sendmail)2.5 E F1 1.1 -.55('s d)D +(edicated use in future releases.).55 E +(The total number of MX records that can be used has been raised to 20.)127 +345.6 Q .335(The number of queued messages that can be handled at one time has\ + been raised from 600 to)127 361.8 R(1000.)102 373.8 Q F0 2.5(7.25. Differ)87 +397.8 R(ent Default T)-.18 E(uning P)-.92 E(arameters)-.1 E F1 -1.11(Ve)127 414 +S .8(rsion 8 has changed the def)1.11 F .8 +(ault parameters for tuning queue costs to mak)-.1 F 3.3(et)-.1 G .8 +(he number of)449.08 414 R .712(recipients more important than the size of the\ + message \(for small messages\).)102 426 R .712(This is reasonable if)5.712 F +(you are connected with reasonably f)102 438 Q(ast links.)-.1 E F0 2.5(7.26. A) +87 462 R(uto-Quoting in Addr)-.5 E(esses)-.18 E F1(Pre)127 478.2 Q(viously)-.25 +E 2.611(,t)-.65 G .111(he \231Full Name <email address>\232 syntax w)176.771 +478.2 R .111(ould generate incorrect protocol output)-.1 F +(if \231Full Name\232 had special characters such as dot.)102 490.2 Q(This v)5 +E(ersion puts quotes around such names.)-.15 E F0 2.5(7.27. Symbolic)87 514.2 R +(Names On Err)2.5 E(or Mailer)-.18 E F1(Se)127 530.4 Q -.15(ve)-.25 G +(ral names ha).15 E .3 -.15(ve b)-.2 H(een b).15 E +(uilt in to the $@ portion of the $#error mailer)-.2 E(.)-.55 E F0 2.5 +(7.28. SMTP)87 554.4 R(VRFY Doesn't Expand)2.5 E F1(Pre)127 570.6 Q 1.437 +(vious v)-.25 F 1.437(ersions of)-.15 F F2(sendmail)3.937 E F1 1.438 +(treated VRFY and EXPN the same.)3.937 F 1.438(In this v)6.438 F 1.438 +(ersion, VRFY)-.15 F(doesn')102 582.6 Q 2.5(te)-.18 G(xpand aliases or follo) +138.05 582.6 Q 2.5(w.)-.25 G(forw)235.84 582.6 Q(ard \214les.)-.1 E +(EXPN still does.)5 E .682(As an optimization, if you run with your def)127 +598.8 R .681(ault deli)-.1 F -.15(ve)-.25 G .681 +(ry mode being queue-only or deli).15 F -.15(ve)-.25 G -.2(r-).15 G 1.582 +(in-background, the RCPT command will also not chase aliases and .forw)102 +610.8 R 1.582(ard \214les.)-.1 F 1.583(It will chase)6.582 F +(them when it processes the queue.)102 622.8 Q F0 2.5(7.29. [IPC])87 646.8 R +(Mailers Allo)2.5 E 2.5(wM)-.1 G(ultiple Hosts)210.49 646.8 Q F1 .448 +(When an address resolv)127 663 R .448 +(es to a mailer that has \231[IPC]\232 as its \231P)-.15 F .447 +(ath\232, the $@ part \(host name\))-.15 F .137 +(can be a colon-separated list of hosts instead of a single hostname.)102 675 R +.138(This asks)5.138 F F2(sendmail)2.638 E F1 .138(to search the)2.638 F .161 +(list for the \214rst entry that is a)102 687 R -.25(va)-.2 G .161(ilable e).25 +F .16(xactly as though it were an MX record.)-.15 F .16(The intent is to route) +5.16 F .737(internal traf)102 699 R .738(\214c through internal netw)-.25 F +.738(orks without publishing an MX record to the net.)-.1 F .738(MX e)5.738 F +(xpan-)-.15 E(sion is still done on the indi)102 711 Q(vidual items.)-.25 E EP +%%Page: 59 54 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-59)452.9 60 Q 2.5(7.30. Aliases)87 96 R(Extended)2.5 E/F1 10 +/Times-Roman@0 SF 1.457(The implementation has been mer)127 112.2 R 1.457 +(ged with maps.)-.18 F 1.456(Among other things, this supports NIS-)6.457 F +(based aliases.)102 124.2 Q F0 2.5(7.31. P)87 148.2 R +(ortability and Security Enhancements)-.2 E F1 2.5(An)127 164.4 S +(umber of internal changes ha)141.72 164.4 Q .3 -.15(ve b)-.2 H +(een made to enhance portability).15 E(.)-.65 E(Se)127 180.6 Q -.15(ve)-.25 G +(ral \214x).15 E(es ha)-.15 E .3 -.15(ve b)-.2 H +(een made to increase the paranoia f).15 E(actor)-.1 E(.)-.55 E F0 2.5 +(7.32. Miscellaneous)87 204.6 R(Changes)2.5 E/F2 10/Times-Italic@0 SF(Sendmail) +127 220.8 Q F1(writes a)2.5 E F2(/etc/sendmail.pid)2.5 E F1 +(\214le with the current process id of the SMTP daemon.)2.5 E -1 -.8(Tw o)127 +237 T 1.646(people using the same program in their .forw)4.946 F 1.647 +(ard \214le are considered dif)-.1 F 1.647(ferent so that)-.25 F +(duplicate elimination doesn')102 249 Q 2.5(td)-.18 G(elete one of them.)225.98 +249 Q(The)127 265.2 Q F2(mailstats)3.181 E F1 .681 +(program prints mailer names and gets the location of the)3.181 F F2 +(sendmail.st)3.18 E F1 .68(\214le from)3.18 F F2(/etc/sendmail.cf)102 277.2 Q +F1(.)A(Man)127 293.4 Q 2.5(ym)-.15 G(inor b)160.46 293.4 Q(ugs ha)-.2 E .3 -.15 +(ve b)-.2 H(een \214x).15 E +(ed, such as handling of backslashes inside of quotes.)-.15 E 2.5(Ah)127 309.6 +S(ook \(ruleset 5\) has been added to allo)141.72 309.6 Q 2.5(wr)-.25 G -.25 +(ew)304.21 309.6 S(riting of local addresses after aliasing.).25 E F0 2.5(8. A) +72 333.6 R(CKNO)-.55 E(WLEDGEMENTS)-.5 E F1(I')112 349.8 Q 2.036 -.15(ve w)-.5 +H(ork).05 E 1.737(ed on)-.1 F F2(sendmail)4.237 E F1 1.737(for man)4.237 F +4.237(yy)-.15 G 1.737(ears, and man)267.501 349.8 R 4.237(ye)-.15 G(mplo) +339.762 349.8 Q 1.737(yers ha)-.1 F 2.037 -.15(ve b)-.2 H 1.737 +(een remarkably patient).15 F .404(about letting me w)87 361.8 R .404 +(ork on a lar)-.1 F .404(ge project that w)-.18 F .403(as not part of my of)-.1 +F .403(\214cial job)-.25 F 5.403(.T)-.4 G .403(his includes time on the)407.388 +361.8 R(INGRES Project at Berk)87 373.8 Q(ele)-.1 E 1.3 -.65(y, a)-.15 H 2.5 +(tB).65 G(ritton Lee, and ag)222.75 373.8 Q(ain on the Mammoth Project at Berk) +-.05 E(ele)-.1 E -.65(y.)-.15 G .453(Much of the second w)112 390 R -2.25 -.2 +(av e)-.1 H .453(of impro)3.153 F -.15(ve)-.15 G .453 +(ments should be credited to Bryan Costales of ICSI.).15 F .454(As he)5.454 F +.781(passed me drafts of his book on)87 402 R F2(sendmail)3.281 E F1 3.281(Iw) +3.281 G .781(as inspired to start w)274.741 402 R .781(orking on things ag)-.1 +F 3.281(ain. Bryan)-.05 F -.1(wa)3.281 G(s).1 E(also a)87 414 Q -.25(va)-.2 G +(ilable to bounce ideas of).25 E 2.5(fo)-.25 G(f.)227.38 414 Q(Man)112 430.2 Q +2.856 -.65(y, m)-.15 H(an).65 E 4.056(yp)-.15 G 1.556(eople contrib)172.212 +430.2 R 1.556(uted chunks of code and ideas to)-.2 F F2(sendmail)4.056 E F1 +6.556(.I)C 4.056(th)418.476 430.2 S 1.557(as pro)430.312 430.2 R -.15(ve)-.15 G +4.057(nt).15 G 4.057(ob)477.006 430.2 S 4.057(ea)491.063 430.2 S .464 +(group netw)87 442.2 R .464(ork ef)-.1 F 2.964(fort. V)-.25 F .464 +(ersion 8 in particular w)-1.11 F .463(as a group project.)-.1 F .463 +(The follo)5.463 F .463(wing people made notable)-.25 F(contrib)87 454.2 Q +(utions:)-.2 E -.25(Ke)127 470.4 S(ith Bostic, CSRG, Uni).25 E -.15(ve)-.25 G +(rsity of California, Berk).15 E(ele)-.1 E(y)-.15 E(Michael J. Corrig)127 482.4 +Q(an, Uni)-.05 E -.15(ve)-.25 G(rsity of California, San Die).15 E(go)-.15 E +(Bryan Costales, International Computer Science Institute)127 494.4 Q -.15(Pa) +127 506.4 S -.5(..)132.298 500.4 S 2.5(r\()136.85 506.4 S(Pell\) Emanuelsson) +146.01 506.4 Q(Craig Ev)127 518.4 Q(erhart, T)-.15 E(ransarc Corporation)-.35 E +-.8(To)127 530.4 S 2.5(mI).8 G -.25(va)150.92 530.4 S 2.5(rH).25 G +(elbekkmo, Norwe)173.16 530.4 Q(gian School of Economics)-.15 E +(Allan E. Johannesen, WPI)127 542.4 Q(Jonathan Kamens, OpenV)127 554.4 Q +(ision T)-.6 E(echnologies, Inc.)-.7 E -.8(Ta)127 566.4 S +(kahiro Kanbe, Fuji Xerox Information Systems Co., Ltd.).8 E(Brian Kantor)127 +578.4 Q 2.5(,U)-.4 G(ni)191.31 578.4 Q -.15(ve)-.25 G +(rsity of California, San Die).15 E(go)-.15 E(Murray S. K)127 590.4 Q(uchera) +-.15 E(wy)-.15 E 2.5(,H)-.65 G(ookUp Communication Corp.)227.41 590.4 Q +(Bruce Lilly)127 602.4 Q 2.5(,S)-.65 G(on)182.74 602.4 Q 2.5(yU)-.15 G(.S.) +207.31 602.4 Q(Karl London)127 614.4 Q(Nakamura Motonori, K)127 626.4 Q +(yoto Uni)-.25 E -.15(ve)-.25 G(rsity).15 E(John Gardiner Myers, Carne)127 +638.4 Q(gie Mellon Uni)-.15 E -.15(ve)-.25 G(rsity).15 E(Neil Rick)127 650.4 Q +(ert, Northern Illinois Uni)-.1 E -.15(ve)-.25 G(rsity).15 E +(Eric Schnoebelen, Con)127 662.4 Q .3 -.15(vex C)-.4 H(omputer Corp.).15 E +(Eric W)127 674.4 Q(assenaar)-.8 E 2.5(,N)-.4 G +(ational Institute for Nuclear and High Ener)200.49 674.4 Q(gy Ph)-.18 E +(ysics, Amsterdam)-.05 E(Christophe W)127 686.4 Q(olfhugel, Herv)-.8 E 2.5(eS) +-.15 G(chauer Consultants \(P)252.7 686.4 Q(aris\))-.15 E 2.687(Ia)87 702.6 S +.187(pologize for an)97.457 702.6 R .188(yone I ha)-.15 F .488 -.15(ve o)-.2 H +.188(mitted, misspelled, misattrib).15 F .188(uted, or otherwise missed.)-.2 F +(Man)5.188 E 2.688(yo)-.15 G .188(ther peo-)467.992 702.6 R(ple ha)87 714.6 Q +.3 -.15(ve c)-.2 H(ontrib).15 E(uted ideas, comments, and encouragement.)-.2 E +2.5(Ia)5 G(ppreciate their contrib)338.06 714.6 Q(ution as well.)-.2 E EP +%%Page: 60 55 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 12/Times-Bold@0 SF 3(APPENDIX A)257.172 98.4 R(COMMAND LINE FLA)224.832 +141.6 Q(GS)-.66 E/F1 10/Times-Roman@0 SF(Ar)97 201 Q +(guments must be presented with \215ags before addresses.)-.18 E +(The \215ags are:)5 E<ad62>72 217.2 Q/F2 10/Times-Italic@0 SF(x)A F1 +(Set operation mode to)144 217.2 Q F2(x)2.5 E F1 5(.O)C(peration modes are:) +253.71 217.2 Q 12.22(mD)184 233.4 S(eli)211.22 233.4 Q -.15(ve)-.25 G 2.5(rm) +.15 G(ail \(def)243.87 233.4 Q(ault\))-.1 E 16.11(sS)184 245.4 S +(peak SMTP on input side)209.56 245.4 Q 15(dR)184 257.4 S(un as a daemon)210.67 +257.4 Q 17.22(tR)184 269.4 S(un in test mode)210.67 269.4 Q 15(vJ)184 281.4 S +(ust v)207.89 281.4 Q(erify addresses, don')-.15 E 2.5(tc)-.18 G +(ollect or deli)319.48 281.4 Q -.15(ve)-.25 G(r).15 E 17.22(iI)184 293.4 S +(nitialize the alias database)207.33 293.4 Q 15(pP)184 305.4 S +(rint the mail queue)209.56 305.4 Q<ad42>72 325.8 Q F2(type)A F1 +(Indicate body type.)144 325.8 Q<ad43>72 342 Q F2(\214le)A F1 .947(Use a dif) +144 342 R .946(ferent con\214guration \214le.)-.25 F F2(Sendmail)5.946 E F1 +.946(runs as the in)3.446 F -.2(vo)-.4 G .946(king user \(rather than root\)).2 +F(when this \215ag is speci\214ed.)144 354 Q<ad64>72 370.2 Q F2(le)A(vel)-.15 E +F1(Set deb)144 370.2 Q(ugging le)-.2 E -.15(ve)-.25 G(l.).15 E<ad66>72 386.4 Q +F2(addr)2.5 E F1(The sender')144 386.4 Q 2.5(sm)-.55 G(achine address is)205.1 +386.4 Q F2(addr)2.5 E F1(.)A<ad46>72 402.6 Q F2(name)A F1 +(Sets the full name of this user to)144 402.6 Q F2(name)2.5 E F1(.)A<ad68>72 +418.8 Q F2(cnt)2.5 E F1 .725(Sets the \231hop count\232 to)144 418.8 R F2(cnt) +3.225 E F1 5.725(.T)C .726 +(his represents the number of times this message has been)269.45 418.8 R .02 +(processed by)144 430.8 R F2(sendmail)2.52 E F1 .02(\(to the e)2.52 F .02 +(xtent that it is supported by the underlying netw)-.15 F(orks\).)-.1 E F2(Cnt) +5.02 E F1 1.521 +(is incremented during processing, and if it reaches MAXHOP \(currently 30\)) +144 442.8 R F2(sendmail)4.021 E F1(thro)144 454.8 Q(ws a)-.25 E -.1(wa)-.15 G +2.5(yt).1 G(he message with an error)199.6 454.8 Q(.)-.55 E 58.86(\255n Don')72 +471 R 2.5(td)-.18 G 2.5(oa)174.65 471 S(liasing or forw)186.59 471 Q(arding.) +-.1 E<ad72>72 487.2 Q F2(addr)2.5 E F1(An obsolete form of)144 487.2 Q/F3 10 +/Times-Bold@0 SF<ad66>2.5 E F1(.)A<ad6f>72 503.4 Q F2 1.666(xv)C(alue)-1.666 E +F1(Set option)144 503.4 Q F2(x)2.5 E F1(to the speci\214ed)2.5 E F2(value)2.5 E +F1 5(.T)C(hese options are described in Appendix B.)292.6 503.4 Q<ad70>72 519.6 +Q F2(pr)A(otocol)-.45 E F1 .401(Set the sending protocol.)144 519.6 R .401 +(Programs are encouraged to set this.)5.401 F .4(The protocol \214eld can be) +5.401 F .114(in the form)144 531.6 R F2(pr)2.614 E(otocol)-.45 E F3(:)A F2 +(host)A F1 .114(to set both the sending protocol and sending host.)2.614 F -.15 +(Fo)5.115 G 2.615(re).15 G(xample,)472.06 531.6 Q 2.147(\231\255pUUCP:uunet\ +\232 sets the sending protocol to UUCP and the sending host to uunet.)144 543.6 +R .973(\(Some e)144 555.6 R .974 +(xisting programs use \255oM to set the r and s macros; this is equi)-.15 F +-.25(va)-.25 G .974(lent to using).25 F(\255p.\))144 567.6 Q<ad71>72 583.8 Q F2 +(time)A F1 -.35(Tr)144 583.8 S 3.168(yt).35 G 3.167(op)164.038 583.8 S .667 +(rocess the queued up mail.)177.205 583.8 R .667(If the time is gi)5.667 F -.15 +(ve)-.25 G .667(n, a).15 F F2(sendmail)3.167 E F1 .667(will run through the) +3.167 F(queue at the speci\214ed interv)144 595.8 Q(al to deli)-.25 E -.15(ve) +-.25 G 2.5(rq).15 G(ueued mail; otherwise, it only runs once.)310.82 595.8 Q +<ad71>72 612 Q F2(Xstring)A F1 .312 +(Run the queue once, limiting the jobs to those matching)144 612 R F2(Xstring) +2.813 E F1 5.313(.T)C .313(he k)416.325 612 R .613 -.15(ey l)-.1 H(etter).15 E +F2(X)2.813 E F1 .313(can be)2.813 F F3(I)144 624 Q F1 .671 +(to limit based on queue identi\214er)3.171 F(,)-.4 E F3(R)3.171 E F1 .67 +(to limit based on recipient, or)3.171 F F3(S)3.17 E F1 .67(to limit based on) +3.17 F(sender)144 636 Q 6.053(.A)-.55 G 1.054 +(particular queued job is accepted if one of the corresponding addresses con-) +188.876 636 R(tains the indicated)144 648 Q F2(string)2.5 E F1(.)A 61.08 +(\255t Read)72 664.2 R .752(the header for \231T)3.252 F .752 +(o:\232, \231Cc:\232, and \231Bcc:\232 lines, and send to e)-.8 F -.15(ve)-.25 +G .752(ryone listed in those).15 F 2.539(lists. The)144 676.2 R .039 +(\231Bcc:\232 line will be deleted before sending.)2.539 F(An)5.039 E 2.539(ya) +-.15 G .04(ddresses in the ar)385.31 676.2 R .04(gument v)-.18 F(ec-)-.15 E +(tor will be deleted from the send list.)144 688.2 Q<ad58>72 704.4 Q F2(lo)3.18 +E(g\214le)-.1 E F1 .68(Log all traf)144.68 704.4 R .68(\214c in and out of)-.25 +F F2(sendmail)3.179 E F1 .679(in the indicated)3.179 F F2(lo)3.179 E(g\214le) +-.1 E F1 .679(for deb)3.179 F .679(ugging mailer prob-)-.2 F 2.5(lems. This)144 +716.4 R(produces a lot of data v)2.5 E +(ery quickly and should be used sparingly)-.15 E(.)-.65 E F3 193.36 +(SMM:08-60 Sendmail)72 756 R(Installation and Operation Guide)2.5 E EP +%%Page: 61 56 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-61)452.9 60 Q/F1 10/Times-Roman@0 SF .637 +(There are a number of options that may be speci\214ed as primiti)97 96 R .938 +-.15(ve \215)-.25 H 3.138(ags. These).15 F .638(are the e, i, m, and v)3.138 F +2.5(options. Also,)72 108 R(the f option may be speci\214ed as the)2.5 E F0 +<ad73>2.5 E F1(\215ag.)2.5 E EP +%%Page: 62 57 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 12/Times-Bold@0 SF 3(APPENDIX B)250.002 98.4 R -.12(QU)220.29 141.6 S +(EUE FILE FORMA).12 E(TS)-1.14 E/F1 10/Times-Roman@0 SF .292 +(This appendix describes the format of the queue \214les.)97 201 R .292 +(These \214les li)5.292 F .592 -.15(ve i)-.25 H 2.792(nt).15 G .291 +(he directory de\214ned by the)395.636 201 R/F2 10/Times-Bold@0 SF(Q)72 213 Q +F1(option in the)2.5 E/F3 10/Times-Italic@0 SF(sendmail.cf)2.5 E F1 +(\214le, usually)2.5 E F3(/var/spool/mqueue)2.5 E F1(or)2.5 E F3 +(/usr/spool/mqueue)2.5 E F1(.)A .229(All queue \214les ha)97 229.2 R .529 -.15 +(ve t)-.2 H .229(he name).15 F F3(x)2.729 E F2(f)1.666 E F3(AAA99999)A F1 +(where)2.73 E F3(AAA99999)2.73 E F1 .23(is the)2.73 F F3(id)2.73 E F1 .23 +(for this message and the)2.73 F F3(x)2.73 E F1 .23(is a)2.73 F 3.601 +(type. The)72 241.2 R 1.101 +(\214rst letter of the id encodes the hour of the day that the message w)3.601 +F 1.101(as recei)-.1 F -.15(ve)-.25 G 3.601(db).15 G 3.601(yt)451.798 241.2 S +1.101(he system)463.179 241.2 R .551 +(\(with A being the hour between midnight and 1:00AM\).)72 253.2 R .552 +(All \214les with the same id collecti)5.552 F -.15(ve)-.25 G .552 +(ly de\214ne one).15 F(message.)72 265.2 Q(The types are:)97 281.4 Q 31(dT)72 +297.6 S(he data \214le.)114.11 297.6 Q(The message body \(e)5 E +(xcluding the header\) is k)-.15 E(ept in this \214le.)-.1 E 33.22(lT)72 313.8 +S .312(he lock \214le.)114.11 313.8 R .312(If this \214le e)5.312 F .311 +(xists, the job is currently being processed, and a queue run will not pro-) +-.15 F .523(cess the \214le.)108 325.8 R -.15(Fo)5.524 G 3.024(rt).15 G .524 +(hat reason, an e)183.274 325.8 R(xtraneous)-.15 E F2(lf)3.024 E F1 .524 +(\214le can cause a job to apparently disappear \(it will)3.024 F .285(not e) +108 337.8 R -.15(ve)-.25 G 2.785(nt).15 G .284(ime out!\).)147.61 337.8 R +([Actually)5.284 E 2.784(,t)-.65 G .284 +(his \214le is obsolete on most systems that support the)237.802 337.8 R F2 +(\215ock)2.784 E F1(or)2.784 E F2(lockf)2.784 E F1(system calls.])108 349.8 Q +31(nT)72 366 S .348(his \214le is created when an id is being created.)114.11 +366 R .348(It is a separate \214le to insure that no mail can e)5.348 F -.15 +(ve)-.25 G(r).15 E .805(be destro)108 378 R .805(yed due to a race condition.) +-.1 F .805(It should e)5.805 F .805(xist for no more than a fe)-.15 F 3.305(wm) +-.25 G .805(illiseconds at an)433.1 378 R(y)-.15 E(gi)108 390 Q -.15(ve)-.25 G +2.5(nt).15 G 2.5(ime. [This)135.1 390 R(is only used on old v)2.5 E(ersions of) +-.15 E F3(sendmail)2.5 E F1 2.5(;i)C 2.5(ti)349.95 390 S 2.5(sn)358.01 390 S +(ot used on ne)369.4 390 Q(wer v)-.25 E(ersions.])-.15 E 31(qT)72 406.2 S +(he queue control \214le.)114.11 406.2 Q +(This \214le contains the information necessary to process the job)5 E(.)-.4 E +33.22(tA)72 422.4 S .344(temporary \214le.)118.064 422.4 R .344 +(These are an image of the)5.344 F F2(qf)2.844 E F1 .344 +(\214le when it is being reb)2.844 F 2.845(uilt. It)-.2 F .345 +(should be renamed)2.845 F(to a)108 434.4 Q F2(qf)2.5 E F1(\214le v)2.5 E +(ery quickly)-.15 E(.)-.65 E 31(xA)72 450.6 S .567(transcript \214le, e)118.287 +450.6 R .567(xisting during the life of a session sho)-.15 F .566(wing e)-.25 F +-.15(ve)-.25 G .566(rything that happens during that).15 F(session.)108 462.6 Q +(The)97 478.8 Q F2(qf)3.333 E F1 .833 +(\214le is structured as a series of lines each be)3.333 F .834 +(ginning with a code letter)-.15 F 5.834(.T)-.55 G .834(he lines are as fol-) +427.354 478.8 R(lo)72 490.8 Q(ws:)-.25 E 28.78(DT)72 507 S +(he name of the data \214le.)114.11 507 Q +(There may only be one of these lines.)5 E 28.78(HA)72 523.2 S .33 +(header de\214nition.)118.05 523.2 R .33(There may be an)5.33 F 2.829(yn)-.15 G +.329(umber of these lines.)274.289 523.2 R .329(The order is important: the) +5.329 F 2.829(yr)-.15 G(epre-)483.46 523.2 Q .046 +(sent the order in the \214nal message.)108 535.2 R .046 +(These use the same syntax as header de\214nitions in the con\214gu-)5.046 F +(ration \214le.)108 547.2 Q 29.33(CT)72 563.4 S .575(he controlling address.) +114.11 563.4 R .575(The syntax is \231localuser:aliasname\232.)5.575 F .575 +(Recipient addresses follo)5.575 F .575(wing this)-.25 F 2.814 +(line will be \215agged so that deli)108 575.4 R -.15(ve)-.25 G 2.814 +(ries will be run as the).15 F F3(localuser)5.314 E F1 2.814 +(\(a user name from the)5.314 F .562(/etc/passwd \214le\);)108 587.4 R F3 +(aliasname)3.062 E F1 .561(is the name of the alias that e)3.062 F .561 +(xpanded to this address \(used for print-)-.15 F(ing messages\).)108 599.4 Q +29.33(RA)72 615.6 S .705(recipient address.)118.425 615.6 R .705 +(This will normally be completely aliased, b)5.705 F .705 +(ut is actually realiased when the)-.2 F(job is processed.)108 627.6 Q +(There will be one line for each recipient.)5 E 30.44(ST)72 643.8 S +(he sender address.)114.11 643.8 Q(There may only be one of these lines.)5 E +29.89(EA)72 660 S 3.742(ne)115.22 660 S 1.242(rror address.)128.402 660 R 1.242 +(If an)6.242 F 3.742(ys)-.15 G 1.241(uch lines e)218.19 660 R 1.241(xist, the) +-.15 F 3.741(yr)-.15 G 1.241(epresent the addresses that should recei)308.124 +660 R 1.541 -.15(ve e)-.25 H(rror).15 E(messages.)108 672 Q 29.89(TT)72 688.2 S +(he job creation time.)114.11 688.2 Q +(This is used to compute when to time out the job)5 E(.)-.4 E 30.44(PT)72 704.4 +S .113(he current message priority)114.11 704.4 R 5.113(.T)-.65 G .113 +(his is used to order the queue.)236.662 704.4 R .114(Higher numbers mean lo) +5.114 F .114(wer priori-)-.25 F 3.677(ties. The)108 716.4 R 1.176 +(priority changes as the message sits in the queue.)3.677 F 1.176 +(The initial priority depends on the)6.176 F F2 193.36(SMM:08-62 Sendmail)72 +756 R(Installation and Operation Guide)2.5 E EP +%%Page: 63 58 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-63)452.9 60 Q/F1 10/Times-Roman@0 SF +(message class and the size of the message.)108 96 Q 27.11(MA)72 112.2 S 2.703 +(message. This)117.923 112.2 R .203(line is printed by the)2.703 F/F2 10 +/Times-Italic@0 SF(mailq)2.703 E F1 .204 +(command, and is generally used to store status infor)2.704 F(-)-.2 E 2.5 +(mation. It)108 124.2 R(can contain an)2.5 E 2.5(yt)-.15 G -.15(ex)219.78 124.2 +S(t.).15 E 30.44(FF)72 140.4 S .044 +(lag bits, represented as one letter per \215ag.)113.56 140.4 R .043 +(De\214ned \215ag bits are)5.043 F F0(r)2.543 E F1 .043 +(indicating that this is a response)2.543 F .142(message and)108 152.4 R F0(w) +2.642 E F1 .142(indicating that a w)2.642 F .143 +(arning message has been sent announcing that the mail has been)-.1 F(delayed.) +108 164.4 Q 31($A)72 180.6 S .83(macro de\214nition.)118.55 180.6 R .83(The v) +5.83 F .829(alues of certain macros \(as of this writing, only)-.25 F F0($r) +3.329 E F1(and)3.329 E F0($s)3.329 E F1 3.329(\)a)C .829(re passed)466.241 +180.6 R(through to the queue run phase.)108 192.6 Q 29.33(BT)72 208.8 S .924 +(he body type.)114.11 208.8 R .925(The remainder of the line is a te)5.924 F +.925(xt string de\214ning the body type.)-.15 F .925(If this \214eld is)5.925 F +.009(missing, the body type is assumed to be \231unde\214ned\232 and no specia\ +l processing is attempted.)108 220.8 R(Le)5.008 E -.05(ga)-.15 G(l).05 E -.25 +(va)108 232.8 S(lues are \2317BIT\232 and \2318BITMIME\232.).25 E 4.072 +(As an e)97 249 R 4.072(xample, the follo)-.15 F 4.073 +(wing is a queue \214le sent to \231eric@mammoth.Berk)-.25 F(ele)-.1 E -.65(y.) +-.15 G 4.073(EDU\232 and).65 F(\231bostic@ok)72 263 Q(eef)-.1 E(fe.CS.Berk)-.25 +E(ele)-.1 E -.65(y.)-.15 G(EDU\232).65 E/F3 7/Times-Roman@0 SF(1)219.09 259 Q +F1(:)222.59 263 Q(P835771)112 279.2 Q(T404261372)112 291.2 Q(DdfAAA13557)112 +303.2 Q(Seric)112 315.2 Q(Eo)112 327.2 Q(wner)-.25 E(-sendmail@v)-.2 E +(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E(Ceric:sendmail@v)112 +339.2 Q(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E +(Reric@mammoth.Berk)112 351.2 Q(ele)-.1 E -.65(y.)-.15 G(EDU).65 E(Rbostic@ok) +112 363.2 Q(eef)-.1 E(fe.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E +(H?P?return-path: <o)112 375.2 Q(wner)-.25 E(-sendmail@v)-.2 E(angogh.CS.Berk) +-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU>).65 E(Hrecei)112 387.2 Q -.15(ve)-.25 G +(d: by v).15 E(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G +(EDU \(5.108/2.7\) id AAA06703;).65 E(Fri, 17 Jul 92 00:28:55 -0700)132 399.2 Q +(Hrecei)112 411.2 Q -.15(ve)-.25 G(d: from mail.CS.Berk).15 E(ele)-.1 E -.65 +(y.)-.15 G(EDU by v).65 E(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G +(EDU \(5.108/2.7\)).65 E(id AAA06698; Fri, 17 Jul 92 00:28:54 -0700)132 423.2 Q +(Hrecei)112 435.2 Q -.15(ve)-.25 G(d: from [128.32.31.21] by mail.CS.Berk).15 E +(ele)-.1 E -.65(y.)-.15 G(EDU \(5.96/2.5\)).65 E +(id AA22777; Fri, 17 Jul 92 03:29:14 -0400)132 447.2 Q(Hrecei)112 459.2 Q -.15 +(ve)-.25 G(d: by foo.bar).15 E(.baz.de \(5.57/Ultrix3.0-C\))-.55 E +(id AA22757; Fri, 17 Jul 92 09:31:25 GMT)132 471.2 Q(H?F?from: eric@foo.bar)112 +483.2 Q(.baz.de \(Eric Allman\))-.55 E(H?x?full-name: Eric Allman)112 495.2 Q +(Hmessage-id: <9207170931.AA22757@foo.bar)112 507.2 Q(.baz.de>)-.55 E(HT)112 +519.2 Q(o: sendmail@v)-.8 E(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU) +.65 E(Hsubject: this is an e)112 531.2 Q(xample message)-.15 E 1.083(This sho) +72 547.4 R 1.084(ws the name of the data \214le, the person who sent the messa\ +ge, the submission time \(in seconds)-.25 F .26 +(since January 1, 1970\), the message priority)72 559.4 R 2.76(,t)-.65 G .259 +(he message class, the recipients, and the headers for the mes-)257.03 559.4 R +(sage.)72 571.4 Q .32 LW 76 669.2 72 669.2 DL 80 669.2 76 669.2 DL 84 669.2 80 +669.2 DL 88 669.2 84 669.2 DL 92 669.2 88 669.2 DL 96 669.2 92 669.2 DL 100 +669.2 96 669.2 DL 104 669.2 100 669.2 DL 108 669.2 104 669.2 DL 112 669.2 108 +669.2 DL 116 669.2 112 669.2 DL 120 669.2 116 669.2 DL 124 669.2 120 669.2 DL +128 669.2 124 669.2 DL 132 669.2 128 669.2 DL 136 669.2 132 669.2 DL 140 669.2 +136 669.2 DL 144 669.2 140 669.2 DL 148 669.2 144 669.2 DL 152 669.2 148 669.2 +DL 156 669.2 152 669.2 DL 160 669.2 156 669.2 DL 164 669.2 160 669.2 DL 168 +669.2 164 669.2 DL 172 669.2 168 669.2 DL 176 669.2 172 669.2 DL 180 669.2 176 +669.2 DL 184 669.2 180 669.2 DL 188 669.2 184 669.2 DL 192 669.2 188 669.2 DL +196 669.2 192 669.2 DL 200 669.2 196 669.2 DL 204 669.2 200 669.2 DL 208 669.2 +204 669.2 DL 212 669.2 208 669.2 DL 216 669.2 212 669.2 DL/F4 5/Times-Roman@0 +SF(1)93.6 679.6 Q/F5 8/Times-Roman@0 SF .719(This e)3.2 J .719 +(xample is contri)-.12 F -.12(ve)-.2 G 2.719(da).12 G .719 +(nd probably inaccurate for your en)186.968 682.8 R 2.719(vironment. Glance) +-.32 F -.12(ove)2.718 G 2.718(ri).12 G 2.718(tt)384.998 682.8 S 2.718(og) +392.164 682.8 S .718(et an idea; nothing can replace)402.882 682.8 R +(looking at what your o)72 692.4 Q(wn system generates.)-.2 E EP +%%Page: 64 59 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 12/Times-Bold@0 SF 3(APPENDIX C)249.672 98.4 R(SUMMAR)198.282 141.6 Q 3(YO) +-.42 G 3(FS)274.182 141.6 S(UPPOR)291.186 141.6 Q 3(TF)-.48 G(ILES)350.37 141.6 +Q/F1 10/Times-Roman@0 SF 1.519(This is a summary of the support \214les that)97 +201 R/F2 10/Times-Italic@0 SF(sendmail)4.019 E F1 1.52(creates or generates.) +4.019 F(Man)6.52 E 4.02(yo)-.15 G 4.02(ft)444.74 201 S 1.52(hese can be)454.87 +201 R(changed by editing the sendmail.cf \214le; check there to \214nd the act\ +ual pathnames.)72 213 Q(/usr/sbin/sendmail)72 229.2 Q(The binary of)144 241.2 Q +F2(sendmail)2.5 E F1(.)A(/usr/bin/ne)72 257.4 Q -.1(wa)-.25 G(liases).1 E 3.735 +(Al)144 269.4 S 1.235 +(ink to /usr/sbin/sendmail; causes the alias database to be reb)157.735 269.4 R +3.734(uilt. Running)-.2 F 1.234(this pro-)3.734 F(gram is completely equi)144 +281.4 Q -.25(va)-.25 G(lent to gi).25 E(ving)-.25 E F2(sendmail)2.5 E F1(the) +2.5 E/F3 10/Times-Bold@0 SF(\255bi)2.5 E F1(\215ag.)2.5 E 13.38 +(/usr/bin/mailq Prints)72 297.6 R 3.702(al)3.702 G 1.202 +(isting of the mail queue.)181.964 297.6 R 1.203(This program is equi)6.202 F +-.25(va)-.25 G 1.203(lent to using the).25 F F3(\255bp)3.703 E F1 1.203 +(\215ag to)3.703 F F2(sendmail)144 309.6 Q F1(.)A 5.9(/etc/sendmail.cf The)72 +325.8 R(con\214guration \214le, in te)2.5 E(xtual form.)-.15 E +(/usr/lib/sendmail.hf)72 342 Q(The SMTP help \214le.)144 354 Q 7 +(/etc/sendmail.st A)72 370.2 R(statistics \214le; need not be present.)2.5 E +.89(/etc/sendmail.pid Created)72 386.4 R .318 +(in daemon mode; it contains the process id of the current SMTP daemon.)2.818 F +.318(If you)5.318 F .337(use this in scripts; use `)144 398.4 R .337 +(`head \2551')-.74 F 2.838('t)-.74 G 2.838(og)285.78 398.4 S .338 +(et just the \214rst line; later v)298.618 398.4 R .338(ersions of)-.15 F F2 +(sendmail)2.838 E F1(may)2.838 E(add information to subsequent lines.)144 410.4 +Q 25.62(/etc/aliases The)72 426.6 R(te)2.5 E(xtual v)-.15 E +(ersion of the alias \214le.)-.15 E(/etc/aliases.{pag,dir})72 442.8 Q +(The alias \214le in)144 454.8 Q F2(dbm)2.5 E F1(\(3\) format.)1.666 E(/v)72 +471 Q(ar/spool/mqueue)-.25 E +(The directory in which the mail queue and temporary \214les reside.)144 483 Q +(/v)72 499.2 Q(ar/spool/mqueue/qf*)-.25 E +(Control \(queue\) \214les for messages.)144 511.2 Q(/v)72 527.4 Q +(ar/spool/mqueue/df*)-.25 E(Data \214les.)144 539.4 Q(/v)72 555.6 Q +(ar/spool/mqueue/tf*)-.25 E -.7(Te)144 567.6 S(mporary v).7 E +(ersions of the qf \214les, used during queue \214le reb)-.15 E(uild.)-.2 E(/v) +72 583.8 Q(ar/spool/mqueue/xf*)-.25 E 2.5(At)144 595.8 S +(ranscript of the current session.)156.5 595.8 Q F3 193.36(SMM:08-64 Sendmail) +72 756 R(Installation and Operation Guide)2.5 E EP +%%Page: 2 60 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 198.36(SMM:08-2 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF +(This page intentionally left blank;)256.225 300 Q +(replace it with a blank sheet for double-sided output.)218.6 312 Q EP +%%Page: 3 61 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-3)457.9 60 Q/F1 12/Times-Roman@0 SF -1.116(TA)263.226 98.4 S +(BLE OF CONTENTS)1.116 E/F2 10/Times-Roman@0 SF 2.5(1. B)72 124.8 R(ASIC INST) +-.35 E(ALLA)-.93 E 1.18(TION .................................................\ +..............................................................)-1.11 F(7)499 +124.8 Q 2.5(1.1. Compiling)87 139.2 R .43(Sendmail ...........................\ +..............................................................................\ +.....)2.5 F(7)499 139.2 Q 2.5(1.1.1. Old)102 153.6 R -.15(ve)2.5 G +(rsions of mak).15 E 2.93(e.)-.1 G 28.5(......................................\ +............................................................. 7)220.5 153.6 R +2.5(1.1.2. Compilation)102 168 R 2.1(\215ags .................................\ +........................................................................)2.5 F +(7)499 168 Q 2.5(1.1.3. Compilation)102 182.4 R(and installation)2.5 E 28.5(..\ +..............................................................................\ +........ 8)4.6 F 2.5(1.2. Con\214guration)87 196.8 R .99(Files ...............\ +..............................................................................\ +...................)2.5 F(8)499 196.8 Q 2.5(1.3. Details)87 211.2 R +(of Installation Files)2.5 E 28.5(............................................\ +....................................................... 9)4.89 F 2.5 +(1.3.1. /usr/sbin/sendmail)102 225.6 R 28.5(..................................\ +....................................................................... 9)2.66 +F 2.5(1.3.2. /etc/sendmail.cf)102 240 R 23.5(.................................\ +........................................................................... 10) +4.9 F 2.5(1.3.3. /usr/bin/ne)102 254.4 R -.1(wa)-.25 G 2.19(liases ...........\ +..............................................................................\ +..............).1 F(10)494 254.4 Q 2.5(1.3.4. /v)102 268.8 R 1.81(ar/spool/mqu\ +eue ..........................................................................\ +..............................)-.25 F(10)494 268.8 Q 2.5(1.3.5. /etc/aliases*) +102 283.2 R 23.5(.............................................................\ +..................................................... 10)4.62 F 2.5 +(1.3.6. /etc/rc)102 297.6 R 23.5(.............................................\ +..............................................................................\ +. 10)3.51 F 2.5(1.3.7. /usr/lib/sendmail.hf)102 312 R 23.5(...................\ +..............................................................................\ +...... 12)2.94 F 2.5(1.3.8. /etc/sendmail.st)102 326.4 R 23.5(................\ +..............................................................................\ +............... 12)3.5 F 2.5(1.3.9. /usr/bin/ne)102 340.8 R -.1(wa)-.25 G 2.19 +(liases ......................................................................\ +.................................).1 F(12)494 340.8 Q 2.5 +(1.3.10. /usr/bin/mailq)102 355.2 R 23.5(.....................................\ +........................................................................ 12) +4.88 F 2.5(2. NORMAL)72 369.6 R(OPERA)2.5 E 1.56(TIONS .......................\ +..............................................................................\ +........)-1.11 F(12)494 369.6 Q 2.5(2.1. The)87 384 R(System Log)2.5 E 23.5(..\ +..............................................................................\ +.................................... 12)4.89 F 2.5(2.1.1. F)102 398.4 R 2.26(o\ +rmat .........................................................................\ +.................................................)-.15 F(12)494 398.4 Q 2.5 +(2.1.2. Le)102 412.8 R -.15(ve)-.25 G 2.24(ls ................................\ +..............................................................................\ +.............).15 F(12)494 412.8 Q 2.5(2.2. The)87 427.2 R(Mail Queue)2.5 E +23.5(.........................................................................\ +............................................ 12)2.96 F 2.5(2.2.1. Printing)102 +441.6 R(the queue)2.5 E 23.5(.................................................\ +........................................................ 13)2.67 F 2.5 +(2.2.2. F)102 456 R(orcing the queue)-.15 E 23.5(.............................\ +............................................................................ 1\ +3)3.94 F 2.5(2.3. The)87 470.4 R(Alias Database)2.5 E 23.5(...................\ +..............................................................................\ +............... 13)2.69 F 2.5(2.3.1. Reb)102 484.8 R +(uilding the alias database)-.2 E 23.5(.......................................\ +................................................ 14)4.27 F 2.5 +(2.3.2. Potential)102 499.2 R .72(problems ...................................\ +.....................................................................)2.5 F(14) +494 499.2 Q 2.5(2.3.3. List)102 513.6 R -.25(ow)2.5 G 1.81(ners ..............\ +..............................................................................\ +.......................).25 F(14)494 513.6 Q 2.5(2.4. User)87 528 R +(Information Database)2.5 E 23.5(.............................................\ +....................................................... 15)2.7 F 2.5(2.5. Per) +87 542.4 R(-User F)-.2 E(orw)-.15 E(arding \(.forw)-.1 E(ard Files\))-.1 E 23.5 +(.............................................................................\ +...... 15)4.09 F 2.5(2.6. Special)87 556.8 R(Header Lines)2.5 E 23.5(.........\ +..............................................................................\ +...................... 15)2.97 F 2.5(2.6.1. Return-Receipt-T)102 571.2 R .98(o\ +: ............................................................................\ +...........................)-.8 F(15)494 571.2 Q 2.5(2.6.2. Errors-T)102 585.6 +R 2.09(o: ....................................................................\ +.................................................)-.8 F(16)494 585.6 Q 2.5 +(2.6.3. Apparently-T)102 600 R 2.09(o: .......................................\ +......................................................................)-.8 F +(16)494 600 Q 2.5(2.7. IDENT)87 614.4 R(Protocol Support)2.5 E 23.5(..........\ +..............................................................................\ +............... 16)2.95 F 2.5(3. ARGUMENTS)72 628.8 R 23.5(...................\ +..............................................................................\ +.............................. 16)3.78 F 2.5(3.1. Queue)87 643.2 R(Interv)2.5 E +1.55(al ......................................................................\ +.................................................)-.25 F(16)494 643.2 Q 2.5 +(3.2. Daemon)87 657.6 R 1.29(Mode ............................................\ +...........................................................................)2.5 +F(17)494 657.6 Q 2.5(3.3. F)87 672 R(orcing the Queue)-.15 E 23.5(............\ +..............................................................................\ +....................... 17)4.22 F 2.5(3.4. Deb)87 686.4 R 1.76(ugging ........\ +..............................................................................\ +.......................................)-.2 F(17)494 686.4 Q 2.5(3.5. T)87 +700.8 R(rying a Dif)-.35 E(ferent Con\214guration File)-.25 E 23.5(...........\ +........................................................................ 17) +4.67 F 2.5(3.6. Changing)87 715.2 R(the V)2.5 E(alues of Options)-1.11 E 23.5(\ +..............................................................................\ +.............. 17)3.23 F EP +%%Page: 4 62 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 198.36(SMM:08-4 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 2.5 +(3.7. Logging)87 96 R -.35(Tr)2.5 G(af).35 E .5(\214c ........................\ +..............................................................................\ +................)-.25 F(18)494 96 Q 2.5(3.8. Dumping)87 110.4 R .72(State ....\ +..............................................................................\ +.....................................)2.5 F(18)494 110.4 Q 2.5(4. TUNING)72 +124.8 R 23.5(.................................................................\ +........................................................................ 18) +2.68 F 2.5(4.1. T)87 139.2 R 1.07(imeouts ....................................\ +..............................................................................\ +..............)-.35 F(18)494 139.2 Q 2.5(4.1.1. Queue)102 153.6 R(interv)2.5 E +2.1(al .......................................................................\ +.......................................)-.25 F(18)494 153.6 Q 2.5(4.1.2. Read) +102 168 R 1(timeouts .........................................................\ +......................................................)2.5 F(18)494 168 Q 2.5 +(4.1.3. Message)102 182.4 R 1.56(timeouts ....................................\ +.....................................................................)2.5 F(19) +494 182.4 Q 2.5(4.2. F)87 196.8 R(orking During Queue Runs)-.15 E 23.5(.......\ +..............................................................................\ +............ 20)4.49 F 2.5(4.3. Queue)87 211.2 R .73(Priorities ..............\ +..............................................................................\ +.........................)2.5 F(20)494 211.2 Q 2.5(4.4. Load)87 225.6 R .44(Li\ +miting .......................................................................\ +.................................................)2.5 F(20)494 225.6 Q 2.5 +(4.5. Deli)87 240 R -.15(ve)-.25 G(ry Mode).15 E 23.5(........................\ +..............................................................................\ +................. 21)3.08 F 2.5(4.6. Log)87 254.4 R(Le)2.5 E -.15(ve)-.25 G +2.52(l.).15 G 23.5(...........................................................\ +................................................................... 21)153 +254.4 R 2.5(4.7. File)87 268.8 R .72(Modes ...................................\ +..............................................................................\ +............)2.5 F(22)494 268.8 Q 2.5(4.7.1. T)102 283.2 R 2.5(os)-.8 G +(uid or not to suid?)146.2 283.2 Q 23.5(......................................\ +........................................................... 22)6.52 F 2.5 +(4.7.2. Should)102 297.6 R(my alias database be writable?)2.5 E 23.5 +(........................................................................ 22) +5.47 F 2.5(4.8. Connection)87 312 R 1.56(Caching .............................\ +..............................................................................\ +...)2.5 F(22)494 312 Q 2.5(4.9. Name)87 326.4 R(Serv)2.5 E(er Access)-.15 E +23.5(.........................................................................\ +..................................... 22)2.85 F 2.5(4.10. Mo)87 340.8 R +(ving the Per)-.15 E(-User F)-.2 E(orw)-.15 E(ard Files)-.1 E 23.5(...........\ +......................................................................... 23) +3.84 F 2.5(4.11. Free)87 355.2 R 1.85(Space ..................................\ +..............................................................................\ +...........)2.5 F(23)494 355.2 Q 2.5(4.12. Pri)87 369.6 R -.25(va)-.25 G .3 +-.15(cy F).25 H 1.93(lags ....................................................\ +...................................................................).15 F(24) +494 369.6 Q 2.5(4.13. Send)87 384 R(to Me T)2.5 E 2.08(oo ....................\ +..............................................................................\ +.................)-.8 F(24)494 384 Q 2.5(5. THE)72 398.4 R +(WHOLE SCOOP ON THE CONFIGURA)2.5 E(TION FILE)-1.11 E 23.5 +(........................................................ 24)4.64 F 2.5 +(5.1. Con\214guration)87 412.8 R(File Lines)2.5 E 23.5(.......................\ +..............................................................................\ +... 24)2.66 F 2.5(5.1.1. R)102 427.2 R(and S \212 re)2.5 E(writing rules)-.25 E +23.5(.........................................................................\ +................... 24)3.48 F 2.5(5.1.1.1. The)117 441.6 R(left hand side)2.5 E +23.5(.........................................................................\ +....................... 25)4.07 F 2.5(5.1.1.2. The)117 456 R(right hand side) +2.5 E 23.5(...................................................................\ +........................... 25)3.51 F 2.5(5.1.1.3. Semantics)117 470.4 R(of re) +2.5 E(writing rule sets)-.25 E 23.5 +(.......................................................................... 26) +4.6 F 2.5(5.1.1.4. IPC)117 484.8 R 1(mailers .................................\ +.........................................................................)2.5 F +(27)494 484.8 Q 2.5(5.1.2. D)102 499.2 R 2.5<8a64>2.5 G(e\214ne macro)156.72 +499.2 Q 23.5(.................................................................\ +....................................... 28)4.35 F 2.5(5.1.3. C)102 513.6 R +(and F \212 de\214ne classes)2.5 E 23.5(......................................\ +....................................................... 30)4.62 F 2.5(5.1.4. M) +102 528 R 2.5<8a64>2.5 G(e\214ne mailer)158.39 528 Q 23.5(....................\ +..............................................................................\ +..... 31)4.62 F 2.5(5.1.5. H)102 542.4 R 2.5<8a64>2.5 G(e\214ne header)156.72 +542.4 Q 23.5(.................................................................\ +....................................... 33)2.69 F 2.5(5.1.6. O)102 556.8 R 2.5 +<8a73>2.5 G(et option)155.61 556.8 Q 23.5(....................................\ +......................................................................... 33) +4.61 F 2.5(5.1.7. P)102 571.2 R 2.5<8a70>2.5 G(recedence de\214nitions)155.06 +571.2 Q 23.5(.................................................................\ +......................... 38)3.24 F 2.5(5.1.8. V)102 585.6 R 2.5<8a63>2.5 G +(on\214guration v)156.16 585.6 Q(ersion le)-.15 E -.15(ve)-.25 G 4.62(l.).15 G +23.5(.........................................................................\ +........ 39)265.5 585.6 R 2.5(5.1.9. K)102 600 R 2.5<8a6b>2.5 G .3 -.15 +(ey \214)156.62 600 T(le declaration).15 E 23.5(..............................\ +................................................................ 39)4.88 F 2.5 +(5.2. Building)87 614.4 R 2.5(aC)2.5 G(on\214guration File From Scratch)158.12 +614.4 Q 23.5 +(......................................................................... 41) +3.77 F 2.5(5.2.1. What)102 628.8 R(you are trying to do)2.5 E 23.5(...........\ +..............................................................................\ +.... 42)2.96 F 2.5(5.2.2. Philosoph)102 643.2 R 3.54(y.)-.05 G 23.5(..........\ +..............................................................................\ +........................... 42)180.5 643.2 R 2.5(5.2.2.1. Lar)117 657.6 R +(ge site, man)-.18 E 2.5(yh)-.15 G(osts \212 minimum information)226.1 657.6 Q +23.5(................................................ 42)2.72 F 2.5 +(5.2.2.2. Small)117 672 R(site \212 complete information)2.5 E 23.5 +(.................................................................... 43)4.89 F +2.5(5.2.2.3. Single)117 686.4 R 1.27(host ....................................\ +.......................................................................)2.5 F +(43)494 686.4 Q 2.5(5.2.2.4. A)117 700.8 R(completely dif)2.5 E +(ferent philosoph)-.25 E 3.26(y.)-.05 G 23.5 +(..................................................................... 43)295.5 +700.8 R 2.5(5.2.3. Rele)102 715.2 R -.25(va)-.25 G(nt issues).25 E 23.5(......\ +..............................................................................\ +......................... 44)4.56 F EP +%%Page: 5 63 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Sendmail Installation and Operation Guide)72 60 Q +(SMM:08-5)457.9 60 Q/F1 10/Times-Roman@0 SF 2.5(5.2.4. Ho)102 96 R 2.5(wt)-.25 +G 2.5(op)153.97 96 S 2.38(roceed .............................................\ +...............................................................)166.47 96 R(44) +494 96 Q 2.5(5.2.5. T)102 110.4 R(esting the re)-.7 E +(writing rules \212 the \255bt \215ag)-.25 E 23.5 +(.................................................................... 44)2.99 F +2.5(5.2.6. Building)102 124.8 R(mailer descriptions)2.5 E 23.5(...............\ +......................................................................... 45) +4.61 F 2.5(5.3. The)87 139.2 R(User Database)2.5 E 23.5(......................\ +..............................................................................\ +............ 46)4.92 F 2.5(5.3.1. Structure)102 153.6 R(of the user database) +2.5 E 23.5(...................................................................\ +.................... 47)2.7 F 2.5(5.3.2. User)102 168 R(database semantics)2.5 +E 23.5(.......................................................................\ +........................ 47)3.25 F 2.5(5.3.3. Creating)102 184.4 R +(the database)2.5 E/F2 7/Times-Roman@0 SF(18)215.59 180.4 Q F1 23.5(..........\ +..............................................................................\ +......... 48)225.5 184.4 R 2.5(6. O)72 198.8 R(THER CONFIGURA)-.4 E 1.97(TION \ +..............................................................................\ +...........................)-1.11 F(48)494 198.8 Q 2.5(6.1. P)87 213.2 R +(arameters in src/Mak)-.15 E 1.55(e\214le ....................................\ +................................................................)-.1 F(48)494 +213.2 Q 2.5(6.2. P)87 227.6 R(arameters in src/conf.h)-.15 E 23.5(............\ +..............................................................................\ +.............. 49)4.23 F 2.5(6.3. Con\214guration)87 242 R(in src/conf.c)2.5 E +23.5(.........................................................................\ +........................... 51)3.51 F 2.5(6.3.1. Built-in)102 256.4 R +(Header Semantics)2.5 E 23.5(.................................................\ +.......................................... 51)4.9 F 2.5(6.3.2. Restricting)102 +270.8 R(Use of Email)2.5 E 23.5(..............................................\ +................................................ 52)4.34 F 2.5(6.3.3. Load)102 +285.2 R -1.17 -.74(Av e)2.5 H(rage Computation).74 E 23.5(....................\ +...................................................................... 53)2.74 +F 2.5(6.3.4. Ne)102 299.6 R 2.5(wD)-.25 G(atabase Map Classes)157.85 299.6 Q +23.5(.........................................................................\ +................ 53)4.89 F 2.5(6.3.5. Queueing)102 314 R 1.56(Function .......\ +..............................................................................\ +..................)2.5 F(53)494 314 Q 2.5(6.3.6. Refusing)102 328.4 R +(Incoming SMTP Connections)2.5 E 23.5 +(....................................................................... 54) +2.94 F 2.5(6.3.7. Load)102 342.8 R -1.17 -.74(Av e)2.5 H(rage Computation).74 E +23.5(.........................................................................\ +................. 54)2.74 F 2.5(6.4. Con\214guration)87 357.2 R +(in src/daemon.c)2.5 E 23.5(..................................................\ +............................................ 54)4.62 F 2.5(7. CHANGES)72 371.6 +R(IN VERSION 8)2.5 E 23.5(....................................................\ +...................................................... 54)4.9 F 2.5 +(7.1. Connection)87 386 R 1.56(Caching .......................................\ +.......................................................................)2.5 F +(55)494 386 Q 2.5(7.2. MX)87 400.4 R 2.39(Piggybacking .......................\ +..............................................................................\ +............)2.5 F(55)494 400.4 Q 2.5(7.3. RFC)87 414.8 R(1123 Compliance)2.5 E +23.5(.........................................................................\ +................................. 55)3.77 F 2.5(7.4. Extended)87 429.2 R +(SMTP Support)2.5 E 23.5(.....................................................\ +.................................................. 55)2.94 F 2.5 +(7.5. Eight-Bit)87 443.6 R .44(Clean .........................................\ +.............................................................................) +2.5 F(55)494 443.6 Q 2.5(7.6. User)87 458 R .47(Database .....................\ +..............................................................................\ +.....................)2.5 F(55)494 458 Q 2.5(7.7. Impro)87 472.4 R -.15(ve)-.15 +G 2.5(dB).15 G(IND Support)154.75 472.4 Q 23.5(...............................\ +........................................................................ 55) +3.81 F 2.5(7.8. K)87 486.8 R -.15(ey)-.25 G(ed Files).15 E 23.5(..............\ +..............................................................................\ +................................ 56)3.35 F 2.5(7.9. Multi-W)87 501.2 R +(ord Classes)-.8 E 23.5(......................................................\ +......................................................... 56)3.47 F 2.5 +(7.10. Deferred)87 515.6 R(Macro Expansion)2.5 E 23.5(........................\ +......................................................................... 56) +4.65 F 2.5(7.11. IDENT)87 530 R(Protocol Support)2.5 E 23.5(..................\ +..............................................................................\ +..... 56)2.95 F 2.5(7.12. P)87 544.4 R(arsing Bug Fix)-.15 E .46(es ..........\ +..............................................................................\ +........................)-.15 F(56)494 544.4 Q 2.5(7.13. Separate)87 558.8 R +(En)2.5 E -.15(ve)-.4 G(lope/Header Processing).15 E 23.5(....................\ +............................................................ 56)4.37 F 2.5 +(7.14. Owner)87 573.2 R(-List Propag)-.2 E(ates to En)-.05 E -.15(ve)-.4 G 1.27 +(lope ........................................................................\ +............).15 F(56)494 573.2 Q 2.5(7.15. Dynamic)87 587.6 R +(Header Allocation)2.5 E 23.5(................................................\ +................................................ 56)3.25 F 2.5(7.16. Ne)87 602 +R 2.5(wC)-.25 G(ommand Line Flags)139.8 602 Q 23.5(...........................\ +....................................................................... 56)3.2 +F 2.5(7.17. Enhanced)87 616.4 R(Command Line Flags)2.5 E 23.5(................\ +......................................................................... 56) +4.9 F 2.5(7.18. Ne)87 630.8 R 2.5(wa)-.25 G(nd Old Con\214guration Line T) +137.57 630.8 Q .4(ypes .......................................................\ +.......................)-.8 F(57)494 630.8 Q 2.5(7.19. Ne)87 645.2 R 2.5(wO) +-.25 G .7(ptions .............................................................\ +...........................................................)140.35 645.2 R(57) +494 645.2 Q 2.5(7.20. Extended)87 659.6 R 1.56(Options .......................\ +..............................................................................\ +...........)2.5 F(57)494 659.6 Q 2.5(7.21. Ne)87 674 R 2.5(wM)-.25 G +(ailer Flags)142.02 674 Q 23.5(...............................................\ +................................................................. 57)4.04 F 2.5 +(7.22. Ne)87 688.4 R 2.5(wP)-.25 G(re-De\214ned Macros)138.69 688.4 Q 23.5(...\ +..............................................................................\ +................... 58)4.06 F 2.5(7.23. Ne)87 702.8 R 2.5(wL)-.25 G(HS T)139.24 +702.8 Q(ok)-.8 E 1.33(en .....................................................\ +.............................................................)-.1 F(58)494 +702.8 Q 2.5(7.24. Bigger)87 717.2 R(Def)2.5 E(aults ..........................\ +..............................................................................\ +............)-.1 E(58)494 717.2 Q EP +%%Page: 6 64 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 198.36(SMM:08-6 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 2.5(7.25. Dif)87 +96 R(ferent Def)-.25 E(ault T)-.1 E(uning P)-.45 E 1.99(arameters ............\ +......................................................................)-.15 F +(58)494 96 Q 2.5(7.26. Auto-Quoting)87 110.4 R(in Addresses)2.5 E 23.5(.......\ +..............................................................................\ +............ 58)3.51 F 2.5(7.27. Symbolic)87 124.8 R(Names On Error Mailer)2.5 +E 23.5(.......................................................................\ +............... 58)4.91 F 2.5(7.28. SMTP)87 139.2 R(VRFY Doesn')2.5 E 2.5(tE) +-.18 G 1.18(xpand ............................................................\ +................................)209.88 139.2 R(58)494 139.2 Q 2.5(7.29. [IPC]) +87 153.6 R(Mailers Allo)2.5 E 2.5(wM)-.25 G(ultiple Hosts)205.91 153.6 Q 23.5(\ +..............................................................................\ +..... 58)3.75 F 2.5(7.30. Aliases)87 168 R 1.29(Extended .....................\ +..............................................................................\ +..............)2.5 F(59)494 168 Q 2.5(7.31. Portability)87 182.4 R +(and Security Enhancements)2.5 E 23.5(........................................\ +....................................... 59)2.68 F 2.5(7.32. Miscellaneous)87 +196.8 R 1.29(Changes .........................................................\ +..............................................)2.5 F(59)494 196.8 Q 2.5(8. A)72 +211.2 R(CKNO)-.4 E .1(WLEDGEMENTS ............................................\ +................................................................)-.35 F(59)494 +211.2 Q(Appendix A.)72 225.6 Q(COMMAND LINE FLA)5 E 1.97(GS ..................\ +.......................................................................)-.4 F +(60)494 225.6 Q(Appendix B.)72 240 Q -.1(QU)5 G(EUE FILE FORMA).1 E 1.38(TS ..\ +..............................................................................\ +............)-1.11 F(62)494 240 Q(Appendix C.)72 254.4 Q(SUMMAR)5 E 2.5(YO)-.65 +G 2.5(FS)188.85 254.4 S(UPPOR)202.47 254.4 Q 2.5(TF)-.6 G 1.12(ILES ..........\ +....................................................................)248.27 +254.4 R(64)494 254.4 Q EP +%%Trailer +end +%%EOF |