diff options
| author | Peter Wemm <peter@FreeBSD.org> | 1995-12-02 17:30:23 +0000 |
|---|---|---|
| committer | Peter Wemm <peter@FreeBSD.org> | 1995-12-02 17:30:23 +0000 |
| commit | 58162a7314f7e4552e9585026529da1640363549 (patch) | |
| tree | 8d6be8896a925b2043a5656b818313e358ae04d7 /usr.sbin/sendmail/doc | |
Diffstat (limited to 'usr.sbin/sendmail/doc')
| -rw-r--r-- | usr.sbin/sendmail/doc/changes/changes.me | 997 | ||||
| -rw-r--r-- | usr.sbin/sendmail/doc/changes/changes.ps | 1092 | ||||
| -rw-r--r-- | usr.sbin/sendmail/doc/op/op.me | 7593 | ||||
| -rw-r--r-- | usr.sbin/sendmail/doc/op/op.ps | 5944 |
4 files changed, 15626 insertions, 0 deletions
diff --git a/usr.sbin/sendmail/doc/changes/changes.me b/usr.sbin/sendmail/doc/changes/changes.me new file mode 100644 index 0000000000000..ee838bd40d78c --- /dev/null +++ b/usr.sbin/sendmail/doc/changes/changes.me @@ -0,0 +1,997 @@ +.\" Copyright (c) 1994 Eric P. Allman +.\" Copyright (c) 1988, 1994 +.\" 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. +.\" +.\" @(#)changes.me 8.2 (Berkeley) 5/3/95 +.\" +.\" ditroff -me -Pxx changes.me +.eh '%''Changes in Sendmail Version 8' +.oh 'Changes in Sendmail Version 8''%' +.nr si 3n +.if n .ls 2 +.+c +.(l C +.sz 14 +Changes in Sendmail Version 8* +.sz +.sp +Eric Allman +.sp 0.5 +.i +University of California, Berkeley +Mammoth Project +.)l +.(f +*An earlier version of this paper was printed in the +Proceedings of the 1994 AUUG Queensland Summer Technical Conference, +Gateway Hotel, Brisbane, March 1994. +.)f +.sp +.(l F +.ce +ABSTRACT +.sp \n(psu +Version 8 of +.i sendmail +includes a number of major changes from previous versions. +This paper gives a very short history of +.i sendmail , +a summary of the major differences between version 5 +(the last publically available version) +and version 8, +and some discussion of future directions. +.)l +.sp 2 +.pp +In 1987, the author stopped major work on +.i sendmail +due to other time committments, +only to return to active work in 1991. +This paper explores why work resumed +and what changes have been made. +.pp +Section 1 gives a short history of +.i sendmail +through version 5 and the motivation behind working on version 8. +Section 2 has +a rather detailed description of what has changed +between version 5 and version 8. +The paper finishes off with some thoughts +about what still needs to be done. +.sh 1 "HISTORY" +.pp +As discussed elsewhere, +[Allman83a, Allman83b, Allman&Amos85] +sendmail has existed in various forms since 1980. +It was released under the name +.i delivermail +in 4BSD and 4.1BSD, and as +.i sendmail +in 4.2BSD. +.\"4.0BSD delivermail 1.10 +.\"4.1BSD delivermail 1.10 +.\"4.2BSD sendmail 4.12 +.\"4.3BSD sendmail 5.52 +It quickly became the dominant mail system for networked UNIX systems. +.pp +Prior the release of 4.3BSD in November 1986, +the author had left the University for private industry, +but continued to do some work on +.i sendmail +with activity slowly trailing off +until effectively stopping after February 1987. +There was minimal support done by many people for several years, +until July of 1991 when the original author, +who had returned the University, +started active work on it again. +.pp +There were several reasons for renewed work on +.i sendmail . +There was a desire at Berkeley to convert to a subdomained structure +so that individuals were identified by their subdomain +rather than by their individual workstation; +although possible in the old code, there were some problems, +and the author was the obvious person to address them. +The Computer Systems Research Group (CSRG), +the group that produced the Berkeley Software Distributions, +was working on 4.4BSD, +and wanted an update to the mail system. +Bryan Costales was working on a book on +.i sendmail +that was being reviewed by the author, +which encouraged him to make some revisions. +And the author wanted to try to unify some of the disparate versions of +.i sendmail +that had been permitted to proliferate. +.pp +During the 1987\-91 fallow period, +many vendors and outside volunteers +had produced variants of +.i sendmail . +Perhaps the best known is the IDA version +[IDA87]. +Originally intended to be a new set of configuration files, +IDA expanded into a fairly large set of patches for the code. +Originally produced in Sweden, +IDA development passed to the University of Illinois, +and was widely used by the fairly large set of people +who prefer to get and compile their own source code +rather than use vendor-supplied binaries. +.pp +In about the same time frame, +attempts were made to clean up and extend the Simple Mail Transport Protocol +(SMTP) +[RFC821]. +This involved clarifications of some ambiguities in the protocol, +and correction of some problem areas +[RFC1123], +as well as extensions for additional functionality +(dubbed Extended Simple Mail Transport Protocol, or ESMTP) +[RFC1425, RFC1426, RFC1427] +and a richer set of semantics in the body of messages +(the Multipurpose Internet Mail Extensions, a.k.a. MIME) +[RFC1521, RFC1344]. +Neither the IDA group nor most vendors +were modifying +.i sendmail +to conform to these new standards. +It seemed clear that these were ``good things'' +that should be encouraged. +However, since no one was working on a publically available version of +.i sendmail +with these updates, +they were unlikely to be widely deployed any time in the near future. +.pp +There are, of course, other mail transport agents available, +such as +.i MMDF +.\"[ref], +.i zmailer +.\"[ref], +.i smail +.\"[ref], +and +.i PP +.\"[ref]. +However, none of these seemed to be gaining the prominence of +.i sendmail ; +it appeared that most companies would not convert to another +mail transport agent any time in the forseeable future. +However, they might be persuaded to convert to a newer version of +.i sendmail . +.pp +All of these convinced the author +to work on a updated version of +.i sendmail +for public distribution. +.pp +The new version of +.i sendmail +is referred to as version eight (V8). +Versions six and seven were skipped +because of an agreement +that all files in 4.4BSD would be numbered as +.q 8.1 . +Rather than have an external version number +that differed from the file version numbers, +.i sendmail +just jumped directly to V8. +.sh 1 "CHANGES IN VERSION EIGHT" +.pp +The following is a summary of the changes between the last commonly +available version of sendmail from Berkeley (5.67) and the latest +version (8.6.6). +.pp +Many of these are ideas that had been tried in IDA, +but many of them were generalized in V8. +.sh 2 "Performance Enhancements" +.pp +Instead of closing SMTP connections immediately, open connections are +cached for possible future use. There is a limit to the number of +simultaneous open connections and the idle time of any individual +connection. +.pp +This is of best help during queue processing (since there is the +potential of many different messages going to one site), although +it can also help when processing MX records which aren't handled +by 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. +.pp +For example, if two sites ``foo.com'' and ``bar.com'' are both +served by UUNET, they will have the same set of MX hosts and will +be sent in one transaction. UUNET will then split the message +and send it to the two individual hosts. +.sh 2 "RFC 1123 Changes" +.pp +A number of changes have been made to make sendmail ``conditionally +compliant'' (that is, it satisfies all of the MUST clauses and most +but not all of the SHOULD clauses in RFC 1123). +.pp +The major areas of change are (numbers are RFC 1123 section numbers): +.nr ii 0.75i +.ip \(sc5.2.7 +Response to RCPT command is fast. Previously, sendmail +expanded all aliases as far as it could \*- this could +take a very long time, particularly if there were +name server delays. Version 8 only checks for the +existence of an alias and does the expansion later. +It does still do a DNS lookup if there is an explicit host name +in the RCPT command, +but this time is bounded. +.ip \(sc5.2.8 +Numeric IP addresses are logged in Received: lines. +This helps tracing spoofed messages. +.ip \(sc5.2.17 +Self domain literal is properly handled. Previously, +if someone sent to user@[1.2.3.4], where 1.2.3.4 is +your IP address, the mail would probably be rejected +with a ``configuration error''. +Version 8 can handle these addresses. +.ip \(sc5.3.2 +Better control over individual timeouts. RFC 821 specified +no timeouts. Older versions of sendmail had a single +timeout, typically set to two hours. Version 8 allows +the configuration file to set timeouts for various +SMTP commands individually. +.ip \(sc5.3.3 +Error messages are sent as From:<>. This was urged by +RFC 821 and reiterated by RFC 1123, but older versions +of sendmail never really did it properly. Version 8 +does. However, some systems cannot handle this +perfectly legal address; if necessary, you can create +a special mailer that uses the `g' flag to disable this. +.ip \(sc5.3.3 +Error messages are never sent to <>. Previously, +sendmail was happy to send responses-to-responses which +sometimes resulted in responses-to-responses-to-responses +which resulted in .... you get the idea. +.ip \(sc5.3.3 +Route-addrs (the ugly ``<@hosta,@hostb:user@hostc>'' +syntax) are pruned. RFC 821 urged the use of this +bletcherous syntax. RFC 1123 has seen the light and +officially deprecates them, further urging that you +eliminate all but ``user@hostc'' should you receive +one of these things. Version 8 is slightly more generous +than the standards suggest; instead of stripping off all +the route addressees, it only strips hosts off up to +the one before the last one known to DNS, thus allowing +you to have pseudo-hosts such as foo.BITNET. The `R' +option will turn this off. +.lp +The areas in which sendmail is not ``unconditionally compliant'' are: +.ip \(sc5.2.6 +Sendmail does do header munging. +.ip \(sc5.2.10 +Sendmail doesn't always use the exact SMTP message +text from RFC 821. This is a rather silly requirement. +.ip \(sc5.3.1.1 +Sendmail doesn't guarantee only one connect for each +host on queue runs. Connection caching gives you most +of this, but it does not provide a guarantee. +.ip \(sc5.3.1.1 +Sendmail doesn't always provide an adequate limit +on concurrency. That is, there can be several +independent sendmails running at once. My feeling +is that doing an absolute limit would be a mistake +(it might result in lost mail). However, if you use +the XLA contributed software, most of this will be +guaranteed (but I don't guarantee the guarantee). +.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). +The body support is minimal because the +.q 8BITMIME +body type is not currently advertised. +Although such a body type will be accepted, +it will not be correctly converted to 7 bits +if speaking to a non-8-bit-MIME aware SMTP server. +.pp +.i Sendmail +tries to speak ESMTP if you have the `a' flag set +in the flags for the mailer descriptor, +or if the other end advertises the fact that it speaks ESMTP. +This is a non-standard advertisement: +.i sendmail +announces +.q "ESMTP spoken here" +during the initial connection message, +and client sendmails search for this message. +This creates some problems for some PC-based mailers, +which do not understand two-line greeting messages +as required by RFC 821. +.sh 2 "Eight-Bit Clean +.pp +Previous versions of sendmail used the 0200 bit for quoting. This +version avoids that use. +However, you can set option `7' to get seven bit stripping +for compatibility with RFC 821, +which is a 7-bit protocol. +This option says ``strip to 7 bits on input''. +.pp +Individual mailers can still produce seven bit out put using the +`7' mailer flag. +This flag says ``strip to 7 bits on output''. +.sh 2 "User Database" +.pp +The User Database (UDB) 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. +Briefly, UDB contains a database that is intended to contain +all the per-user information for your workgroup, +such as people's full names, their .plan information, +their outgoing mail name, and their mail drop. +.pp +The user database allows you to map both incoming and outgoing +addresses, much like IDA. However, the interface is still +better with IDA; +in particular, the alias file with incoming/outgoing marks +provides better locality of information. +.sh 2 "Improved BIND Support" +.pp +The BIND support, particularly for MX records, had a number of +annoying ``features'' which have been removed in this release. In +particular, these more tightly bind (pun intended) the name server +to sendmail, so that the name server resolution rules are incorporated +directly into sendmail. +.pp +The major change has been that the $[ ... $] operator didn't fully +qualify names that were in DNS as A or MX records. Version 8 does +this qualification. +.pp +This has proven to be an annoyance in Sun shops, +who often still run without BIND support. +However, it is really critical that this be supported, +since MX records are mandatory. +In SunOS you can choose either MX support or NIS support, +but not both. +This is fixed in Solaris, +and some +.i sendmail +support to allow this in SunOS should be forthcoming in a future release. +.sh 2 "Keyed Files" +.pp +Generalized keyed files is an idea taken directly from IDA sendmail +(albeit with a completely different implementation). +They can be useful on large sites. +.pp +Version 8 includes the following built-in map classes: +.ip dbm +Support for the ndbm(3) library. +.ip hash +Support for the ``Hash'' type from the new Berkeley db(3) library. +this library provides substantially better database support +than ndbm(3), +including in-memory caching, +arbitrarily long keys and values, +and better disk utilization. +.ip btree +Support for the ``B-Tree'' type from the new Berkeley db(3) library. +B-Trees provide better clustering than Hashed files +if you are fetching lots of records that have similar keys, +such as searching a dictionary for words beginning with ``detr''. +.ip nis +Support for NIS (a.k.a. YP) maps. +NIS+ is not supported in this version. +.ip host +Support for DNS lookups. +.ip dequote +A ``pseudo-map'' (that is, once that does not have any external data) +that allows a configuration file to break apart a quoted string +in the address. +This is necessary primarily for DECnet addresses, +which often have quoted addresses that need to be unwrapped on gateways. +.sh 2 "Multi-Word Classes & Macros in Classes" +.pp +Classes can now be multiple words. For example, +.(b +CShofmann.CS.Berkeley.EDU +.)b +allows you to match the entire string ``hofmann.CS.Berkeley.EDU'' +using the single construct ``$=S''. +.pp +Class definitions are now allowed to include macros \*- for example: +.(b +Cw$k +.)b +is legal. +.sh 2 "IDENT Protocol Support" +.pp +The IDENT protocol as defined in RFC 1413 [RFC1413] is supported. +However, many systems have a TCP/IP bug that renders this useless, +and the feature must be turned off. +Roughly, if one of these system receives a +.q "No route to host" +message (ICMP message ICMP_UNREACH_HOST) on +.i any +connection, all connections to that host are closed. +Some firewalls return this error if you try to connect +to the IDENT port, +so you can't receive email from these hosts on these systems. +It's possible that if the firewall used a more specific message +(such as ICMP_UNREACH_PROTOCOL, ICMP_UNREACH_PORT or ICMP_UNREACH_NET_PROHIB) +it would work, but this hasn't been verified. +.pp +IDENT protocol support cannot be used on +4.3BSD, +Apollo DomainOS, +Apple A/UX, +ConvexOS, +Data General DG/UX, +HP-UX, +Sequent Dynix, +or +Ultrix 4.x, x \(<= 3. +It seems to work on +4.4BSD, +IBM AIX 3.x, +OSF/1, +SGI IRIX, +Solaris, +SunOS, +and Ultrix 4.4. +.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 $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 SenderRWSet and RecipientRWset arguments +for mailers can be specified as ``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. +.pp +Some people find this confusing +because the envelope sender is what appears in the first +``From_'' line in UNIX messages +(that is, the line beginning ``From<space>'' +instead of ``From:''; +the latter is the header from, which +.i does +indicate the sender of the message). +In previous versions, +.i sendmail +has tried to avoid changing the envelope sender +for back compatibility with UNIX convention; +at this point that back compatibility is creating too many problems, +and it is necessary to move forward into the 1980s. +.sh 2 "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 +that was previously passed in by defining the +.b $r +and +.b $s +macros. +.pp +The +.b \-X +flag has been added to allow logging of all protocol in and +out of sendmail for debugging. +You can set +.q "\-X filename" +and a complete transcript will be logged in that file. +This gets big fast: the option is only for debugging. +.pp +The +.b \-q +flag can limit limit a queue run to specific recipients, +senders, or queue ids using \-qRsubstring, \-qSsubstring, or +\-qIsubstring respectively. +.sh 2 "New Configuration Line Types +.pp +The `T' (Trusted users) configuration line has been deleted. It +will still be accepted but will be ignored. +.pp +The `K' line has been added to declare database maps. +.pp +The `V' line has been added to declare the configuration version +level. +.pp +The `M' (mailer) line takes a D= field to specify execution +directory. +.sh 2 "New and Extended Options" +.pp +Several new options have been added, many to support new features, +others to allow tuning that was previously available only by +recompiling. Briefly: +.nr ii 0.5i +.ip A +The alias file specification can now be a list of alias files. +Also, the configuration can specify a class of file. +For example, to search the NIS aliases, use +.q OAnis:mail.aliases . +.ip b +Insist on a minimum number of disk blocks. +.ip C +Delivery checkpoint interval. Checkpoint the queue (to avoid +duplicate deliveries) every C addresses. +.ip E +Default error message. This message (or the contents of the +indicated file) are prepended to error messages. +.ip G +Enable GECOS matching. If you can't find a local user name +and this option is enabled, do a sequential scan of the passwd +file to match against full names. Previously a compile option. +.ip h +Maximum hop count. Previously this was compiled in. +.ip I +This option has been extended to allow setting of resolver parameters. +.ip j +Send errors in MIME-encapsulated format. +.ip J +Forward file path. Where to search for .forward files \*- defaults +to $HOME/.forward. +.ip k +Connection cache size. The total number of connections that will +be kept open at any time. +.ip K +Connection cache lifetime. The amount of time any connection +will be permitted to sit idle. +.ip l +Enable Errors-To: header. These headers violate RFC 1123; +this option is included to provide back compatibility with +old versions of sendmail. +.ip O +Incoming daemon options (e.g., use alternate SMTP port). +.ip p +Privacy options. These can be used to make your SMTP server +less friendly. +.ip r +This option has been extended to allow finer grained control +over timeouts. +For example, you can set the timeout for SMTP commands individually. +.ip R +Don't prune route-addrs. Normally, if version 8 sees an address +like "<@hostA,@hostB:user@hostC>, sendmail will try to strip off +as much as it can (up to user@hostC) as suggested by RFC 1123. +This option disables that behaviour. +.ip T +The +.q "Return To Sender" +timeout has been extended +to allow specification of a warning message interval, +typically something on the order of four hours. +If a message cannot be delivered in that interval, +a warning message is sent back to the sender +but the message continues to be tried. +.ip U +User database spec. This is still experimental. +.ip V +Fallback ``MX'' host. This can be thought of as an MX host +that applies to all addresses that has a very high preference +value (that is, use it only if everything else fails). +.ip w +If set, assume that if you are the best MX host for a host, +you should send directly to that host. This is intended +for compatibility with UIUC sendmail, and may have some +use on firewalls. +.ip 7 +Do not run eight bit clean. Technically, you have to assert +this option to be RFC 821 compatible. +.sh 2 "New Mailer Definitions" +.ip L= +Set the allowable line length. In V5, the L mailer flag implied +a line length limit of 990 characters; this is now settable to +an arbitrary value. +.ip F=a +Try to use ESMTP. It will fall back to SMTP if the initial +EHLO packet is rejected. +.ip F=b +Ensure a blank line at the end of messages. Useful on the +*file* mailer. +.ip F=c +Strip all comments from addresses; this should only be used as +a last resort when dealing with cranky mailers. +.ip F=g +Never use the null sender as the envelope sender, even when +running SMTP. This violates RFC 1123. +.ip F=7 +Strip all output to this mailer to 7 bits. +.ip F=L +Used to set the line limit to 990 bytes for SMTP compatibility. +It now does that only if the L= keyletter is not specified. +This flag is obsolete and should not be used. +.sh 2 "New or Changed Pre-Defined Macros" +.ip $k +UUCP node name from uname(2). +.ip $m +Domain part of our full hostname. +.ip $_ +RFC 1413-provided sender address. +.ip $w +Previously was sometimes the full domain name, sometimes +just the first word. Now guaranteed to be the first word +of the domain name (i.e., the host name). +.ip $j +Previously had to be defined \*- it is now predefined to be +the full domain name, if that can be determined. That is, +it is equivalent to $w.$m. +.sh 2 "New and Changed Classes" +.ip $=k +Initialized to contain $k. +.ip $=w +Now includes +.q [1.2.3.4] +(where 1.2.3.4 is your IP address) +to allow the configuration file to recognize your own IP address. +.sh 2 "New Rewriting Tokens" +.pp +The +.b $& +construct has been adopted from IDA to defer macro evaluation. +Normally, macros in rulesets are bound when the rule is first parsed +during startup. +Some macros change during processing and are uninteresting during startup. +However, that macro can be referenced using +.q $&x +to defer the evaulation of +$x +until the rule is processed. +.pp +The tokens +.b $( +and +.b $) +have been added to allow specification of map rewriting. +.pp +Version 8 allows +.b $@ +on the Left Hand Side of an `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 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 ``Full Name <email address>'' syntax would generate +incorrect protocol output if ``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. For example: +.(b +$#error $@NOHOST $: Host unknown +.)b +Prints the indicated message +and sets the exit status of +.i sendmail +to +.sm EX_NOHOST . +.sh 2 "New Built-In Mailers" +.pp +Two new mailers, *file* and *include*, are included to define options +when mailing to a file or a :include: file respectively. Previously +these were overloaded on the local mailer. +.sh 2 "SMTP VRFY Doesn't Expand +.pp +Previous versions of sendmail treated VRFY and EXPN the same. In +this version, VRFY doesn't expand aliases or follow .forward files. +.pp +As an optimization, if you run with your default delivery mode +being queue-only, the RCPT command will also not chase aliases and +\&.forward files. +It will chase them when it processes the queue. +This speeds up RCPT processing. +.sh 2 "[IPC] Mailers Allow Multiple Hosts +.pp +When an address resolves to a mailer that has ``[IPC]'' as its +``Path'', the $@ part (host name) can be a colon-separated list of +hosts instead of a single hostname. This asks 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 multiple alias files and NIS-based aliases. For +example: +.(b +OA/etc/aliases,nis:mail.aliases +.)b +will search first the local database +.q /etc/aliases +followed by the NIS map + +.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. +.pp +In particular, the permissions required for .forward and :include: +files have been tightened up considerably. V5 would pretty much +read any file it could get to as root, which exposed some security +holes. V8 insists that all directories leading up to the .forward +or :include: file be searchable ("x" permission) by the controlling +user" (defined below), that the file itself be readable by the +controlling user, and that .forward files be owned by the user +who is being forwarded to or root. +.pp +The "controlling user" is the user on whose behalf the mail is +being delivered. For example, if you mail to "user1" then the +controlling user for ~user1/.forward and any mailers invoked +by that .forward file, including :include: files. +.pp +Previously, anyone who had a home directory could create a .forward +could forward to a program. Now, sendmail checks to make sure +that they have an "approved shell", that is, a shell listed in +the /etc/shells file. +.sh 2 "Miscellaneous Fixes and Enhancements" +.pp +A number of small bugs having to do with things like backslash-escaped +quotes inside of comments have been fixed. +.pp +The fixed size limit on header lines +(such as +.q To: +and +.q Cc: ) +has been eliminated; +those buffers are dynamically allocated now. +.pp +Sendmail writes a /etc/sendmail.pid file with the current process id +and the current invocation flags. +.pp +Two people using the same program (e.g., submit) are considered +"different" so that duplicate elimination doesn't delete one of +them. For example, two people forwarding their email to +|submit will be treated as two recipients. +.pp +The mailstats program prints mailer names and gets the location of +the sendmail.st file from /etc/sendmail.cf. +.pp +Many minor bugs have been fixed, such as handling of backslashes +inside of quotes. +.pp +A hook has been added to allow rewriting of local addresses after +aliasing. +.sh 1 "FUTURE WORK" +.pp +The previous section describes +.i sendmail +as of version 8.6.6. +There is still much to be done. +Some high points are described below. +This list is by no means exhaustive. +.sh 2 "Full MIME Support" +.pp +Currently +.i sendmail +only supports seven bit MIME messages. +Although it can pass eight bit MIME messages, +it cannot advertise that fact because the standards say +that the mail agent must be able to do 8- to 7-bit conversion +to have full 8-bit support. +This requires far more extensive modification of the message body +than is currently supported. +.pp +The best way to do this would be to support the general concept +of an external +``message filter'' +that could do arbitrary modifications of the message. +This would allow MIME conversion as well as such things as +automatic encryption of messages sent over external links. +This is probably an extremely non-trivial change. +.sh 2 "Service Switch Abstraction" +.pp +Most modern systems include some concept of a +.q "service switch" +\*- for example, to look up host names you can try +DNS, NIS, NIS+, text tables, NetInfo, +or other services in some arbitrary order. +This is currently very clumsy in +.i sendmail , +with only limited control of the services provided. +.sh 2 "More Control of Local Addresses" +.pp +Currently some addresses are declared as +.q local +and are handled specially \*- +for example, they may have .forward files, +may be translated into program calls or file deliveries, +and so forth. +These should be broken out into separate flags +to allow the local system administrator +to have more fine-grained control over operations. +.sh 2 "More Run-Time Configuration Options" +.pp +There are many options that are configured at compile time, +such as the method of file locking +and the use of the IDENT protocol +[RFC1413]. +These should be transfered to run time +by adding new options. +.pp +Similarly, some options are currently overloaded, +that is, a single option controls more than one thing. +These should probably be broken out into separate options. +.pp +This implies that options will change from single characters +to words. +.sh 2 "More Configuration Control Over Errors" +.pp +Currently, +the configuration file can generate an error message during parsing. +However, +it cannot tweak other operations, +such as issuing a warning message to the system postmaster. +Similarly, +some errors should not be triggered if they are in aliases +during an alias file rebuild, +but should be triggered if that alias is actually used. +.sh 2 "Long Term Host State" +.pp +Currently, +.i sendmail +only remembers host status during a single queue run. +This should be converted to long term status +stored on disk +so it can be shared between instantiations of +.i sendmail . +Entries will have to be timestamped +so they can time out. +This will allow +.i sendmail +to implement exponential backoff on queue runs +on a per-host basis. +.sh 2 "Connection Control" +.pp +Modern networks have different types of connectivity +than the past. +In particular, the rising prominence of dialup IP +has created certain challenges for automated servers. +It is not uncommon to try to make a connection to a host +and have it fail, even though if you tried again it would succeed. +The connection management could be a bit cleverer +to try to adapt to such situations. +.sh 2 "Other Caching" +.pp +When you do an MX record lookup, +the name server automatically returns the IP addresses +of the associated MX servers. +This information is currently ignored, +and another query is done to get this information. +It should be cached to avoid excess name server traffic. +.sh 1 "REFERENCES" +.ip [Allman83a] +.q "Sendmail \*- An Internetwork Mail Router." +E. Allman. +In +.ul +Unix Programmers's Manual, +4.2 Berkeley Software Distribution, +volume 2C. +August 1983. +.ip [Allman83b] +.q "Mail Systems and Addressing in 4.2BSD." +E. Allman +In +.ul +UNICOM Conference Proceedings. +San Diego, California. +January 1983. +.ip [Allman&Amos85] +``Sendmail Revisited.'' +E. Allman and M. Amos. +In +.ul +Usenix Summer 1985 Conference Proceedings. +Portland, Oregon. +June 1985. +.ip [IDA87] +.ul 3 +Electronic Mail Addressing in Theory and Practice +with the IDA Sendmail Enhancement Kit +(or The Postmaster's Last Will and Testament). +Lennart Lo\*:vstrand. +Department of Computer and Information Science, +University of Linko\*:ping, +Sweden, +Report no. LiTH-IDA-Ex-8715. +May 1987. +.ip [RFC821] +.ul +Simple Mail Transport Protocol. +J. Postel. +August 1982. +.ip [RFC1123] +.ul +Requirements for Internet Hosts \*- Application and Support. +Internet Engineering Task Force, +R. Braden, Editor. +October 1989. +.ip [RFC1344] +.ul +Implications of MIME for Internet Mail Gateways. +N. Borenstein. +June 1992. +.ip [RFC1413] +.ul +Identification Protocol. +M. St. Johns. +February 1993. +.ip [RFC1425] +.ul +SMTP Service Extensions. +J. Klensin, N. Freed, M. Rose, E. Stefferud, and D. Crocker. +February 1993. +.ip [RFC1426] +.ul +SMTP Service Extension for 8bit-MIMEtransport. +J. Klensin, N. Freed, M. Rose, E. Stefferud, and D. Crocker. +February 1993. +.ip [RFC1427] +.ul +SMTP Service Extension for Message Size Declaration. +J. Klensin, N. Freed, and K. Moore. +February 1993. +.ip [RFC1521] +.ul 3 +MIME (Multipurpose Internet Mail Extensions) Part One: +Mechanisms for Specifying and Describing +the Format of Internet Message Bodies. +N. Borenstein and N. Freed. +September 1993. diff --git a/usr.sbin/sendmail/doc/changes/changes.ps b/usr.sbin/sendmail/doc/changes/changes.ps new file mode 100644 index 0000000000000..5ba54a43edece --- /dev/null +++ b/usr.sbin/sendmail/doc/changes/changes.ps @@ -0,0 +1,1092 @@ +%!PS-Adobe-3.0 +%%Creator: groff version 1.08 +%%DocumentNeededResources: font Times-Roman +%%+ font Times-Italic +%%+ font Times-Bold +%%+ font Symbol +%%DocumentSuppliedResources: procset grops 1.08 0 +%%Pages: 11 +%%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-Roman +%%IncludeResource: font Times-Italic +%%IncludeResource: font Times-Bold +%%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-Bold@0 ENC0/Times-Bold RE +/Times-Italic@0 ENC0/Times-Italic RE/Times-Roman@0 ENC0/Times-Roman RE +%%EndProlog +%%Page: 1 1 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 14/Times-Roman@0 SF(Changes in Sendmail V)196.615 141 Q(ersion 8*)-1.554 E +/F1 10/Times-Roman@0 SF(Eric Allman)263.42 165 Q/F2 10/Times-Italic@0 SF +(Univer)220.2 183 Q(sity of California, Berk)-.1 E(ele)-.1 E(y)-.3 E +(Mammoth Pr)251.98 195 Q(oject)-.45 E F1(ABSTRA)262.085 227.4 Q(CT)-.4 E -1.11 +(Ve)112 243.6 S 1.709(rsion 8 of)1.11 F F2(sendmail)4.209 E F1 1.709 +(includes a number of major changes from pre)4.209 F 1.71(vious v)-.25 F +(ersions.)-.15 E .701(This paper gi)112 255.6 R -.15(ve)-.25 G 3.201(sav).15 G +.701(ery short history of)194.794 255.6 R F2(sendmail)3.201 E F1 3.201(,as)C .7 +(ummary of the major dif)329.82 255.6 R(ferences)-.25 E .953(between v)112 +267.6 R .954(ersion 5 \(the last publically a)-.15 F -.25(va)-.2 G .954 +(ilable v).25 F .954(ersion\) and v)-.15 F .954(ersion 8, and some dis-)-.15 F +(cussion of future directions.)112 279.6 Q .48 +(In 1987, the author stopped major w)97 324 R .48(ork on)-.1 F F2(sendmail)2.98 +E F1 .48(due to other time committments, only to return)2.98 F(to acti)72 336 Q +.3 -.15(ve w)-.25 H(ork in 1991.).05 E(This paper e)5 E(xplores wh)-.15 E 2.5 +(yw)-.05 G(ork resumed and what changes ha)277 336 Q .3 -.15(ve b)-.2 H +(een made.).15 E .58(Section 1 gi)97 352.2 R -.15(ve)-.25 G 3.08(sas).15 G .58 +(hort history of)173.36 352.2 R F2(sendmail)3.08 E F1 .58(through v)3.08 F .58 +(ersion 5 and the moti)-.15 F -.25(va)-.25 G .58(tion behind w).25 F .58 +(orking on)-.1 F -.15(ve)72 364.2 S .126(rsion 8.).15 F .126 +(Section 2 has a rather detailed description of what has changed between v) +5.126 F .125(ersion 5 and v)-.15 F .125(ersion 8.)-.15 F +(The paper \214nishes of)72 376.2 Q 2.5(fw)-.25 G +(ith some thoughts about what still needs to be done.)168.95 376.2 Q/F3 10 +/Times-Bold@0 SF 2.5(1. HIST)72 400.2 R(OR)-.18 E(Y)-.35 E F1 .151 +(As discussed else)112 416.4 R .151 +(where, [Allman83a, Allman83b, Allman&Amos85] sendmail has e)-.25 F .151 +(xisted in v)-.15 F(ar)-.25 E(-)-.2 E .405(ious forms since 1980.)87 428.4 R +.405(It w)5.405 F .405(as released under the name)-.1 F F2(delivermail)2.905 E +F1 .404(in 4BSD and 4.1BSD, and as)2.905 F F2(send-)2.904 E(mail)87 440.4 Q F1 +(in 4.2BSD.)2.5 E(It quickly became the dominant mail system for netw)5 E(ork) +-.1 E(ed UNIX systems.)-.1 E 1.569(Prior the release of 4.3BSD in No)112 456.6 +R -.15(ve)-.15 G 1.569(mber 1986, the author had left the Uni).15 F -.15(ve) +-.25 G 1.57(rsity for pri).15 F -.25(va)-.25 G(te).25 E(industry)87 468.6 Q +3.347(,b)-.65 G .847(ut continued to do some w)129.777 468.6 R .847(ork on)-.1 +F F2(sendmail)3.347 E F1 .847(with acti)3.347 F .846(vity slo)-.25 F .846 +(wly trailing of)-.25 F 3.346(fu)-.25 G .846(ntil ef)445.204 468.6 R(fecti)-.25 +E -.15(ve)-.25 G(ly).15 E .255(stopping after February 1987.)87 480.6 R .255 +(There w)5.255 F .255(as minimal support done by man)-.1 F 2.756(yp)-.15 G .256 +(eople for se)389.796 480.6 R -.15(ve)-.25 G .256(ral years, until).15 F +(July of 1991 when the original author)87 492.6 Q 2.5(,w)-.4 G +(ho had returned the Uni)249.36 492.6 Q -.15(ve)-.25 G(rsity).15 E 2.5(,s)-.65 +G(tarted acti)379.4 492.6 Q .3 -.15(ve w)-.25 H(ork on it ag).05 E(ain.)-.05 E +1.271(There were se)112 508.8 R -.15(ve)-.25 G 1.271(ral reasons for rene).15 F +1.271(wed w)-.25 F 1.271(ork on)-.1 F F2(sendmail)3.771 E F1 6.271(.T)C 1.271 +(here w)369.549 508.8 R 1.27(as a desire at Berk)-.1 F(ele)-.1 E 3.77(yt)-.15 G +(o)499 508.8 Q(con)87 520.8 Q -.15(ve)-.4 G .097 +(rt to a subdomained structure so that indi).15 F .098 +(viduals were identi\214ed by their subdomain rather than by)-.25 F 1.758 +(their indi)87 532.8 R 1.758(vidual w)-.25 F 1.758(orkstation; although possib\ +le in the old code, there were some problems, and the)-.1 F .66(author w)87 +544.8 R .66(as the ob)-.1 F .66(vious person to address them.)-.15 F .66 +(The Computer Systems Research Group \(CSRG\), the)5.66 F 1.89 +(group that produced the Berk)87 556.8 R(ele)-.1 E 4.39(yS)-.15 G(oftw)238.12 +556.8 Q 1.89(are Distrib)-.1 F 1.89(utions, w)-.2 F 1.89(as w)-.1 F 1.89 +(orking on 4.4BSD, and w)-.1 F 1.89(anted an)-.1 F .053 +(update to the mail system.)87 568.8 R .053(Bryan Costales w)5.053 F .053(as w) +-.1 F .053(orking on a book on)-.1 F F2(sendmail)2.553 E F1 .053(that w)2.553 F +.053(as being re)-.1 F(vie)-.25 E(wed)-.25 E .923(by the author)87 580.8 R +3.423(,w)-.4 G .923(hich encouraged him to mak)154.359 580.8 R 3.422(es)-.1 G +.922(ome re)283.572 580.8 R 3.422(visions. And)-.25 F .922(the author w)3.422 F +.922(anted to try to unify)-.1 F(some of the disparate v)87 592.8 Q(ersions of) +-.15 E F2(sendmail)2.5 E F1(that had been permitted to proliferate.)2.5 E .023 +(During the 1987\25591 f)112 609 R(allo)-.1 E 2.523(wp)-.25 G .023(eriod, man) +228.482 609 R 2.523(yv)-.15 G .023(endors and outside v)283.498 609 R .023 +(olunteers had produced v)-.2 F .024(ariants of)-.25 F F2(sendmail)87 621 Q F1 +5.518(.P)C .517(erhaps the best kno)136.688 621 R .517(wn is the ID)-.25 F +3.017(Av)-.4 G .517(ersion [ID)280.317 621 R 3.017(A87]. Originally)-.4 F .517 +(intended to be a ne)3.017 F 3.017(ws)-.25 G .517(et of)485.433 621 R .268 +(con\214guration \214les, ID)87 633 R 2.768(Ae)-.4 G .269(xpanded into a f) +189.464 633 R .269(airly lar)-.1 F .269(ge set of patches for the code.)-.18 F +.269(Originally produced in)5.269 F .471(Sweden, ID)87 645 R 2.971(Ad)-.4 G +-2.15 -.25(ev e)149.472 645 T .471(lopment passed to the Uni).25 F -.15(ve)-.25 +G .471(rsity of Illinois, and w).15 F .47(as widely used by the f)-.1 F .47 +(airly lar)-.1 F(ge)-.18 E .077 +(set of people who prefer to get and compile their o)87 657 R .077 +(wn source code rather than use v)-.25 F(endor)-.15 E .078(-supplied bina-)-.2 +F(ries.)87 669 Q .32 LW 76 678.6 72 678.6 DL 80 678.6 76 678.6 DL 84 678.6 80 +678.6 DL 88 678.6 84 678.6 DL 92 678.6 88 678.6 DL 96 678.6 92 678.6 DL 100 +678.6 96 678.6 DL 104 678.6 100 678.6 DL 108 678.6 104 678.6 DL 112 678.6 108 +678.6 DL 116 678.6 112 678.6 DL 120 678.6 116 678.6 DL 124 678.6 120 678.6 DL +128 678.6 124 678.6 DL 132 678.6 128 678.6 DL 136 678.6 132 678.6 DL 140 678.6 +136 678.6 DL 144 678.6 140 678.6 DL 148 678.6 144 678.6 DL 152 678.6 148 678.6 +DL 156 678.6 152 678.6 DL 160 678.6 156 678.6 DL 164 678.6 160 678.6 DL 168 +678.6 164 678.6 DL 172 678.6 168 678.6 DL 176 678.6 172 678.6 DL 180 678.6 176 +678.6 DL 184 678.6 180 678.6 DL 188 678.6 184 678.6 DL 192 678.6 188 678.6 DL +196 678.6 192 678.6 DL 200 678.6 196 678.6 DL 204 678.6 200 678.6 DL 208 678.6 +204 678.6 DL 212 678.6 208 678.6 DL 216 678.6 212 678.6 DL/F4 8/Times-Roman@0 +SF .045(*An earlier v)93.6 690.6 R .045(ersion of this paper w)-.12 F .044 +(as printed in the Proceedings of the 1994 A)-.08 F .044 +(UUG Queensland Summer T)-.44 F .044(echnical Conference,)-.56 F(Gate)72 700.2 +Q -.08(wa)-.2 G 2(yH).08 G(otel, Brisbane, March 1994.)107.928 700.2 Q F3 +(Changes in Sendmail V)72 756 Q(ersion 8)-1 E(1)499 756 Q EP +%%Page: 2 2 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 294.65(2C)72 60 S(hanges in Sendmail V)378.87 60 Q +(ersion 8)-1 E/F1 10/Times-Roman@0 SF .151 +(In about the same time frame, attempts were made to clean up and e)112 96 R +.151(xtend the Simple Mail T)-.15 F(rans-)-.35 E .468 +(port Protocol \(SMTP\) [RFC821].)87 108 R .468(This in)5.468 F -.2(vo)-.4 G +(lv).2 E .469(ed clari\214cations of some ambiguities in the protocol, and)-.15 +F .085(correction of some problem areas [RFC1123], as well as e)87 120 R .084 +(xtensions for additional functionality \(dubbed)-.15 F 1.052 +(Extended Simple Mail T)87 132 R 1.053 +(ransport Protocol, or ESMTP\) [RFC1425, RFC1426, RFC1427] and a richer)-.35 F +1.376(set of semantics in the body of messages \(the Multipurpose Internet Mai\ +l Extensions, a.k.a. MIME\))87 144 R .497([RFC1521, RFC1344].)87 156 R .497 +(Neither the ID)5.497 F 2.998(Ag)-.4 G .498(roup nor most v)258.526 156 R .498 +(endors were modifying)-.15 F/F2 10/Times-Italic@0 SF(sendmail)2.998 E F1 .498 +(to conform)2.998 F 1.7(to these ne)87 168 R 4.2(ws)-.25 G 4.2(tandards. It) +148.23 168 R 1.699(seemed clear that these were `)4.2 F 1.699(`good things') +-.74 F 4.199('t)-.74 G 1.699(hat should be encouraged.)394.483 168 R(Ho)87 180 +Q(we)-.25 E -.15(ve)-.25 G 1.635 -.4(r, s).15 H .835(ince no one w).4 F .835 +(as w)-.1 F .835(orking on a publically a)-.1 F -.25(va)-.2 G .835(ilable v).25 +F .836(ersion of)-.15 F F2(sendmail)3.336 E F1 .836(with these updates,)3.336 F +(the)87 192 Q 2.5(yw)-.15 G(ere unlik)113.79 192 Q(ely to be widely deplo)-.1 E +(yed an)-.1 E 2.5(yt)-.15 G(ime in the near future.)274.25 192 Q .466 +(There are, of course, other mail transport agents a)112 208.2 R -.25(va)-.2 G +.465(ilable, such as).25 F F2 .465(MMDF zmailer smail)2.965 F F1(and)2.965 E F2 +(PP)2.965 E F1(Ho)87 220.2 Q(we)-.25 E -.15(ve)-.25 G .842 -.4(r, n).15 H .042 +(one of these seemed to be g).4 F .043(aining the prominence of)-.05 F F2 +(sendmail)2.543 E F1 2.543(;i)C 2.543(ta)390.518 220.2 S .043 +(ppeared that most compa-)400.281 220.2 R .238(nies w)87 232.2 R .238 +(ould not con)-.1 F -.15(ve)-.4 G .238(rt to another mail transport agent an) +.15 F 2.737(yt)-.15 G .237(ime in the forseeable future.)327.438 232.2 R(Ho) +5.237 E(we)-.25 E -.15(ve)-.25 G 1.037 -.4(r, t).15 H(he).4 E(y)-.15 E +(might be persuaded to con)87 244.2 Q -.15(ve)-.4 G(rt to a ne).15 E(wer v)-.25 +E(ersion of)-.15 E F2(sendmail)2.5 E F1(.)A .841(All of these con)112 260.4 R +.841(vinced the author to w)-.4 F .841(ork on a updated v)-.1 F .841(ersion of) +-.15 F F2(sendmail)3.342 E F1 .842(for public distrib)3.342 F(u-)-.2 E(tion.)87 +272.4 Q 1.024(The ne)112 288.6 R 3.524(wv)-.25 G 1.023(ersion of)155.858 288.6 +R F2(sendmail)3.523 E F1 1.023(is referred to as v)3.523 F 1.023 +(ersion eight \(V8\).)-.15 F -1.11(Ve)6.023 G 1.023(rsions six and se)1.11 F +-.15(ve)-.25 G 3.523(nw).15 G(ere)491.79 288.6 Q 1.281 +(skipped because of an agreement that all \214les in 4.4BSD w)87 300.6 R 1.281 +(ould be numbered as \2318.1\232.)-.1 F 1.282(Rather than)6.282 F(ha)87 312.6 Q +2.05 -.15(ve a)-.2 H 4.25(ne).15 G 1.75(xternal v)127.76 312.6 R 1.75 +(ersion number that dif)-.15 F 1.75(fered from the \214le v)-.25 F 1.75 +(ersion numbers,)-.15 F F2(sendmail)4.25 E F1 1.75(just jumped)4.25 F +(directly to V8.)87 324.6 Q F0 2.5(2. CHANGES)72 348.6 R(IN VERSION EIGHT)2.5 E +F1 .138(The follo)112 364.8 R .139 +(wing is a summary of the changes between the last commonly a)-.25 F -.25(va) +-.2 G .139(ilable v).25 F .139(ersion of send-)-.15 F(mail from Berk)87 376.8 Q +(ele)-.1 E 2.5(y\()-.15 G(5.67\) and the latest v)170.9 376.8 Q +(ersion \(8.6.6\).)-.15 E(Man)112 393 Q 2.5(yo)-.15 G 2.5(ft)142.68 393 S +(hese are ideas that had been tried in ID)151.29 393 Q(A, b)-.4 E(ut man)-.2 E +2.5(yo)-.15 G 2.5(ft)363.27 393 S(hem were generalized in V8.)371.88 393 Q F0 +2.5(2.1. P)87 417 R(erf)-.2 E(ormance Enhancements)-.25 E F1 .549 +(Instead of closing SMTP connections immediately)127 433.2 R 3.049(,o)-.65 G +.549(pen connections are cached for possible)342.135 433.2 R .029(future use.) +102 445.2 R .029(There is a limit to the number of simultaneous open connectio\ +ns and the idle time of an)5.029 F(y)-.15 E(indi)102 457.2 Q +(vidual connection.)-.25 E 1.219(This is of best help during queue processing \ +\(since there is the potential of man)127 473.4 R 3.719(yd)-.15 G(if)474.82 +473.4 Q(ferent)-.25 E 1.113(messages going to one site\), although it can also\ + help when processing MX records which aren')102 485.4 R(t)-.18 E +(handled by MX Piggybacking.)102 497.4 Q 1.258(If tw)127 513.6 R 3.757(oh)-.1 G +1.257(osts with dif)161.075 513.6 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 525.6 R 3.44(yc)-.15 G .94 +(an be sent in the same transaction.)153.45 525.6 R -1.11(Ve)5.94 G .94 +(rsion 8 notices this and tries to batch the mes-)1.11 F(sages.)102 537.6 Q +-.15(Fo)127 553.8 S 3.638(re).15 G 1.138(xample, if tw)148.668 553.8 R 3.637 +(os)-.1 G 1.137(ites `)216.42 553.8 R(`foo.com')-.74 E 3.637('a)-.74 G 1.137 +(nd `)286.914 553.8 R(`bar)-.74 E(.com')-.55 E 3.637('a)-.74 G 1.137 +(re both serv)352.408 553.8 R 1.137(ed by UUNET)-.15 F 3.637(,t)-.74 G(he) +470.513 553.8 Q 3.637(yw)-.15 G(ill)495.66 553.8 Q(ha)102 565.8 Q .557 -.15 +(ve t)-.2 H .257(he same set of MX hosts and will be sent in one transaction.) +.15 F .258(UUNET will then split the mes-)5.258 F(sage and send it to the tw) +102 577.8 Q 2.5(oi)-.1 G(ndi)213.28 577.8 Q(vidual hosts.)-.25 E F0 2.5 +(2.2. RFC)87 601.8 R(1123 Changes)2.5 E F1 2.607(An)127 618 S .107 +(umber of changes ha)141.827 618 R .407 -.15(ve b)-.2 H .106(een made to mak) +.15 F 2.606(es)-.1 G .106(endmail `)321.07 618 R .106 +(`conditionally compliant')-.74 F 2.606('\()-.74 G .106(that is, it)469.058 618 +R(satis\214es all of the MUST clauses and most b)102 630 Q +(ut not all of the SHOULD clauses in RFC 1123\).)-.2 E +(The major areas of change are \(numbers are RFC 1123 section numbers\):)127 +646.2 Q 26.5(\2475.2.7 Response)102 662.4 R .565(to RCPT command is f)3.065 F +3.065(ast. Pre)-.1 F(viously)-.25 E 3.065(,s)-.65 G .565(endmail e)362.295 +662.4 R .565(xpanded all aliases as f)-.15 F(ar)-.1 E .686 +(as it could \212 this could tak)156 674.4 R 3.186(eav)-.1 G .685 +(ery long time, particularly if there were name serv)290.118 674.4 R(er)-.15 E +3.891(delays. V)156 686.4 R 1.391(ersion 8 only checks for the e)-1.11 F 1.392 +(xistence of an alias and does the e)-.15 F(xpansion)-.15 E(later)156 698.4 Q +5.176(.I)-.55 G 2.676(td)184.226 698.4 S .176 +(oes still do a DNS lookup if there is an e)194.682 698.4 R .175 +(xplicit host name in the RCPT com-)-.15 F(mand, b)156 710.4 Q +(ut this time is bounded.)-.2 E EP +%%Page: 3 3 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(3)499 60 Q +/F1 10/Times-Roman@0 SF 26.5(\2475.2.8 Numeric)102 96 R .612 +(IP addresses are logged in Recei)3.112 F -.15(ve)-.25 G .613(d: lines.).15 F +.613(This helps tracing spoofed mes-)5.613 F(sages.)156 108 Q 21.5 +(\2475.2.17 Self)102 124.2 R .127(domain literal is properly handled.)2.627 F +(Pre)5.126 E(viously)-.25 E 2.626(,i)-.65 G 2.626(fs)368.196 124.2 S .126 +(omeone sent to user@[1.2.3.4],)378.042 124.2 R .12 +(where 1.2.3.4 is your IP address, the mail w)156 136.2 R .12 +(ould probably be rejected with a `)-.1 F(`con\214gu-)-.74 E(ration error')156 +148.2 Q 2.5('. V)-.74 F(ersion 8 can handle these addresses.)-1.11 E 26.5 +(\2475.3.2 Better)102 164.4 R 1.189(control o)3.69 F -.15(ve)-.15 G 3.689(ri) +.15 G(ndi)240.088 164.4 Q 1.189(vidual timeouts.)-.25 F 1.189 +(RFC 821 speci\214ed no timeouts.)6.189 F 1.189(Older v)6.189 F(er)-.15 E(-)-.2 +E .002(sions of sendmail had a single timeout, typically set to tw)156 176.4 R +2.502(oh)-.1 G 2.502(ours. V)398.142 176.4 R .002(ersion 8 allo)-1.11 F .002 +(ws the)-.25 F(con\214guration \214le to set timeouts for v)156 188.4 Q +(arious SMTP commands indi)-.25 E(vidually)-.25 E(.)-.65 E 26.5 +(\2475.3.3 Error)102 204.6 R 1.06(messages are sent as From:<>.)3.56 F 1.059 +(This w)6.059 F 1.059(as ur)-.1 F 1.059(ged by RFC 821 and reiterated by)-.18 F +.237(RFC 1123, b)156 216.6 R .237(ut older v)-.2 F .237(ersions of sendmail ne) +-.15 F -.15(ve)-.25 G 2.737(rr).15 G .237(eally did it properly)355.186 216.6 R +5.237(.V)-.65 G .238(ersion 8 does.)448.254 216.6 R(Ho)156 228.6 Q(we)-.25 E +-.15(ve)-.25 G 1.934 -.4(r, s).15 H 1.134 +(ome systems cannot handle this perfectly le).4 F -.05(ga)-.15 G 3.633(la).05 G +1.133(ddress; if necessary)402.941 228.6 R 3.633(,y)-.65 G(ou)494 228.6 Q +(can create a special mailer that uses the `g' \215ag to disable this.)156 +240.6 Q 26.5(\2475.3.3 Error)102 256.8 R 3.212(messages are ne)5.712 F -.15(ve) +-.25 G 5.712(rs).15 G 3.212(ent to <>.)275.628 256.8 R(Pre)8.213 E(viously)-.25 +E 5.713(,s)-.65 G 3.213(endmail w)383.028 256.8 R 3.213(as happ)-.1 F 5.713(yt) +-.1 G 5.713(os)474.957 256.8 S(end)489.56 256.8 Q 6 +(responses-to-responses which sometimes resulted in responses-to-responses-to-) +156 268.8 R(responses which resulted in ....)156 280.8 Q(you get the idea.)5 E +26.5(\2475.3.3 Route-addrs)102 297 R .111(\(the ugly `)2.611 F +(`<@hosta,@hostb:user@hostc>')-.74 E 2.611('s)-.74 G .111(yntax\) are pruned.) +389.124 297 R .112(RFC 821)5.112 F(ur)156 309 Q 1.001 +(ged the use of this bletcherous syntax.)-.18 F 1 +(RFC 1123 has seen the light and of)6.001 F(\214cially)-.25 E 1.124 +(deprecates them, further ur)156 321 R 1.125(ging that you eliminate all b)-.18 +F 1.125(ut `)-.2 F(`user@hostc')-.74 E 3.625('s)-.74 G 1.125(hould you)462.595 +321 R(recei)156 333 Q 1.698 -.15(ve o)-.25 H 1.398(ne of these things.).15 F +-1.11(Ve)6.398 G 1.398(rsion 8 is slightly more generous than the standards) +1.11 F .753(suggest; instead of stripping of)156 345 R 3.253(fa)-.25 G .753 +(ll the route addressees, it only strips hosts of)293.115 345 R 3.254(fu)-.25 G +3.254(pt)487.966 345 S(o)499 345 Q 1.29(the one before the last one kno)156 357 +R 1.289(wn to DNS, thus allo)-.25 F 1.289(wing you to ha)-.25 F 1.589 -.15 +(ve p)-.2 H(seudo-hosts).15 E(such as foo.BITNET)156 369 Q 5(.T)-.74 G +(he `R' option will turn this of)251.91 369 Q(f.)-.25 E +(The areas in which sendmail is not `)102 385.2 Q(`unconditionally compliant') +-.74 E 2.5('a)-.74 G(re:)367.43 385.2 Q 26.5(\2475.2.6 Sendmail)102 401.4 R +(does do header munging.)2.5 E 21.5(\2475.2.10 Sendmail)102 417.6 R(doesn')3.2 +E 3.2(ta)-.18 G -.1(lwa)233.88 417.6 S .7(ys use the e).1 F .701 +(xact SMTP message te)-.15 F .701(xt from RFC 821.)-.15 F .701(This is a)5.701 +F(rather silly requirement.)156 429.6 Q 19(\2475.3.1.1 Sendmail)102 445.8 R +(doesn')3.512 E 3.512(tg)-.18 G 1.012 +(uarantee only one connect for each host on queue runs.)235.064 445.8 R +(Connec-)6.011 E(tion caching gi)156 457.8 Q -.15(ve)-.25 G 2.5(sy).15 G +(ou most of this, b)235.87 457.8 Q(ut it does not pro)-.2 E(vide a guarantee.) +-.15 E 19(\2475.3.1.1 Sendmail)102 474 R(doesn')2.843 E 2.843(ta)-.18 G -.1 +(lwa)233.166 474 S .343(ys pro).1 F .343(vide an adequate limit on concurrenc) +-.15 F 4.144 -.65(y. T)-.15 H .344(hat is, there can).65 F .757(be se)156 486 R +-.15(ve)-.25 G .757(ral independent sendmails running at once.).15 F .757 +(My feeling is that doing an abso-)5.757 F 1.047(lute limit w)156 498 R 1.047 +(ould be a mistak)-.1 F 3.547(e\()-.1 G 1.048(it might result in lost mail\).) +284.302 498 R(Ho)6.048 E(we)-.25 E -.15(ve)-.25 G 1.848 -.4(r, i).15 H 3.548 +(fy).4 G 1.048(ou use the)461.354 498 R .801(XLA contrib)156 510 R .801 +(uted softw)-.2 F .801(are, most of this will be guaranteed \(b)-.1 F .801 +(ut I don')-.2 F 3.3(tg)-.18 G .8(uarantee the)454.61 510 R(guarantee\).)156 +522 Q F0 2.5(2.3. Extended)87 546 R(SMTP Support)2.5 E F1 -1.11(Ve)127 562.2 S +.154(rsion 8 includes both sending and recei)1.11 F .155 +(ving support for Extended SMTP support as de\214ned)-.25 F .229(by RFC 1425 \ +\(basic\) and RFC 1427 \(SIZE\); and limited support for RFC 1426 \(BOD)102 +574.2 R 2.729(Y\). The)-.55 F(body)2.729 E .275(support is minimal because the\ + \2318BITMIME\232 body type is not currently adv)102 586.2 R 2.776 +(ertised. Although)-.15 F(such)2.776 E 3.076(ab)102 598.2 S .576 +(ody type will be accepted, it will not be correctly con)114.516 598.2 R -.15 +(ve)-.4 G .576(rted to 7 bits if speaking to a non-8-bit-).15 F(MIME a)102 +610.2 Q -.1(wa)-.15 G(re SMTP serv).1 E(er)-.15 E(.)-.55 E/F2 10/Times-Italic@0 +SF(Sendmail)127 626.4 Q F1 .287(tries to speak ESMTP if you ha)2.787 F .588 +-.15(ve t)-.2 H .288(he `a' \215ag set in the \215ags for the mailer descrip-) +.15 F(tor)102 638.4 Q 3.322(,o)-.4 G 3.322(ri)123.532 638.4 S 3.322(ft)132.964 +638.4 S .822(he other end adv)142.396 638.4 R .822(ertises the f)-.15 F .822 +(act that it speaks ESMTP)-.1 F 5.822(.T)-1.11 G .821 +(his is a non-standard adv)376.446 638.4 R(ertise-)-.15 E(ment:)102 650.4 Q F2 +(sendmail)2.98 E F1 .48(announces \231ESMTP spok)2.98 F .48 +(en here\232 during the initial connection message, and client)-.1 F .587 +(sendmails search for this message.)102 662.4 R .586 +(This creates some problems for some PC-based mailers, which)5.586 F +(do not understand tw)102 674.4 Q +(o-line greeting messages as required by RFC 821.)-.1 E EP +%%Page: 4 4 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 294.65(4C)72 60 S(hanges in Sendmail V)378.87 60 Q +(ersion 8)-1 E 2.5(2.4. Eight-Bit)87 96 R(Clean)2.5 E/F1 10/Times-Roman@0 SF +(Pre)127 112.2 Q 1.263(vious v)-.25 F 1.263 +(ersions of sendmail used the 0200 bit for quoting.)-.15 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 124.2 Q(we) +-.25 E -.15(ve)-.25 G 1.119 -.4(r, y).15 H .318 +(ou can set option `7' to get se).4 F -.15(ve)-.25 G 2.818(nb).15 G .318 +(it stripping for compatibility with RFC 821, which is)290.046 124.2 R 2.5(a7) +102 136.2 S(-bit protocol.)113.94 136.2 Q(This option says `)5 E +(`strip to 7 bits on input')-.74 E('.)-.74 E(Indi)127 152.4 Q .375 +(vidual mailers can still produce se)-.25 F -.15(ve)-.25 G 2.875(nb).15 G .376 +(it out put using the `7' mailer \215ag.)303.02 152.4 R .376(This \215ag says) +5.376 F -.74(``)102 164.4 S(strip to 7 bits on output').74 E('.)-.74 E F0 2.5 +(2.5. User)87 188.4 R(Database)2.5 E F1 1.926 +(The User Database \(UDB\) is an as-yet e)127 204.6 R 1.926 +(xperimental attempt to pro)-.15 F 1.925(vide uni\214ed lar)-.15 F(ge-site)-.18 +E .396(name support.)102 216.6 R 1.996 -.8(We a)5.396 H .396 +(re installing it at Berk).8 F(ele)-.1 E .396(y; future v)-.15 F .396 +(ersions may sho)-.15 F 2.897(ws)-.25 G .397(igni\214cant modi\214cations.) +406.373 216.6 R(Brie\215y)102 228.6 Q 3.583(,U)-.65 G 1.083 +(DB contains a database that is intended to contain all the per)142.433 228.6 R +1.082(-user information for your)-.2 F -.1(wo)102 240.6 S .172 +(rkgroup, such as people').1 F 2.673(sf)-.55 G .173 +(ull names, their .plan information, their outgoing mail name, and their)222.29 +240.6 R(mail drop.)102 252.6 Q .438(The user database allo)127 268.8 R .438 +(ws you to map both incoming and outgoing addresses, much lik)-.25 F 2.937(eI) +-.1 G -.4(DA)487.46 268.8 S(.).4 E(Ho)102 280.8 Q(we)-.25 E -.15(ve)-.25 G +1.799 -.4(r, t).15 H .999(he interf).4 F .999(ace is still better with ID)-.1 F +.999(A; in particular)-.4 F 3.499(,t)-.4 G 1 +(he alias \214le with incoming/outgoing)355.55 280.8 R(marks pro)102 292.8 Q +(vides better locality of information.)-.15 E F0 2.5(2.6. Impr)87 316.8 R -.1 +(ove)-.18 G 2.5(dB).1 G(IND Support)158.01 316.8 Q F1 .262 +(The BIND support, particularly for MX records, had a number of anno)127 333 R +.261(ying `)-.1 F(`features')-.74 E 2.761('w)-.74 G(hich)486.78 333 Q(ha)102 +345 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 345 S .912(his release.)198.308 345 R .912(In particular)5.912 +F 3.412(,t)-.4 G .912(hese more tightly bind \(pun intended\) the name)307.916 +345 R(serv)102 357 Q(er to sendmail, so that the name serv)-.15 E +(er resolution rules are incorporated directly into sendmail.)-.15 E .688 +(The major change has been that the $[ ... $] operator didn')127 373.2 R 3.188 +(tf)-.18 G .688(ully qualify names that were in)376.41 373.2 R +(DNS as A or MX records.)102 385.2 Q -1.11(Ve)5 G +(rsion 8 does this quali\214cation.)1.11 E .429(This has pro)127 401.4 R -.15 +(ve)-.15 G 2.929(nt).15 G 2.929(ob)197.147 401.4 S 2.929(ea)210.076 401.4 S +2.929(na)221.885 401.4 S(nno)234.254 401.4 Q .43 +(yance in Sun shops, who often still run without BIND support.)-.1 F(Ho)102 +413.4 Q(we)-.25 E -.15(ve)-.25 G 1.001 -.4(r, i).15 H 2.701(ti).4 G 2.701(sr) +153.842 413.4 S .201 +(eally critical that this be supported, since MX records are mandatory)163.763 +413.4 R 5.2(.I)-.65 G 2.7(nS)450.26 413.4 S .2(unOS you)463.52 413.4 R .101 +(can choose either MX support or NIS support, b)102 425.4 R .101(ut not both.) +-.2 F .101(This is \214x)5.101 F .101(ed in Solaris, and some)-.15 F/F2 10 +/Times-Italic@0 SF(send-)2.602 E(mail)102 437.4 Q F1(support to allo)2.5 E 2.5 +(wt)-.25 G(his in SunOS should be forthcoming in a future release.)192.31 437.4 +Q F0 2.5(2.7. K)87 461.4 R(ey)-.25 E(ed Files)-.1 E F1 .242(Generalized k)127 +477.6 R -.15(ey)-.1 G .242(ed \214les is an idea tak).15 F .241 +(en directly from ID)-.1 F 2.741(As)-.4 G .241 +(endmail \(albeit with a completely)368.606 477.6 R(dif)102 489.6 Q +(ferent implementation\).)-.25 E(The)5 E 2.5(yc)-.15 G(an be useful on lar) +239.63 489.6 Q(ge sites.)-.18 E -1.11(Ve)127 505.8 S +(rsion 8 includes the follo)1.11 E(wing b)-.25 E(uilt-in map classes:)-.2 E +33.72(dbm Support)102 522 R(for the ndbm\(3\) library)2.5 E(.)-.65 E 33.17 +(hash Support)102 538.2 R 1.229(for the `)3.729 F(`Hash')-.74 E 3.729('t)-.74 G +1.229(ype from the ne)261.636 538.2 R 3.729(wB)-.25 G(erk)345.732 538.2 Q(ele) +-.1 E 3.729(yd)-.15 G 1.229(b\(3\) library)383.641 538.2 R 6.23(.t)-.65 G 1.23 +(his library pro-)441.55 538.2 R 4.094(vides substantially better database sup\ +port than ndbm\(3\), including in-memory)156 550.2 R +(caching, arbitrarily long k)156 562.2 Q -.15(ey)-.1 G 2.5(sa).15 G(nd v)279.89 +562.2 Q(alues, and better disk utilization.)-.25 E 31.51(btree Support)102 +578.4 R .547(for the `)3.047 F(`B-T)-.74 E(ree')-.35 E 3.047('t)-.74 G .547 +(ype from the ne)266.328 578.4 R 3.048(wB)-.25 G(erk)347.698 578.4 Q(ele)-.1 E +3.048(yd)-.15 G .548(b\(3\) library)384.926 578.4 R 5.548(.B)-.65 G(-T)445.362 +578.4 Q .548(rees pro)-.35 F(vide)-.15 E .521(better clustering than Hashed \ +\214les if you are fetching lots of records that ha)156 590.4 R .821 -.15(ve s) +-.2 H(imilar).15 E -.1(ke)156 602.4 S(ys, such as searching a dictionary for w) +-.05 E(ords be)-.1 E(ginning with `)-.15 E(`detr')-.74 E('.)-.74 E 39.83 +(nis Support)102 618.6 R(for NIS \(a.k.a. YP\) maps.)2.5 E +(NIS+ is not supported in this v)5 E(ersion.)-.15 E 34.83(host Support)102 +634.8 R(for DNS lookups.)2.5 E 19.84(dequote A)102 651 R -.74(``)2.642 G +(pseudo-map').74 E 2.642('\()-.74 G .142(that is, once that does not ha)232.554 +651 R .442 -.15(ve a)-.2 H .442 -.15(ny ex).15 H .142(ternal data\) that allo) +.15 F .142(ws a con-)-.25 F .099 +(\214guration \214le to break apart a quoted string in the address.)156 663 R +.098(This is necessary primarily)5.098 F .726 +(for DECnet addresses, which often ha)156 675 R 1.026 -.15(ve q)-.2 H .726 +(uoted addresses that need to be unwrapped).15 F(on g)156 687 Q(ate)-.05 E -.1 +(wa)-.25 G(ys.).1 E EP +%%Page: 5 5 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(5)499 60 Q +2.5(2.8. Multi-W)87 96 R(ord Classes & Macr)-.75 E(os in Classes)-.18 E/F1 10 +/Times-Roman@0 SF(Classes can no)127 112.2 Q 2.5(wb)-.25 G 2.5(em)200.35 112.2 +S(ultiple w)215.07 112.2 Q 2.5(ords. F)-.1 F(or e)-.15 E(xample,)-.15 E +(CShofmann.CS.Berk)142 128.4 Q(ele)-.1 E -.65(y.)-.15 G(EDU).65 E(allo)102 +144.6 Q 2.395(ws you to match the entire string `)-.25 F(`hofmann.CS.Berk)-.74 +E(ele)-.1 E -.65(y.)-.15 G(EDU').65 E 4.894('u)-.74 G 2.394 +(sing the single construct)399.878 144.6 R -.74(``)102 156.6 S($=S').74 E('.) +-.74 E(Class de\214nitions are no)127 172.8 Q 2.5(wa)-.25 G(llo)234.52 172.8 Q +(wed to include macros \212 for e)-.25 E(xample:)-.15 E(Cw$k)142 189 Q(is le) +102 205.2 Q -.05(ga)-.15 G(l.).05 E F0 2.5(2.9. IDENT)87 229.2 R(Pr)2.5 E +(otocol Support)-.18 E F1 .633 +(The IDENT protocol as de\214ned in RFC 1413 [RFC1413] is supported.)127 245.4 +R(Ho)5.633 E(we)-.25 E -.15(ve)-.25 G 1.433 -.4(r, m).15 H(an).4 E 3.134(ys) +-.15 G(ys-)491.78 245.4 Q .909(tems ha)102 257.4 R 1.209 -.15(ve a T)-.2 H .909 +(CP/IP b).15 F .908 +(ug that renders this useless, and the feature must be turned of)-.2 F 3.408 +(f. Roughly)-.25 F 3.408(,i)-.65 G(f)500.67 257.4 Q 8.538 +(one of these system recei)102 269.4 R -.15(ve)-.25 G 11.038(sa\231).15 G 8.539 +(No route to host\232 message \(ICMP message)280.568 269.4 R(ICMP_UNREA)102 +281.4 Q .829(CH_HOST\) on)-.4 F/F2 10/Times-Italic@0 SF(any)3.329 E F1 .828 +(connection, all connections to that host are closed.)3.329 F .828 +(Some \214re-)5.828 F -.1(wa)102 293.4 S .087 +(lls return this error if you try to connect to the IDENT port, so you can').1 +F 2.587(tr)-.18 G(ecei)408.889 293.4 Q .387 -.15(ve e)-.25 H .087 +(mail from these).15 F 1.712(hosts on these systems.)102 305.4 R(It')6.712 E +4.212(sp)-.55 G 1.712(ossible that if the \214re)228.62 305.4 R -.1(wa)-.25 G +1.712(ll used a more speci\214c message \(such as).1 F(ICMP_UNREA)102 317.4 Q +(CH_PR)-.4 E -1.88 -.4(OT O)-.4 H 72.325(COL, ICMP_UNREA).4 F(CH_POR)-.4 E +74.825(To)-.6 G(r)500.67 317.4 Q(ICMP_UNREA)102 329.4 Q(CH_NET_PR)-.4 E +(OHIB\) it w)-.4 E(ould w)-.1 E(ork, b)-.1 E(ut this hasn')-.2 E 2.5(tb)-.18 G +(een v)375.62 329.4 Q(eri\214ed.)-.15 E .678(IDENT protocol support cannot be \ +used on 4.3BSD, Apollo DomainOS, Apple A/UX, Con-)127 345.6 R -.15(vex)102 +357.6 S .949(OS, Data General DG/UX, HP-UX, Sequent Dynix, or Ultrix 4.x, x).15 +F/F3 10/Symbol SF<a3>3.449 E F1 3.449(3. It)3.449 F .949(seems to w)3.449 F +.949(ork on)-.1 F +(4.4BSD, IBM AIX 3.x, OSF/1, SGI IRIX, Solaris, SunOS, and Ultrix 4.4.)102 +369.6 Q F0 2.5(2.10. Separate)87 393.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 409.8 R -.15(ve) +-.4 G .854(lope sender).15 F 3.354(,t)-.4 G .854(hese ha)420.978 409.8 R 1.154 +-.15(ve b)-.2 H .854(oth been).15 F .427 +(made visible; the $g macro is set to the en)102 421.8 R -.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 433.8 Q .085 +(It is also possible to specify separate per)127 450 R .085(-mailer en)-.2 F +-.15(ve)-.4 G .084(lope and header processing.).15 F .084(The Sender)5.084 F(-) +-.2 E -.55(RW)102 462 S 1.085(Set and RecipientR).55 F 1.085(Wset ar)-.55 F +1.085(guments for mailers can be speci\214ed as `)-.18 F(`en)-.74 E -.15(ve)-.4 +G(lope/header').15 E 3.585('t)-.74 G 3.585(og)478.595 462 S -2.15 -.25(iv e) +492.18 462 T(dif)102 474 Q(ferent re)-.25 E(writings for en)-.25 E -.15(ve)-.4 +G(lope v).15 E(ersus header addresses.)-.15 E F0 2.5(2.11. Owner)87 498 R +(-List Pr)-.37 E(opagates to En)-.18 E -.1(ve)-.4 G(lope).1 E F1 1.168 +(When an alias has an associated o)127 514.2 R(wner)-.25 E 1.168 +(-list name, that alias is used to change the en)-.2 F -.15(ve)-.4 G(lope).15 E +(sender address.)102 526.2 Q(This will cause do)5 E +(wnstream errors to be returned to that o)-.25 E(wner)-.25 E(.)-.55 E 1.813 +(Some people \214nd this confusing because the en)127 542.4 R -.15(ve)-.4 G +1.813(lope sender is what appears in the \214rst).15 F -.74(``)102 554.4 S +(From_').74 E 3.127('l)-.74 G .627(ine in UNIX messages \(that is, the line be) +146.417 554.4 R .627(ginning `)-.15 F(`From<space>')-.74 E 3.127('i)-.74 G .627 +(nstead of `)424.797 554.4 R(`From:')-.74 E(';)-.74 E .502 +(the latter is the header from, which)102 566.4 R F2(does)3.002 E F1 .503 +(indicate the sender of the message\).)3.002 F .503(In pre)5.503 F .503 +(vious v)-.25 F(ersions,)-.15 E F2(sendmail)102 578.4 Q F1 .057(has tried to a) +2.557 F -.2(vo)-.2 G .057(id changing the en).2 F -.15(ve)-.4 G .056 +(lope sender for back compatibility with UNIX con).15 F -.15(ve)-.4 G(n-).15 E +.177(tion; at this point that back compatibility is creating too man)102 590.4 +R 2.678(yp)-.15 G .178(roblems, and it is necessary to mo)357.972 590.4 R -.15 +(ve)-.15 G(forw)102 602.4 Q(ard into the 1980s.)-.1 E F0 2.5(2.12. Command)87 +626.4 R(Line Flags)2.5 E F1(The)127 642.6 Q F0<ad42>2.5 E F1 +(\215ag has been added to pass in body type information.)2.5 E(The)127 658.8 Q +F0<ad70>3.057 E F1 .557 +(\215ag has been added to pass in protocol information that w)3.057 F .557 +(as pre)-.1 F .556(viously passed in by)-.25 F(de\214ning the)102 670.8 Q F0 +($r)2.5 E F1(and)2.5 E F0($s)2.5 E F1(macros.)2.5 E(The)127 687 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 sendmail for deb)279.89 687 R(ug-)-.2 E +2.732(ging. Y)102 699 R .232(ou can set \231\255X \214lename\232 and a complet\ +e transcript will be logged in that \214le.)-1.1 F .231(This gets big)5.231 F +-.1(fa)102 711 S(st: the option is only for deb).1 E(ugging.)-.2 E EP +%%Page: 6 6 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 294.65(6C)72 60 S(hanges in Sendmail V)378.87 60 Q +(ersion 8)-1 E/F1 10/Times-Roman@0 SF(The)127 96 Q F0<ad71>4.006 E F1 1.507(\ +\215ag can limit limit a queue run to speci\214c recipients, senders, or queue\ + ids using)4.006 F +(\255qRsubstring, \255qSsubstring, or \255qIsubstring respecti)102 108 Q -.15 +(ve)-.25 G(ly).15 E(.)-.65 E F0 2.5(2.13. New)87 132 R(Con\214guration Line T) +2.5 E(ypes)-.74 E F1 .674(The `T' \(T)127 148.2 R .674 +(rusted users\) con\214guration line has been deleted.)-.35 F .674 +(It will still be accepted b)5.674 F .674(ut will)-.2 F(be ignored.)102 160.2 Q +(The `K' line has been added to declare database maps.)127 176.4 Q +(The `V' line has been added to declare the con\214guration v)127 192.6 Q +(ersion le)-.15 E -.15(ve)-.25 G(l.).15 E(The `M' \(mailer\) line tak)127 208.8 +Q(es a D= \214eld to specify e)-.1 E -.15(xe)-.15 G(cution directory).15 E(.) +-.65 E F0 2.5(2.14. New)87 232.8 R(and Extended Options)2.5 E F1(Se)127 249 Q +-.15(ve)-.25 G .9(ral ne).15 F 3.4(wo)-.25 G .9(ptions ha)184.8 249 R 1.2 -.15 +(ve b)-.2 H .9(een added, man).15 F 3.4(yt)-.15 G 3.4(os)314.89 249 S .9 +(upport ne)327.18 249 R 3.4(wf)-.25 G .9(eatures, others to allo)379.83 249 R +3.4(wt)-.25 G(uning)481.22 249 Q(that w)102 261 Q(as pre)-.1 E(viously a)-.25 E +-.25(va)-.2 G(ilable only by recompiling.).25 E(Brie\215y:)5 E 28.78(AT)102 +277.2 S .099(he alias \214le speci\214cation can no)144.11 277.2 R 2.599(wb) +-.25 G 2.599(eal)286.654 277.2 S .099(ist of alias \214les.)303.512 277.2 R +.098(Also, the con\214guration can spec-)5.099 F(ify a class of \214le.)138 +289.2 Q -.15(Fo)5 G 2.5(re).15 G(xample, to search the NIS aliases, use \231O) +232.13 289.2 Q(Anis:mail.aliases\232.)-.35 E 31(bI)102 305.4 S +(nsist on a minimum number of disk blocks.)141.33 305.4 Q 29.33(CD)102 321.6 S +(eli)145.22 321.6 Q -.15(ve)-.25 G .24(ry checkpoint interv).15 F 2.74 +(al. Checkpoint)-.25 F .24(the queue \(to a)2.74 F -.2(vo)-.2 G .24 +(id duplicate deli).2 F -.15(ve)-.25 G .24(ries\) e).15 F -.15(ve)-.25 G .24 +(ry C).15 F(addresses.)138 333.6 Q 29.89(ED)102 349.8 S(ef)145.22 349.8 Q .712 +(ault error message.)-.1 F .711 +(This message \(or the contents of the indicated \214le\) are prepended)5.712 F +(to error messages.)138 361.8 Q 28.78(GE)102 378 S .785(nable GECOS matching.) +144.11 378 R .785(If you can')5.785 F 3.285<748c>-.18 G .786 +(nd a local user name and this option is enabled,)307.51 378 R .59 +(do a sequential scan of the passwd \214le to match ag)138 390 R .589 +(ainst full names.)-.05 F(Pre)5.589 E .589(viously a compile)-.25 F(option.)138 +402 Q 31(hM)102 418.2 S(aximum hop count.)146.89 418.2 Q(Pre)5 E +(viously this w)-.25 E(as compiled in.)-.1 E 32.67(IT)102 434.4 S +(his option has been e)144.11 434.4 Q(xtended to allo)-.15 E 2.5(ws)-.25 G +(etting of resolv)300.64 434.4 Q(er parameters.)-.15 E 33.22(jS)102 450.6 S +(end errors in MIME-encapsulated format.)143.56 450.6 Q 32.11(JF)102 466.8 S +(orw)143.41 466.8 Q(ard \214le path.)-.1 E(Where to search for .forw)5 E +(ard \214les \212 def)-.1 E(aults to $HOME/.forw)-.1 E(ard.)-.1 E 31(kC)102 483 +S .05(onnection cache size.)144.67 483 R .05 +(The total number of connections that will be k)5.05 F .05(ept open at an)-.1 F +2.55(yt)-.15 G(ime.)486.5 483 Q 28.78(KC)102 499.2 S 1.395 +(onnection cache lifetime.)144.67 499.2 R 1.395(The amount of time an)6.395 F +3.895(yc)-.15 G 1.394(onnection will be permitted to sit)364.53 499.2 R(idle.) +138 511.2 Q 33.22(lE)102 527.4 S .333(nable Errors-T)144.11 527.4 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 527.4 R +(vide back compatibility with old v)138 539.4 Q(ersions of sendmail.)-.15 E +28.78(OI)102 555.6 S(ncoming daemon options \(e.g., use alternate SMTP port\).) +141.33 555.6 Q 31(pP)102 571.8 S(ri)143.56 571.8 Q -.25(va)-.25 G .3 -.15(cy o) +.25 H 2.5(ptions. These).15 F(can be used to mak)2.5 E 2.5(ey)-.1 G +(our SMTP serv)322.22 571.8 Q(er less friendly)-.15 E(.)-.65 E 32.67(rT)102 588 +S .67(his option has been e)144.11 588 R .67(xtended to allo)-.15 F 3.17<778c> +-.25 G .67(ner grained control o)307 588 R -.15(ve)-.15 G 3.17(rt).15 G 3.17 +(imeouts. F)411.02 588 R .67(or e)-.15 F(xample,)-.15 E +(you can set the timeout for SMTP commands indi)138 600 Q(vidually)-.25 E(.) +-.65 E 29.33(RD)102 616.2 S(on')145.22 616.2 Q 11.797(tp)-.18 G 9.297 +(rune route-addrs.)177.947 616.2 R(Normally)269.851 616.2 Q 11.797(,i)-.65 G +11.797(fv)324.608 616.2 S 9.297(ersion 8 sees an address lik)344.585 616.2 R(e) +-.1 E 1.256("<@hostA,@hostB:user@hostC>, sendmail will try to strip of)138 +628.2 R 3.755(fa)-.25 G 3.755(sm)406.48 628.2 S 1.255(uch as it can \(up to) +421.905 628.2 R(user@hostC\) as suggested by RFC 1123.)138 640.2 Q +(This option disables that beha)5 E(viour)-.2 E(.)-.55 E 29.89(TT)102 656.4 S +1.485(he \231Return T)144.11 656.4 R 3.985(oS)-.8 G 1.485 +(ender\232 timeout has been e)213.035 656.4 R 1.485(xtended to allo)-.15 F +3.986(ws)-.25 G 1.486(peci\214cation of a w)399.942 656.4 R(arning)-.1 E .789 +(message interv)138 668.4 R .789 +(al, typically something on the order of four hours.)-.25 F .788 +(If a message cannot be)5.788 F(deli)138 680.4 Q -.15(ve)-.25 G 1.245 +(red in that interv).15 F 1.245(al, a w)-.25 F 1.245 +(arning message is sent back to the sender b)-.1 F 1.246(ut the message)-.2 F +(continues to be tried.)138 692.4 Q 28.78(UU)102 708.6 S(ser database spec.) +145.22 708.6 Q(This is still e)5 E(xperimental.)-.15 E EP +%%Page: 7 7 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(7)499 60 Q +/F1 10/Times-Roman@0 SF 28.78(VF)102 96 S .758(allback `)143.41 96 R(`MX')-.74 +E 3.258('h)-.74 G 3.258(ost. This)211.756 96 R .757 +(can be thought of as an MX host that applies to all addresses)3.258 F +(that has a v)138 108 Q(ery high preference v)-.15 E +(alue \(that is, use it only if e)-.25 E -.15(ve)-.25 G(rything else f).15 E +(ails\).)-.1 E 28.78(wI)102 124.2 S 3.066(fs)141.33 124.2 S .566(et, assume th\ +at if you are the best MX host for a host, you should send directly to that) +151.616 124.2 R 3.213(host. This)138 136.2 R .713 +(is intended for compatibility with UIUC sendmail, and may ha)3.213 F 1.013 +-.15(ve s)-.2 H .712(ome use on).15 F(\214re)138 148.2 Q -.1(wa)-.25 G(lls.).1 +E 31(7D)102 164.4 S 2.758(on)145.22 164.4 S .258(ot run eight bit clean.) +157.978 164.4 R -.7(Te)5.258 G(chnically).7 E 2.758(,y)-.65 G .258(ou ha) +305.656 164.4 R .558 -.15(ve t)-.2 H 2.758(oa).15 G .259 +(ssert this option to be RFC 821 com-)354.68 164.4 R(patible.)138 176.4 Q F0 +2.5(2.15. New)87 200.4 R(Mailer De\214nitions)2.5 E F1 21.75(L= Set)102 216.6 R +.93(the allo)3.43 F -.1(wa)-.25 G .93(ble line length.).1 F .93 +(In V5, the L mailer \215ag implied a line length limit of 990)5.93 F +(characters; this is no)138 228.6 Q 2.5(ws)-.25 G(ettable to an arbitrary v) +233.29 228.6 Q(alue.)-.25 E 17.86(F=a T)102 244.8 R(ry to use ESMTP)-.35 E 5 +(.I)-1.11 G 2.5(tw)222.65 244.8 S(ill f)235.15 244.8 Q +(all back to SMTP if the initial EHLO pack)-.1 E(et is rejected.)-.1 E 17.3 +(F=b Ensure)102 261 R 2.5(ab)2.5 G(lank line at the end of messages.)180.21 261 +Q(Useful on the *\214le* mailer)5 E(.)-.55 E 17.86(F=c Strip)102 277.2 R .68(a\ +ll comments from addresses; this should only be used as a last resort when dea\ +ling)3.18 F(with crank)138 289.2 Q 2.5(ym)-.15 G(ailers.)195.62 289.2 Q 17.3 +(F=g Ne)102 305.4 R -.15(ve)-.25 G 2.88(ru).15 G .38 +(se the null sender as the en)169.91 305.4 R -.15(ve)-.4 G .379(lope sender).15 +F 2.879(,e)-.4 G -.15(ve)343.645 305.4 S 2.879(nw).15 G .379(hen running SMTP) +368.034 305.4 R 5.379(.T)-1.11 G .379(his violates)458.341 305.4 R(RFC 1123.) +138 317.4 Q 17.3(F=7 Strip)102 333.6 R(all output to this mailer to 7 bits.)2.5 +E 16.19(F=L Used)102 349.8 R .198 +(to set the line limit to 990 bytes for SMTP compatibility)2.697 F 5.198(.I) +-.65 G 2.698(tn)398.622 349.8 S .698 -.25(ow d)409.1 349.8 T .198 +(oes that only if the).25 F(L= k)138 361.8 Q -.15(ey)-.1 G +(letter is not speci\214ed.).15 E +(This \215ag is obsolete and should not be used.)5 E F0 2.5(2.16. New)87 385.8 +R(or Changed Pr)2.5 E(e-De\214ned Macr)-.18 E(os)-.18 E F1 23.5($k UUCP)102 402 +R(node name from uname\(2\).)2.5 E 20.72($m Domain)102 418.2 R +(part of our full hostname.)2.5 E 23.5($_ RFC)102 434.4 R(1413-pro)2.5 E +(vided sender address.)-.15 E 21.28($w Pre)102 450.6 R .148(viously w)-.25 F +.148(as sometimes the full domain name, sometimes just the \214rst w)-.1 F +2.647(ord. No)-.1 F 2.647(wg)-.25 G(uar)488.1 450.6 Q(-)-.2 E +(anteed to be the \214rst w)138 462.6 Q +(ord of the domain name \(i.e., the host name\).)-.1 E 25.72($j Pre)102 478.8 R +.193(viously had to be de\214ned \212 it is no)-.25 F 2.693(wp)-.25 G .194 +(rede\214ned to be the full domain name, if that can)310.067 478.8 R +(be determined.)138 490.8 Q(That is, it is equi)5 E -.25(va)-.25 G(lent to $w) +.25 E(.$m.)-.65 E F0 2.5(2.17. New)87 514.8 R(and Changed Classes)2.5 E F1 +17.86($=k Initialized)102 531 R(to contain $k.)2.5 E 15.64($=w No)102 547.2 R +3.069(wi)-.25 G .569 +(ncludes \231[1.2.3.4]\232 \(where 1.2.3.4 is your IP address\) to allo)163.039 +547.2 R 3.068(wt)-.25 G .568(he con\214guration \214le)422.314 547.2 R +(to recognize your o)138 559.2 Q(wn IP address.)-.25 E F0 2.5(2.18. New)87 +583.2 R(Rewriting T)2.5 E(ok)-.92 E(ens)-.1 E F1(The)127 599.4 Q F0($&)3.25 E +F1 .75(construct has been adopted from ID)3.25 F 3.25(At)-.4 G 3.25(od)322 +599.4 S .75(efer macro e)335.25 599.4 R -.25(va)-.25 G 3.25(luation. Normally) +.25 F 3.25(,m)-.65 G(acros)482.9 599.4 Q .476 +(in rulesets are bound when the rule is \214rst parsed during startup.)102 +611.4 R .476(Some macros change during pro-)5.476 F .046 +(cessing and are uninteresting during startup.)102 623.4 R(Ho)5.046 E(we)-.25 E +-.15(ve)-.25 G .846 -.4(r, t).15 H .047 +(hat macro can be referenced using \231$&x\232 to).4 F(defer the e)102 635.4 Q +-.25(va)-.25 G(ulation of $x until the rule is processed.).25 E(The tok)127 +651.6 Q(ens)-.1 E F0($\()2.5 E F1(and)2.5 E F0($\))2.5 E F1(ha)2.5 E .3 -.15 +(ve b)-.2 H(een added to allo).15 E 2.5(ws)-.25 G(peci\214cation of map re) +319.59 651.6 Q(writing.)-.25 E -1.11(Ve)127 667.8 S 1.499(rsion 8 allo)1.11 F +(ws)-.25 E F0($@)3.999 E F1 1.499 +(on the Left Hand Side of an `R' line to match zero tok)3.999 F 3.998 +(ens. This)-.1 F(is)3.998 E(intended to be used to match the null input.)102 +679.8 Q EP +%%Page: 8 8 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 294.65(8C)72 60 S(hanges in Sendmail V)378.87 60 Q +(ersion 8)-1 E 2.5(2.19. Bigger)87 96 R(Defaults)2.5 E/F1 10/Times-Roman@0 SF +-1.11(Ve)127 112.2 S 1.283(rsion 8 allo)1.11 F 1.284 +(ws up to 100 rulesets instead of 30.)-.25 F 1.284 +(It is recommended that rulesets 0\2559 be)6.284 F(reserv)102 124.2 Q +(ed for sendmail')-.15 E 2.5(sd)-.55 G(edicated use in future releases.)202.66 +124.2 Q(The total number of MX records that can be used has been raised to 20.) +127 140.4 Q .335(The number of queued messages that can be handled at one time\ + has been raised from 600 to)127 156.6 R(1000.)102 168.6 Q F0 2.5(2.20. Differ) +87 192.6 R(ent Default T)-.18 E(uning P)-.92 E(arameters)-.1 E F1 -1.11(Ve)127 +208.8 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 208.8 R .712(recipients more important than the size of t\ +he message \(for small messages\).)102 220.8 R .712(This is reasonable if)5.712 +F(you are connected with reasonably f)102 232.8 Q(ast links.)-.1 E F0 2.5 +(2.21. A)87 256.8 R(uto-Quoting in Addr)-.5 E(esses)-.18 E F1(Pre)127 273 Q +(viously)-.25 E 3.2(,t)-.65 G .701(he `)177.36 273 R .701 +(`Full Name <email address>')-.74 F 3.201('s)-.74 G .701(yntax w)322.025 273 R +.701(ould generate incorrect protocol out-)-.1 F .006(put if `)102 285 R .006 +(`Full Name')-.74 F 2.506('h)-.74 G .006(ad special characters such as dot.) +187.754 285 R .005(This v)5.006 F .005(ersion puts quotes around such names.) +-.15 F F0 2.5(2.22. Symbolic)87 309 R(Names On Err)2.5 E(or Mailer)-.18 E F1 +(Se)127 325.2 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 5(.F)-.55 G(or e)428.96 +325.2 Q(xample:)-.15 E($#error $@NOHOST $: Host unkno)142 341.4 Q(wn)-.25 E +(Prints the indicated message and sets the e)102 357.6 Q(xit status of)-.15 E +/F2 10/Times-Italic@0 SF(sendmail)2.5 E F1(to)2.5 E/F3 9/Times-Roman@0 SF +(EX_NOHOST)2.5 E F1(.)A F0 2.5(2.23. New)87 381.6 R(Built-In Mailers)2.5 E F1 +-1 -.8(Tw o)127 397.8 T(ne)3.901 E 3.101(wm)-.25 G .601(ailers, *\214le* and *\ +include*, are included to de\214ne options when mailing to a \214le)174.822 +397.8 R(or a :include: \214le respecti)102 409.8 Q -.15(ve)-.25 G(ly).15 E 5 +(.P)-.65 G(re)232.88 409.8 Q(viously these were o)-.25 E -.15(ve)-.15 G +(rloaded on the local mailer).15 E(.)-.55 E F0 2.5(2.24. SMTP)87 433.8 R +(VRFY Doesn't Expand)2.5 E F1(Pre)127 450 Q 1.438(vious v)-.25 F 1.438 +(ersions of sendmail treated VRFY and EXPN the same.)-.15 F 1.437(In this v) +6.437 F 1.437(ersion, VRFY)-.15 F(doesn')102 462 Q 2.5(te)-.18 G +(xpand aliases or follo)138.05 462 Q 2.5(w.)-.25 G(forw)235.84 462 Q +(ard \214les.)-.1 E .663(As an optimization, if you run with your def)127 478.2 +R .664(ault deli)-.1 F -.15(ve)-.25 G .664(ry mode being queue-only).15 F 3.164 +(,t)-.65 G .664(he RCPT)466.386 478.2 R 1.09 +(command will also not chase aliases and .forw)102 490.2 R 1.09(ard \214les.) +-.1 F 1.09(It will chase them when it processes the)6.09 F 2.5(queue. This)102 +502.2 R(speeds up RCPT processing.)2.5 E F0 2.5(2.25. [IPC])87 526.2 R +(Mailers Allo)2.5 E 2.5(wM)-.1 G(ultiple Hosts)210.49 526.2 Q F1 .099 +(When an address resolv)127 542.4 R .099(es to a mailer that has `)-.15 F +(`[IPC]')-.74 E 2.599('a)-.74 G 2.6(si)353.52 542.4 S .1(ts `)362.79 542.4 R +(`P)-.74 E(ath')-.15 E .1(', the $@ part \(host name\))-.74 F .138 +(can be a colon-separated list of hosts instead of a single hostname.)102 554.4 +R .137(This asks sendmail to search the)5.137 F .16 +(list for the \214rst entry that is a)102 566.4 R -.25(va)-.2 G .16(ilable e) +.25 F .161(xactly as though it were an MX record.)-.15 F .161 +(The intent is to route)5.161 F .738(internal traf)102 578.4 R .738 +(\214c through internal netw)-.25 F .738 +(orks without publishing an MX record to the net.)-.1 F .737(MX e)5.737 F +(xpan-)-.15 E(sion is still done on the indi)102 590.4 Q(vidual items.)-.25 E +F0 2.5(2.26. Aliases)87 614.4 R(Extended)2.5 E F1 .298 +(The implementation has been mer)127 630.6 R .298(ged with maps.)-.18 F .299 +(Among other things, this supports multiple)5.298 F +(alias \214les and NIS-based aliases.)102 642.6 Q -.15(Fo)5 G 2.5(re).15 G +(xample:)258.34 642.6 Q -.35(OA)142 658.8 S(/etc/aliases,nis:mail.aliases).35 E +(will search \214rst the local database \231/etc/aliases\232 follo)102 675 Q +(wed by the NIS map)-.25 E EP +%%Page: 9 9 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(9)499 60 Q +2.5(2.27. P)87 96 R(ortability and Security Enhancements)-.2 E/F1 10 +/Times-Roman@0 SF 2.5(An)127 112.2 S(umber of internal changes ha)141.72 112.2 +Q .3 -.15(ve b)-.2 H(een made to enhance portability).15 E(.)-.65 E(Se)127 +128.4 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 .46 +(In particular)127 144.6 R 2.96(,t)-.4 G .46(he permissions required for .forw) +184.45 144.6 R .46(ard and :include: \214les ha)-.1 F .76 -.15(ve b)-.2 H .46 +(een tightened up).15 F(considerably)102 156.6 Q 5.182(.V)-.65 G 2.683(5w) +167.352 156.6 S .183(ould pretty much read an)182.155 156.6 R 2.683<798c>-.15 G +.183(le it could get to as root, which e)295.96 156.6 R .183(xposed some secu-) +-.15 F 1.02(rity holes.)102 168.6 R 1.02 +(V8 insists that all directories leading up to the .forw)6.02 F 1.02 +(ard or :include: \214le be searchable)-.1 F .334 +(\("x" permission\) by the controlling user" \(de\214ned belo)102 180.6 R .335 +(w\), that the \214le itself be readable by the con-)-.25 F(trolling user)102 +192.6 Q 2.5(,a)-.4 G(nd that .forw)159.65 192.6 Q(ard \214les be o)-.1 E +(wned by the user who is being forw)-.25 E(arded to or root.)-.1 E .565 +(The "controlling user" is the user on whose behalf the mail is being deli)127 +208.8 R -.15(ve)-.25 G 3.065(red. F).15 F .565(or e)-.15 F(xample,)-.15 E .459 +(if you mail to "user1" then the controlling user for ~user1/.forw)102 220.8 R +.46(ard and an)-.1 F 2.96(ym)-.15 G .46(ailers in)416.94 220.8 R -.2(vo)-.4 G +-.1(ke).2 G 2.96(db).1 G 2.96(yt)481.04 220.8 S(hat)491.78 220.8 Q(.forw)102 +232.8 Q(ard \214le, including :include: \214les.)-.1 E(Pre)127 249 Q(viously) +-.25 E 2.816(,a)-.65 G -.15(ny)178.636 249 S .316 +(one who had a home directory could create a .forw).15 F .316(ard could forw) +-.1 F .316(ard to a pro-)-.1 F 2.965(gram. No)102 261 R 1.765 -.65(w, s)-.25 H +.466(endmail checks to mak).65 F 2.966(es)-.1 G .466(ure that the)262.934 261 R +2.966(yh)-.15 G -2.25 -.2(av e)321.672 261 T .466(an "appro)3.166 F -.15(ve) +-.15 G 2.966(ds).15 G .466(hell", that is, a shell listed)398.42 261 R +(in the /etc/shells \214le.)102 273 Q F0 2.5(2.28. Miscellaneous)87 297 R +(Fixes and Enhancements)2.5 E F1 4.03(An)127 313.2 S 1.53(umber of small b) +143.25 313.2 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 313.2 R(comments ha)102 +325.2 Q .3 -.15(ve b)-.2 H(een \214x).15 E(ed.)-.15 E 1.552(The \214x)127 341.4 +R 1.552(ed size limit on header lines \(such as \231T)-.15 F 1.553 +(o:\232 and \231Cc:\232\) has been eliminated; those)-.8 F -.2(bu)102 353.4 S +-.25(ff).2 G(ers are dynamically allocated no).25 E -.65(w.)-.25 G .289(Sendma\ +il writes a /etc/sendmail.pid \214le with the current process id and the curre\ +nt in)127 369.6 R -.2(vo)-.4 G(cation).2 E(\215ags.)102 381.6 Q -1 -.8(Tw o)127 +397.8 T .218 +(people using the same program \(e.g., submit\) are considered "dif)3.518 F +.219(ferent" so that duplicate)-.25 F .508(elimination doesn')102 409.8 R 3.008 +(td)-.18 G .508(elete one of them.)187.836 409.8 R -.15(Fo)5.508 G 3.008(re).15 +G .508(xample, tw)287.556 409.8 R 3.008(op)-.1 G .508(eople forw)345.412 409.8 +R .508(arding their email to |submit)-.1 F(will be treated as tw)102 421.8 Q +2.5(or)-.1 G(ecipients.)193.27 421.8 Q .721(The mailstats program prints maile\ +r names and gets the location of the sendmail.st \214le from)127 438 R +(/etc/sendmail.cf.)102 450 Q(Man)127 466.2 Q 2.5(ym)-.15 G(inor b)160.46 466.2 +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 482.4 +S(ook has been added to allo)141.72 482.4 Q 2.5(wr)-.25 G -.25(ew)260.89 482.4 +S(riting of local addresses after aliasing.).25 E F0 2.5(3. FUTURE)72 506.4 R +-.1(WO)2.5 G(RK).1 E F1 1.719(The pre)112 522.6 R 1.719 +(vious section describes)-.25 F/F2 10/Times-Italic@0 SF(sendmail)4.219 E F1 +1.719(as of v)4.219 F 1.719(ersion 8.6.6.)-.15 F 1.718 +(There is still much to be done.)6.719 F(Some high points are described belo)87 +534.6 Q 3.8 -.65(w. T)-.25 H(his list is by no means e).65 E(xhausti)-.15 E +-.15(ve)-.25 G(.).15 E F0 2.5(3.1. Full)87 558.6 R(MIME Support)2.5 E F1 +(Currently)127 574.8 Q F2(sendmail)3.305 E F1 .805(only supports se)3.305 F +-.15(ve)-.25 G 3.305(nb).15 G .805(it MIME messages.)297.005 574.8 R .806 +(Although it can pass eight bit)5.805 F .371(MIME messages, it cannot adv)102 +586.8 R .371(ertise that f)-.15 F .37 +(act because the standards say that the mail agent must be)-.1 F .26 +(able to do 8- to 7-bit con)102 598.8 R -.15(ve)-.4 G .26(rsion to ha).15 F +.561 -.15(ve f)-.2 H .261(ull 8-bit support.).15 F .261(This requires f)5.261 F +.261(ar more e)-.1 F(xtensi)-.15 E .561 -.15(ve m)-.25 H(odi\214-).15 E +(cation of the message body than is currently supported.)102 610.8 Q .464 +(The best w)127 627 R .464(ay to do this w)-.1 F .463 +(ould be to support the general concept of an e)-.1 F .463(xternal `)-.15 F +.463(`message \214l-)-.74 F(ter')102 639 Q 3.319('t)-.74 G .819 +(hat could do arbitrary modi\214cations of the message.)124.569 639 R .819 +(This w)5.819 F .82(ould allo)-.1 F 3.32(wM)-.25 G .82(IME con)427.37 639 R +-.15(ve)-.4 G .82(rsion as).15 F .63 +(well as such things as automatic encryption of messages sent o)102 651 R -.15 +(ve)-.15 G 3.129(re).15 G .629(xternal links.)379.264 651 R .629 +(This is probably)5.629 F(an e)102 663 Q(xtremely non-tri)-.15 E(vial change.) +-.25 E F0 2.5(3.2. Ser)87 687 R(vice Switch Abstraction)-.1 E F1 .369(Most mod\ +ern systems include some concept of a \231service switch\232 \212 for e)127 +703.2 R .37(xample, to look up)-.15 F .984 +(host names you can try DNS, NIS, NIS+, te)102 715.2 R .984 +(xt tables, NetInfo, or other services in some arbitrary)-.15 F EP +%%Page: 10 10 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 287.15(10 Changes)72 60 R(in Sendmail V)2.5 E(ersion 8) +-1 E/F1 10/Times-Roman@0 SF(order)102 96 Q 5.174(.T)-.55 G .174 +(his is currently v)136.334 96 R .174(ery clumsy in)-.15 F/F2 10/Times-Italic@0 +SF(sendmail)2.674 E F1 2.674(,w)C .174 +(ith only limited control of the services pro)309.612 96 R(vided.)-.15 E F0 2.5 +(3.3. Mor)87 120 R 2.5(eC)-.18 G(ontr)139.86 120 Q(ol of Local Addr)-.18 E +(esses)-.18 E F1 .943(Currently some addresses are declared as \231local\232 a\ +nd are handled specially \212 for e)127 136.2 R(xample,)-.15 E(the)102 148.2 Q +3.455(ym)-.15 G .955(ay ha)130.305 148.2 R 1.255 -.15(ve .)-.2 H(forw).15 E +.956(ard \214les, may be translated into program calls or \214le deli)-.1 F +-.15(ve)-.25 G .956(ries, and so forth.).15 F .311(These should be brok)102 +160.2 R .311(en out into separate \215ags to allo)-.1 F 2.811(wt)-.25 G .31 +(he local system administrator to ha)330.29 160.2 R .61 -.15(ve m)-.2 H(ore).15 +E(\214ne-grained control o)102 172.2 Q -.15(ve)-.15 G 2.5(ro).15 G(perations.) +208.62 172.2 Q F0 2.5(3.4. Mor)87 196.2 R 2.5(eR)-.18 G(un-T)139.86 196.2 Q +(ime Con\214guration Options)-.18 E F1 .016(There are man)127 212.4 R 2.516(yo) +-.15 G .016(ptions that are con\214gured at compile time, such as the method o\ +f \214le locking)197.148 212.4 R .719 +(and the use of the IDENT protocol [RFC1413].)102 224.4 R .719 +(These should be transfered to run time by adding)5.719 F(ne)102 236.4 Q 2.5 +(wo)-.25 G(ptions.)125.91 236.4 Q(Similarly)127 252.6 Q 3.413(,s)-.65 G .913 +(ome options are currently o)173.383 252.6 R -.15(ve)-.15 G .913 +(rloaded, that is, a single option controls more than).15 F(one thing.)102 +264.6 Q(These should probably be brok)5 E(en out into separate options.)-.1 E +(This implies that options will change from single characters to w)127 280.8 Q +(ords.)-.1 E F0 2.5(3.5. Mor)87 304.8 R 2.5(eC)-.18 G(on\214guration Contr) +139.86 304.8 Q(ol Ov)-.18 E(er Err)-.1 E(ors)-.18 E F1(Currently)127 321 Q +3.649(,t)-.65 G 1.148 +(he con\214guration \214le can generate an error message during parsing.) +173.609 321 R(Ho)6.148 E(we)-.25 E -.15(ve)-.25 G 1.948 -.4(r, i).15 H(t).4 E +.569(cannot tweak other operations, such as issuing a w)102 333 R .57 +(arning message to the system postmaster)-.1 F 5.57(.S)-.55 G(imi-)487.33 333 Q +(larly)102 345 Q 2.558(,s)-.65 G .057 +(ome errors should not be triggered if the)128.628 345 R 2.557(ya)-.15 G .057 +(re in aliases during an alias \214le reb)302.237 345 R .057(uild, b)-.2 F .057 +(ut should)-.2 F(be triggered if that alias is actually used.)102 357 Q F0 2.5 +(3.6. Long)87 381 R -.92(Te)2.5 G(rm Host State).92 E F1(Currently)127 397.2 Q +(,)-.65 E F2(sendmail)3.731 E F1 1.231 +(only remembers host status during a single queue run.)3.731 F 1.232 +(This should be)6.232 F(con)102 409.2 Q -.15(ve)-.4 G .492(rted to long term s\ +tatus stored on disk so it can be shared between instantiations of).15 F F2 +(sendmail)2.991 E F1(.)A .866(Entries will ha)102 421.2 R 1.167 -.15(ve t)-.2 H +3.367(ob).15 G 3.367(et)190.666 421.2 S .867(imestamped so the)201.253 421.2 R +3.367(yc)-.15 G .867(an time out.)290.084 421.2 R .867(This will allo)5.867 F +(w)-.25 E F2(sendmail)3.367 E F1 .867(to implement)3.367 F -.15(ex)102 433.2 S +(ponential back).15 E(of)-.1 E 2.5(fo)-.25 G 2.5(nq)188.7 433.2 S +(ueue runs on a per)201.2 433.2 Q(-host basis.)-.2 E F0 2.5(3.7. Connection)87 +457.2 R(Contr)2.5 E(ol)-.18 E F1 .819(Modern netw)127 473.4 R .819(orks ha)-.1 +F 1.119 -.15(ve d)-.2 H(if).15 E .819(ferent types of connecti)-.25 F .818 +(vity than the past.)-.25 F .818(In particular)5.818 F 3.318(,t)-.4 G .818 +(he rising)468.462 473.4 R .636 +(prominence of dialup IP has created certain challenges for automated serv)102 +485.4 R 3.136(ers. It)-.15 F .636(is not uncommon)3.136 F .732(to try to mak) +102 497.4 R 3.232(eac)-.1 G .732(onnection to a host and ha)175.27 497.4 R +1.032 -.15(ve i)-.2 H 3.232(tf).15 G .732(ail, e)307.984 497.4 R -.15(ve)-.25 G +3.232(nt).15 G .732(hough if you tried ag)348.208 497.4 R .732(ain it w)-.05 F +.731(ould suc-)-.1 F 2.5(ceed. The)102 509.4 R +(connection management could be a bit cle)2.5 E -.15(ve)-.25 G +(rer to try to adapt to such situations.).15 E F0 2.5(3.8. Other)87 533.4 R +(Caching)2.5 E F1 .074(When you do an MX record lookup, the name serv)127 549.6 +R .075(er automatically returns the IP addresses of)-.15 F .518 +(the associated MX serv)102 561.6 R 3.018(ers. This)-.15 F .518 +(information is currently ignored, and another query is done to get)3.018 F +(this information.)102 573.6 Q(It should be cached to a)5 E -.2(vo)-.2 G(id e) +.2 E(xcess name serv)-.15 E(er traf)-.15 E(\214c.)-.25 E F0 2.5(4. REFERENCES) +72 597.6 R F1([Allman83a])87 613.8 Q .137(\231Sendmail \212 An Internetw)123 +625.8 R .137(ork Mail Router)-.1 F 4.037 -.7(.\232 E)-.55 H 2.638(.A).7 G 2.638 +(llman. In)327.58 625.8 R F2 .138(Unix Pr)2.638 F -.1(og)-.45 G -.15(ra).1 G +(mmer).15 E(s')-.1 E 2.638(sM)-.4 G(anual,)463.582 625.8 Q F1(4.2)2.638 E(Berk) +123 637.8 Q(ele)-.1 E 2.5(yS)-.15 G(oftw)166.91 637.8 Q(are Distrib)-.1 E +(ution, v)-.2 E(olume 2C.)-.2 E(August 1983.)5 E([Allman83b])87 654 Q .384 +(\231Mail Systems and Addressing in 4.2BSD.)123 666 R 5.384<9a45>-.7 G 2.884 +(.A)311.544 666 S .383(llman In)324.148 666 R F2 .383(UNICOM Confer)2.883 F +.383(ence Pr)-.37 F(oceedings.)-.45 E F1(San Die)123 678 Q(go, California.)-.15 +E(January 1983.)5 E([Allman&Amos85])87 694.2 Q -.74(``)123 706.2 S 1.145 +(Sendmail Re).74 F(visited.)-.25 E 5.125 -.74('' E)-.7 H 3.645(.A).74 G 1.145 +(llman and M. Amos.)241.215 706.2 R(In)6.145 E F2 1.145 +(Usenix Summer 1985 Confer)3.645 F 1.145(ence Pr)-.37 F(o-)-.45 E(ceedings.)123 +718.2 Q F1(Portland, Ore)5 E 2.5(gon. June)-.15 F(1985.)2.5 E EP +%%Page: 11 11 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF(Changes in Sendmail V)72 60 Q(ersion 8)-1 E(11)494 60 Q +/F1 10/Times-Roman@0 SF([ID)87 96 Q(A87])-.4 E/F2 10/Times-Italic@0 SF(Electr) +1.97 E .983(onic Mail Addr)-.45 F .983(essing in Theory and Pr)-.37 F .982 +(actice with the ID)-.15 F 3.482(AS)-.35 G .982(endmail Enhancement Kit)398.156 +96 R .563(\(or The P)123 108 R(ostmaster')-.8 E 3.063(sL)-.4 G .563(ast W) +215.989 108 R .564(ill and T)-.55 F(estament\).)-.92 E F1 .564(Lennart Lo)5.564 +F -.5(..)359.828 102 S 3.064(vstrand. Department)364.828 108 R .564 +(of Computer)3.064 F 1.267(and Information Science, Uni)123 120 R -.15(ve)-.25 +G 1.267(rsity of Link).15 F(o)-.1 E -.5(..)306.585 114 S 1.266 +(ping, Sweden, Report no. LiTH-ID)311.585 120 R(A-Ex-8715.)-.4 E(May 1987.)123 +132 Q([RFC821])87 148.2 Q F2(Simple Mail T)123 160.2 Q -.15(ra)-.55 G +(nsport Pr).15 E(otocol.)-.45 E F1(J. Postel.)5 E(August 1982.)5 E([RFC1123])87 +176.4 Q F2(Requir)123 188.4 Q .163 +(ements for Internet Hosts \212 Application and Support.)-.37 F F1 .164 +(Internet Engineering T)5.164 F .164(ask F)-.8 F(orce,)-.15 E +(R. Braden, Editor)123 200.4 Q 5(.O)-.55 G(ctober 1989.)207.72 200.4 Q +([RFC1344])87 216.6 Q F2(Implications of MIME for Internet Mail Gate)123 228.6 +Q(ways.)-.15 E F1(N. Borenstein.)5 E(June 1992.)5 E([RFC1413])87 244.8 Q F2 +(Identi\214cation Pr)123 256.8 Q(otocol.)-.45 E F1(M. St. Johns.)5 E +(February 1993.)5 E([RFC1425])87 273 Q F2 2.352(SMTP Service Extensions.)123 +285 R F1 2.352(J. Klensin, N. Freed, M. Rose, E. Stef)7.352 F 2.351 +(ferud, and D. Crock)-.25 F(er)-.1 E(.)-.55 E(February 1993.)123 297 Q +([RFC1426])87 313.2 Q F2 .12(SMTP Service Extension for 8bit-MIMEtr)123 325.2 R +(ansport.)-.15 E F1 .12(J. Klensin, N. Freed, M. Rose, E. Stef)5.12 F(ferud,) +-.25 E(and D. Crock)123 337.2 Q(er)-.1 E 5(.F)-.55 G(ebruary 1993.)196.78 337.2 +Q([RFC1427])87 353.4 Q F2 .813(SMTP Service Extension for Messa)123 365.4 R +1.013 -.1(ge S)-.1 H .813(ize Declar).1 F(ation.)-.15 E F1 .813 +(J. Klensin, N. Freed, and K. Moore.)5.813 F(February 1993.)123 377.4 Q +([RFC1521])87 393.6 Q F2 2.033 +(MIME \(Multipurpose Internet Mail Extensions\) P)123 405.6 R 2.033 +(art One: Mec)-.8 F 2.033(hanisms for Specifying and)-.15 F .933 +(Describing the F)123 417.6 R .933(ormat of Internet Messa)-1.05 F 1.133 -.1 +(ge B)-.1 H(odies.).1 E F1 .932(N. Borenstein and N. Freed.)5.932 F(September) +5.932 E(1993.)123 429.6 Q EP +%%Trailer +end +%%EOF diff --git a/usr.sbin/sendmail/doc/op/op.me b/usr.sbin/sendmail/doc/op/op.me new file mode 100644 index 0000000000000..6fd40ad866e38 --- /dev/null +++ b/usr.sbin/sendmail/doc/op/op.me @@ -0,0 +1,7593 @@ +.\" Copyright (c) 1983, 1995 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.70 (Berkeley) 11/3/95 +.\" +.\" 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 +Pang\(aea Reference Systems +eric@Sendmail.ORG +.sp +Version 8.70 +.sp +For Sendmail Version 8.7 +.)l +.sp 2 +.pp +.i Sendmail +implements a general purpose internetwork mail routing facility +under the UNIX\(rg +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 +RFC821 (Simple Mail Transport Protocol), +RFC822 (Internet Mail Format Protocol), +RFC1123 (Internet Host Requirements), +RFC1521 (MIME), +RFC1651 (SMTP Service Extensions), +and a series of as-yet-draft standards describing +Delivery Status Notifications (DSNs), +available from the internet drafts sites as +draft-ietf-notary-mime-delivery-\fIXX\fP.txt, +draft-ietf-notary-mime-report-\fIXX\fP.txt, +draft-ietf-notary-smtp-drpt-\fIXX\fP.txt, +and +draft-ietf-notary-status-\fIXX\fP.txt +(replace +.i XX +by the latest draft number). +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. +.pp +.b WARNING: +Several major changes were introduced in version 8.7. +You should not attempt to use this document +for prior versions of +.i sendmail . +.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. +On most systems, +you can do the appropriate compilation by typing +.(b +sh makesendmail +.)b +This will leave the binary in an appropriately named subdirectory. +It works for multiple object versions +compiled out of the same directory. +.sh 3 "Tweaking the Makefile" +.pp +.i Sendmail +supports two different formats +for the local (on disk) version of databases, +notably the +.i aliases +database. +At least one of these should be defined if at all possible. +.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 alias file name includes the substring +.q /yp/ , +.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. +There are also several methods for remote database access: +.ip NIS +Sun's Network Information Services (formerly YP). +.ip NISPLUS +Sun's NIS+ services. +.ip NETINFO +NeXT's NetInfo service. +.ip HESIOD +Hesiod service (from Athena). +.lp +Other compilation flags are set in conf.h +and should be predefined for you +unless you are porting to a new environment. +.sh 3 "Compilation and installation" +.pp +After making the local system configuration described above, +You should be able to compile and install the system. +The script +.q makesendmail +is the best approach on most systems: +.(b +sh makesendmail +.)b +This will use +.i uname (1) +to select the correct Makefile for your environment. +.pp +You may be able to install using +.(b +sh makesendmail 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 delivery mechanisms 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 +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. +The mailer types that are known in this distribution are +fax, +local, +smtp, +uucp, +and usenet. +For example, to include support for the UUCP-based mailers, +use +.q MAILER(uucp) . +.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 \**. +.(f +\**Actually, the pathname varies depending on the operating system; +/etc is the preferred directory. +Some older systems install it in +.b /usr/lib/sendmail.cf , +and I've also seen it in +.b /usr/ucblib +and +.b /etc/mail . +If you want to move this file, +change +.i src/conf.h . +.)f +This and /etc/sendmail.pid +are the only non-library file names 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 +.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, see Figure 1 +for an example of a complex startup script. +.(z +.hl +# 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 +.sp +.ce +Figure 1 \(em A complex startup script +.hl +.)z +.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/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\**. +.(f +\**Except on Ultrix, +which does not support facilities in the syslog. +.)f +.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\**. +.(f +\**This format may vary slightly if your vendor has changed +the syntax. +.)f +Most messages are a sequence of +.i name \c +=\c +.i value +pairs. +.pp +The two most common lines are logged when a message is processed. +The first logs the receipt of a message; +there will be exactly one of these per message. +Some fields may be omitted if they do not contain interesting information. +Fields are: +.ip from +The envelope sender address. +.ip size +The size of the message in bytes. +.ip class +The class (i.e., numeric precedence) of the message. +.ip pri +The initial message priority (used for queue sorting). +.ip nrcpts +The number of envelope recipients for this message +(after aliasing and forwarding). +.ip msgid +The message id of the message (from the header). +.ip proto +The protocol used to receive this message (e.g., ESMTP or UUCP) +.ip relay +The machine from which it was received. +.lp +There is also one line logged per delivery attempt +(so there can be several per message if delivery is deferred +or there are multiple recipients). +Fields are: +.ip to +A comma-separated list of the recipients to this mailer. +.ip ctladdr +The ``controlling user'', that is, the name of the user +whose credentials we use for delivery. +.ip delay +The total delay between the time this message was received +and the time it was delivered. +.ip xdelay +The amount of time needed in this delivery attempt +(normally indicative of the speed of the connection). +.ip mailer +The name of the mailer used to deliver to this recipient. +.ip relay +The name of the host that actually accepted (or rejected) this recipient. +.ip stat +The delivery status. +.lp +Not all fields are present in all messages; +for example, the relay is not listed for local deliveries. +.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 +.\" XREF +4.6. +.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 2 "The Mail Queue" +.pp +Sometimes a host cannot handle a message immediately. +For example, it may be down or overloaded, causing it to refuse connections. +The sending host is then expected to save this message in +its mail queue +and attempt to deliver it later. +.pp +Under normal conditions the mail queue will 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 Service Switch" +.pp +The implementation of certain system services +such as host and user name lookup +is controlled by the service switch. +If the host operating system supports such a switch +.i sendmail +will use the native version. +Ultrix, Solaris, and DEC OSF/1 are examples of such systems. +.pp +If the underlying operating system does not support a service switch +(e.g., SunOS, HP-UX, BSD) +then +.i sendmail +will provide a stub implementation. +The +.b ServiceSwitchFile +option points to the name of a file that has the service definitions +Each line has the name of a service +and the possible implementations of that service. +For example, the file: +.(b +hosts dns files nis +aliases files nis +.)b +will ask +.i sendmail +to look for hosts in the Domain Name System first. +If the requested host name is not found, +it tries local files, +and if that fails it tries NIS. +Similarly, +when looking for aliases +it will try the local files first +followed by NIS. +.pp +Service switches are not completely integrated. +For example, despite the fact that the host entry listed in the above example +specifies to look in NIS, +on SunOS this won't happen because the system implementation of +.i gethostbyname \|(3) +doesn't understand this. +If there is enough demand +.i sendmail +may reimplement +.i gethostbyname \|(3), +.i gethostbyaddr \|(3), +.i getpwent \|(3), +and the other system routines that would be necessary +to make this work seamlessly. +.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 +(except on prep.ai.MIT.EDU, +and they probably don't want me)\**. +.(f +\**Actually, any mailer that has the `A' mailer flag set +will permit aliasing; +this is normally limited to the local mailer. +.)f +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 ndbm \|(3)\** +.(f +\**The +.i gdbm +package probably works as well. +.)f +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 +The control of search order is actually set by the service switch. +Essentially, the entry +.(b +OAswitch:aliases +.)b +is always added as the first alias entry; +also, the first alias file name without a class +(e.g., without +.q nis: +on the front) +will be used as the name of the file for a ``files'' entry +in the aliases switch. +For example, if the configuration file contains +.(b +OA/etc/aliases +.)b +and the service switch contains +.(b +aliases nis files nisplus +.)b +then aliases will first be searched in the NIS database, +then in /etc/aliases, +then in the NIS+ database. +.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 +.b RebuildAliases +(old +.b 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 the rebuild timeout +(option +.b AliasWait , +old +.b a , +which is normally 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 NDBM 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 three 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, +it locks the database source file during the rebuild \(em +but that may not work over NFS or if the file is unwritable. +Third, +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 +.b AliasWait +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: unix-wizards-request +unix-wizards-request: 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, +the +.q owner- +address normally points at the +.q -request +address; this causes messages to go out with the typical Internet convention +of using ``\c +.i list -request'' +as the return address. +.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. +.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 "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 UseErrorsTo +option is set. +.pp +The Errors-To: header is official deprecated +and will go away in a future release. +.sh 3 "Apparently-To:" +.pp +RFC 822 requires at least one recipient field +(To:, Cc:, or Bcc: line) +in every message. +If a message comes in with no recipients listed in the message +then +.i sendmail +will adjust the header based on the +.q NoRecipientAction +option. +One of the possible actions is to 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 +The Apparently-To: header is non-standard +and is deprecated. +.sh 3 "Precedence" +.pp +The Precedence: header can be used as a crude control of message priority. +It tweaks the sort order in the queue +and can be configured to change the message timeout values. +.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 +.lp +In some cases your system may not work properly with IDENT support +due to a bug in the TCP/IP implementation. +The symptoms will be that for some hosts +the SMTP connection will be closed +almost immediately. +If this is true or if you do not want to use IDENT, +you should set the IDENT timeout to zero; +this will disable the IDENT protocol. +.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 with delivery mode set to +.b i +or +.b b +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. +(See also the MinQueueAge option.) +.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 +.pp +An alternative approach is to invoke sendmail from +.i inetd (8) +(use the +.b \-bs +flag to ask sendmail to speak SMTP on its standard input and output). +This works and allows you to wrap +.i sendmail +in a TCP wrapper program, +but may be a bit slower since the configuration file +has to be re-read on every message that comes in. +If you do this, you still need to have a +.i sendmail +running to flush the queue: +.(b +/usr/\*(SD/sendmail \-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 queue 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 "Changing the Values of Options" +.pp +Options can be overridden using the +.b \-o +or +.b \-O +command line flags. +For example, +.(b +/usr/\*(SD/sendmail \-oT2m +.)b +sets the +.b T +(timeout) option to two minutes +for this run only; +the equivalent line using the long option name is +.(b +/usr/\*(SD/sendmail -OQueueTimeout=2m +.)b +.pp +Some options have security implications. +Sendmail allows you to set these, +but relinquishes its setuid root permissions thereafter\**. +.(f +\**That is, it sets its effective uid to the real uid; +thus, if you are executing as root, +as from root's crontab file or during system startup +the root permissions will still be honored. +.)f +.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 \-oQ/tmp/mqueue +.)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. +.pp +.i Sendmail +gives up its setuid root permissions +when you use this flag, so it is common to use a publicly writable directory +(such as /tmp) +as the spool directory (QueueDirectory or Q option) while testing. +.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 +.b 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 "Testing Configuration Files" +.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 test mode +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 +.pp +As of version 8.7, +some other syntaxes are available in test mode: +.bu +\&.D\|x\|value +defines macro +.i x +to have the indicated +.i value . +This is useful when debugging rules that use the +.b $& \c +.i x +syntax. +.bu +\&.C\|c\|value +adds the indicated +.i value +to class +.i c . +.bu +\&.S\|ruleset +dumps the contents of the indicated ruleset. +.bu +\-d\|debug-spec +is equivalent to the command-line flag. +.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 "O Timeout.queuereturn=5d" +sets option +.q Timeout.queuereturn +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. +.pp +All versions of +.i sendmail +prior to 8.7 +had single character option names. +As of 8.7, +options have long (multi-character names). +Although old short names are still accepted, +most new options do not have short equivalents. +.pp +This section only describes the options you are most likely +to want to tweak; +read section +.\"XREF +5 +for more details. +.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 +Timeouts all have option names +.q Timeout.\fIsuboption\fP . +The recognized +.i suboption s, +their default values, and the minimum values +allowed by RFC 1123 section 5.3.2 are: +.nr ii 1i +.ip connect +The time to wait for an SMTP connection to open +(the +.i connect (2) +system call) +[0, unspecified]. +If zero, uses the kernel default. +In no case can this option extend the timeout +longer than the kernel provides, but it can shorten it. +This is to get around kernels that provide an absurdly long connection timeout +(90 minutes in one case). +.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 +(see below). +.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]. +.(f +\**On some systems the default is zero to turn the protocol off entirely. +.)f +.lp +For compatibility with old configuration files, +if no +.i suboption +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, versions of +.i sendmail +prior to version 8.1 did 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 easily 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 a communications failure during the RCPT phase is rare, +a long timeout is not onerous +and may ultimately help reduce network load +and duplicated messages. +.pp +For example, the lines: +.(b +O Timeout.command=25m +O Timeout.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 five days. +It is sometimes considered convenient to also send a warning message +if the message is in the queue longer than a few hours +(assuming you normally have good connectivity; +if your messages normally took several hours to send +you wouldn't want to do this because it wouldn't be an unusual event). +These timeouts are set using the +.b Timeout.queuereturn +and +.b Timeout.queuewarn +options in the configuration file +(previously both were set using the +.b T +option). +.pp +Since these options are global, +and since you can not know +.i "a priori" +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 Timeout.queuewarn +value can be piggybacked on the +.b T +option by indicating a time after which +a warning message should be sent; +the two timeouts are separated by a slash. +For example, the line +.(b +OT5d/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 ForkEachJob +(\c +.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 ForkEachJob +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 ForkEachJob +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 +(which is determined from the Precedence: header) +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 RecipientFactor +(\c +.b y ) +and +.b ClassFactor +(\c +.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 ClassFactor) + (nrcpt times bold RecipientFactor) +.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 RetryFactor +(\c +.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 RetryFactor +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 QueueLA +(\c +.b x ) +option. +When the load average exceeds the value of the +.b QueueLA +option, +the delivery mode is set to +.b q +(queue only) +if the +.b QueueFactor +(\c +.b q ) +option divided by the difference in the current load average and the +.b QueueLA +option +plus one +exceeds the priority of the message \(em +that is, the message is queued iff: +.EQ +pri > { bold QueueFactor } over { LA - { bold QueueLA } + 1 } +.EN +The +.b QueueFactor +option defaults to 600000, +so each point of load average is worth 600000 +priority points +(as described above). +.pp +For drastic cases, +the +.b RefuseLA +(\c +.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 +.b DeliveryMode +(\c +.b 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) +d defer delvery attempts (don't deliver) +.)b +There are tradeoffs. +Mode +.q i +gives the sender the quickest feedback, +but may slow down some mailers and +is hardly ever necessary. +Mode +.q b +delivers promptly but +can cause large numbers of processes +if you have a mailer that takes a long time to deliver a message. +Mode +.q q +minimizes the load on your machine, +but means that delivery may be delayed for up to the queue interval. +Mode +.q d +is identical to mode +.q q +except that it also prevents all the early map lookups from working; +it is intended for ``dial on demand'' sites where DNS lookups +might cost real money. +Some simple error messages +(e.g., host unknown during the SMTP protocol) +will be delayed using this mode. +Mode +.q b +is the usual default. +.pp +If you run in mode +.q q +(queue only), +.q d +(defer), +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. +Mode +.q i +cannot be used by the SMTP server. +.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 and alias database rebuilds. +.ip 9 +Messages being deferred +(due to a host being down, etc.). +.ip 10 +Database expansion (alias, forward, and userdb lookups). +.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 debugging output. +No normal site would ever set these. +.sh 2 "File Modes" +.pp +The modes used for files 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. +.pp +If you don't make +.i sendmail +setuid to root, it will still run but you lose a lot of functionality +and a lot of privacy, since you'll have to make the queue directory +world readable. +You could also make +.i sendmail +setuid to some pseudo-user +(e.g., create a user called +.q sendmail +and make +.i sendmail +setuid to that) +which will fix the privacy problems +but not the functionality issues. +Also, this isn't a guarantee of security: +for example, +root occasionally sends mail, +and the daemon often runs as root. +.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 +.b AutoRebuildAliases +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 ConnectionCacheSize +(\c +.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. +Never set this higher than 4. +.pp +The +.b ConnectionCacheTimeout +(\c +.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 +Control of host address lookups is set by the +.b hosts +service entry in your service switch file. +If you are on a system that has built-in service switch support +(e.g., Ultrix, Solaris, or DEC OSF/1) +then your system is probably configured properly already. +Otherwise, +.i sendmail +will consult the file +.b /etc/service.switch , +which should be created. +.i Sendmail +only uses two entries: +.b hosts +and +.b aliases . +.pp +However, some systems (such as SunOS) +will do DNS lookups +regardless of the setting of the service switch entry. +In particular, the system routine +.i gethostbyname (3) +is used to look up host names, +and many vendor versions try some combination of DNS, NIS, +and file lookup in /etc/hosts +without consulting a service switch. +.i Sendmail +makes no attempt to work around this problem, +and the DNS lookup will be done anyway. +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. +If the +.b hosts +switch entry has the service +.q dns +listed somewhere in the list, +.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. +.pp +The same technique is used to decide whether to do MX lookups. +If you want MX support, you +.i must +have +.q dns +listed as a service in the +.b hosts +switch entry. +.pp +The +.b ResolverOptions +(\c +.b I ) +option 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 +O ResolverOptions=+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. +You can also include +.q HasWildcardMX +to specify that there is a wildcard MX record matching your domain; +this turns off MX matching when canonifying names, +which can lead to inappropriate canonifications. +.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 being looked up +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. +.pp +To completely turn off all name server access +on systems without service switch support +(such as SunOS) +you will have to recompile with +\-DNAMED_BIND=0 +and remove \-lresolv from the list of libraries to be searched +when linking. +.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 ForwardPath +(\c +.b J ) +option allows you to set a path of forward files. +For example, the config file line +.(b +O ForwardPath=/var/forward/$u:$z/.forward.$w +.)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 +``.forward.\c +.i machinename '' +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 one of the system calls in the +.i statfs (2) +family +(including +.i statvfs +and +.i ustat ), +you can specify a minimum number of free blocks on the queue filesystem +using the +.b MinFreeBlocks +(\c +.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. +.sh 2 "Maximum Message Size" +.pp +To avoid overflowing your system with a large message, +the +.b MaxMessageSize +option can be set to set an absolute limit +on the size of any one message. +This will be advertised in the ESMTP dialogue +and checked during message collection. +.sh 2 "Privacy Flags" +.pp +The +.b PrivacyOptions +(\c +.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 +or adding extra headers to indicate possible spoof attempts. +.pp +The option takes a series of flag names; +the final privacy is the inclusive or of those flags. +For example: +.(b +O PrivacyOptions=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 flags are detailed in section +.\"XREF +5.1.6. +.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 MeToo +(\c +.b m ) +option is set in the configuration file, +this behaviour is suppressed. +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. +.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 +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 2 "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 3 "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 3 "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 in the host database(s) +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 $[ftp$] +might become +.q ftp.CS.Berkeley.EDU +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. +The +.i arguments +are passed to the map for possible use. +.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. +The +.b $> +syntax can only be used at the beginning of the right hand side; +it can be only be preceded by +.b $@ +or +.b $: . +.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, in the address +.q jgm+foo@CMU.EDU ; +the +.q +foo +part 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 3 "Semantics of rewriting rule sets" +.pp +There are five rewriting sets +that have specific semantics. +Four of these are related as depicted by figure 1. +.(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 1 \*- 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 +Ruleset three +is applied by +.i sendmail +before doing anything with any address. +.pp +If no +.q @ +sign is specified, +then the +host-domain-spec +.i may +be appended (box +.q D +in Figure 1) +from the +sender address +(if the +.b C +flag is set in the mailer definition +corresponding to the +.i sending +mailer). +.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 3 "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.: +.i +This is intended only for situations where you have a network firewall +or other host that will do special processing for all your mail, +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. +.r +.sh 2 "D \*- Define Macro" +.pp +Macros are named with a single character +or with a word in {braces}. +Single character names 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. +Long names beginning with a lower case letter or a punctuation character +are reserved for use by sendmail, +so user-defined long macro names should begin with an upper case letter. +.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 +(which may be a single character +or a word in braces) +and +.i val +is the value it should have. +There should be no spaces given +that do not actually belong in the macro value. +.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 +The origination date in RFC 822 format. +This is extracted from the Date: line. +.ip $b +The current date in RFC 822 format. +.ip $c +The hop count. +This is a count of the number of Received: lines +plus the value of the +.b \-h +command line flag. +.ip $d +The current date in UNIX (ctime) format. +.ip $e\(dg +(Obsolete; use SmtpGreetingMessage option instead.) +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 +The envelope sender (from) address. +.ip $g +The sender address relative to the recipient. +For example, if +.b $f +is +.q foo , +.b $g +will be +.q host!foo , +.q foo@host.domain , +or whatever is appropriate for the receiving mailer. +.ip $h +The recipient host. +This is set in ruleset 0 from the $# field of a parsed address. +.ip $i +The queue id, +e.g., +.q HAA12345 . +.ip $j\(dd +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 +The UUCP node name (from the uname system call). +.ip $l\(dg +(Obsolete; use UnixFromLine option instead.) +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 +The domain part of the \fIgethostname\fP return value. +Under normal circumstances, +.b $j +is equivalent to +.b $w.$m . +.ip $n\(dg +The name of the daemon (for error messages). +Defaults to +.q MAILER-DAEMON . +.ip $o\(dg +(Obsolete: use OperatorChars option instead.) +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 +Sendmail's process id. +.ip $q\(dg +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 +Protocol used to receive the message. +Set from the +.b \-p +command line flag or by the SMTP server code. +.ip $s +Sender's host name. +Set from the +.b \-p +command line flag or by the SMTP server code. +.ip $t +A numeric representation of the current time. +.ip $u +The recipient user. +.ip $v +The version number of the +.i sendmail +binary. +.ip $w\(dd +The hostname of this site. +This is the root name of this host (but see below for caveats). +.ip $x +The full name of the sender. +.ip $z +The home directory of the recipient. +.ip $_ +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 . +It can be defined in the +.sm NAME +environment variable. +The third choice is the value of the +.q Full-Name: +line in the header if it exists, +and the fourth 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. +They can be set together using the +.b \-p +command line flag or separately using the +.b \-M +or +.b \-oM +flags. +.pp +The +.b $_ +is set to a validated sender host name. +If the sender is running an RFC 1413 compliant IDENT server +and the receiver has the IDENT protocol turned on, +it will include the user name on that host. +.sh 2 "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 are named as a single letter or a word in {braces}. +Class names beginning with lower case letters +and special characters are reserved for system use. +Classes defined in config files may be given names +from the set of upper case letters for short names +or beginning with an upper case letter for long names. +.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 ``F'' form +reads the elements of the class +.i c +from the named +.i file . +.pp +Elements of classes can be accessed in rules using +.b $= +or +.b $~ . +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 +The class +.b $=t +is set to the set of trusted users by the +.b T +configuration line. +If you want to read trusted users from a file use +.b Ft \c +.i /file/name . +.pp +The class +.b $=n +can be set to the set of MIME body types +that can never be eight to seven bit encoded. +It defaults to +.q multipart/signed . +Message types +.q message/* +and +.q multipart/* +are never encoded directly. +Multipart messages are always handled recursively. +The handling of message/* messages +are controlled by class +.b $=s . +The class +.b $=e +contains the Content-Transfer-Encodings that can be 8\(->7 bit encoded. +It is predefined to contain +.q 7bit , +.q 8bit , +and +.q binary . +The class +.b $=s +contains the set of subtypes of message that can be treated recursively. +By default it contains only +.q rfc822 . +Other +.q message/* +types cannot be 8\(->7 bit encoded. +If a message containing eight bit data is sent to a seven bit host, +and that message cannot be encoded into seven bits, +it will be stripped to 7 bits. +.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 2 "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 Rewriting set(s) for sender addresses +Recipient Rewriting set(s) 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 +Userid The default user and group id to run as +Nice The nice(2) increment for the mailer +Charset The default character set for 8-bit characters +Type The MTS type information (used for error messages) +.)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. +Flags marked with \(dg +are not interpreted by the +.i sendmail +binary; +these are the conventionally used to correlate to the flags portion +of the +.b H +line. +Flags marked with \(dd +apply to the mailers for the sender address +rather than the usual recipient mailers. +.nr ii 4n +.ip a +Run Extended SMTP (ESMTP) protocol (defined in RFCs 1651, 1652, and 1653). +This flag defaults on if the SMTP greeting message includes the word +.q ESMTP . +.ip A +Look up the user part of the address in the alias database. +Normally this is only set for local mailers. +.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. +This strips addresses of the form +.q "Phrase <address>" +or +.q "address (Comment)" +down to just +.q address . +.ip C\(dd +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 envelope address +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. +However, it doesn't really work reliably. +.ip D\(dg +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\(dg +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 +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 k +Normally when +.i sendmail +connects to a host via SMTP, +it checks to make sure that this isn't accidently the same host name +as might happen if +.i sendmail +is misconfigured or if a long-haul network interface is set in loopback mode. +This flag disables the loopback check. +It should only be used under very unusual circumstances. +.ip K +Currently unimplemented. +Reserved for chunking. +.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\(dg +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 o +Always run as the owner of the recipient mailbox. +Normally +.i sendmail +runs as the sender for locally generated mail +or as +.q daemon +(actually, the user specified in the +.b u +option) +when delivering network mail. +The normal behaviour is required by most local mailers, +which will not allow the envelope sender address +to be set unless the mailer is running as daemon. +This flag is ignored if the +.b S +flag is set. +.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\(dg +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 (" and \e) 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. +If the +.b U= +field is also specified, +this flag causes the user id to always be set to that user and group +(instead of leaving it as root). +.ip u +Upper case should be preserved in user names +for this mailer. +.ip U +This mailer wants UUCP-style +.q From +lines with the ugly +.q "remote from <host>" +on the end. +.ip w +The user must have a valid account on this machine, +i.e., +getpwnam +must succeed. +If not, +the mail is bounced. +This is required to get +.q \&.forward +capability. +.ip x\(dg +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 5 +If no aliases are found for this address, +pass the address through ruleset 5 for possible alternate resolution. +This is intended to forward the mail to an alternate delivery spot. +.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. +Note that this option will only impact messages +that didn't have 8\(->7 bit MIME conversions performed. +.ip 8 +If set, +it is acceptable to send eight bit data to this mailer; +the usual attempt to do 8\(->7 bit MIME conversions will be bypassed. +.ip : +Check addresses to see if they begin +.q :include: ; +if they do, convert them to the +.q *include* +mailer. +.ip | +Check addresses to see if they begin with a `|'; +if they do, convert them to the +.q prog +mailer. +.ip / +Check addresses to see if they begin with a `/'; +if they do, convert them to the +.q *file* +mailer. +.ip @ +Look up addresses in the user database. +.pp +Configuration files prior to level 6 +assume the `A', `w', `5', `:', `|', `/', and `@' options +on the mailer named +.q local . +.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 rulesets zero or five. +.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 ruleset id +or may be two ids 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 unprivileged users +.i csh +scripts as recipients can fail. +.pp +The Userid +specifies the default user and group id to run as, +overriding the +.b DefaultUser +option (q.v.). +If the +.b S +mailer flag is also specified, +this is the user and group to run as in all circumstances. +This may be given as +.i user:group +to set both the user and group id; +either may be an integer or a symbolic name to be looked up +in the +.i passwd +and +.i group +files respectively. +If only a symbolic user name is specified, +the group id in the +.i passwd +file for that user is used as the group id. +.pp +The Charset field +is used when converting a message to MIME; +this is the character set used in the +Content-Type: header. +If this is not set, the +.b DefaultCharset +option is used, +and if that is not set, the value +.q unknown-8bit +is used. +.b WARNING: +this field applies to the sender's mailer, +not the recipient's mailer. +For example, if the envelope sender address +lists an address on the local network +and the recipient is on an external network, +the character set will be set from the Charset= field +for the local network mailer, +not that of the external network mailer. +.pp +The Type= field +sets the type information +used in MIME error messages +as defined by +RFC XXX +(not yet published). +It is actually three values separated by slashes: +the MTA-type (that is, the description of how hosts are named), +the address type (the description of e-mail addresses), +and the diagnostic type (the description of error diagnostic codes). +Each of these must be a registered value +or begin with +.q X\- . +The default is +.q dns/rfc822/smtp . +.sh 2 "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 later. +.sh 2 "O \*- Set Option" +.pp +There are a number of +global +options that +can be set from a configuration file. +Options are represented by full words; +some are also representable as single characters +for back compatibility. +The syntax of this line is: +.(b F +.b O \0 +.i option \c +.b = \c +.i value +.)b +This sets option +.i option +to be +.i value . +Note that there +.i must +be a space between the letter `O' and the name of the option. +An older version is: +.(b F +.b O \c +.i o\|value +.)b +where the option +.i o +is a single character. +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 (with the old, one character names in brackets) are: +.nr ii 1i +.ip "AliasFile=\fIspec, spec, ...\fP" +[A] +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 AliasWait=\fItimeout\fP +[a] +If set, +wait up to +.i timeout +(units default to minutes) +for an +.q @:@ +entry to exist in the alias database +before starting up. +If it does not appear in the +.i timeout +interval +rebuild the database +(if the +.b AutoRebuildAliases +option is also set) +or issue a warning. +.ip AutoRebuildAliases +[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 . +Not recommended \(em can cause thrashing. +.ip BlankSub=\fIc\fP +[B] +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 CheckAliases +[n] +Validate the RHS of aliases when rebuilding the alias database. +.ip CheckpointInterval=\fIN\fP +[C] +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 ClassFactor=\fIfact\fP +[z] +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 ColonOkInAddr +[no short name] +If set, colons are acceptable in e-mail addresses +(e.g., +.q host:user ). +If not set, colons indicate the beginning of a RFC 822 group construct +(\c +.q "groupname: member1, member2, ... memberN;" ). +Doubled colons are always acceptable +(\c +.q nodename::user ) +and proper route-addr nesting is understood +(\c +.q <@relay:user@host> ). +Furthermore, this option defaults on if the configuration version level +is less than 6 (for back compatibility). +However, it must be off for full compatibility with RFC 822. +.ip ConnectionCacheSize=\fIN\fP +[k] +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. +Since this consumes file descriptors, +the connection cache should be kept small: +4 is probably a practical maximum. +.ip ConnectionCacheTimeout=\fItimeout\fP +[K] +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 RSET 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 DaemonPortOptions=\fIoptions\fP +[O] +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) +SndBufSize Size of TCP send buffer +RcvBufSize Size of TCP receive buffer +.)b +The +.i Addr ess +mask may be a numeric address in dot notation +or a network name. +.ip DefaultCharSet=\fIcharset\fP +[no short name] +When a message that has 8-bit characters but is not in MIME format +is converted to MIME +(see the EightBitMode option) +a character set must be included in the Content-Type: header. +This character set is normally set from the Charset= field +of the mailer descriptor. +If that is not set, the value of this option is used. +If this option is not set, the value +.q unknown-8bit +is used. +.ip DefaultUser=\fIuser:group\fP +[u] +Set the default userid for mailers to +.i user:group . +If +.i group +is omitted and +.i user +is a user name +(as opposed to a numeric user id) +the default group listed in the /etc/passwd file for that user is used +as the default group. +Both +.i user +and +.i group +may be numeric. +Mailers without the +.i S +flag in the mailer definition +will run as this user. +Defaults to 1:1. +The value can also be given as a symbolic user name.\** +.(f +\**The old +.b g +option has been combined into the +.b DefaultUser +option. +.)f +.ip DeliveryMode=\fIx\fP +[d] +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) +d Defer delivery and all map lookups (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''). +The +.b \-v +command line flag sets this to +.b i . +.ip DialDelay=\fIsleeptime\fP +[no short name] +Dial-on-demand network connections can see timeouts +if a connection is opened before the call is set up. +If this is set to an interval and a connection times out +on the first connection being attempted +.i sendmail +will sleep for this amount of time and try again. +This should give your system time to establish the connection +to your service provider. +Units default to seconds, so +.q DialDelay=5 +uses a five second delay. +Defaults to zero +(no retry). +.ip DontExpandCnames +[no short name] +The standards say that all host addresses used in a mail message +must be fully canonical. +For example, if your host is named +.q Cruft.Foo.ORG +and also has an alias of +.q FTP.Foo.ORG , +the former name must be used at all times. +This is enforced during host name canonification +($[ ... $] lookups). +If this option is set, the protocols are ignored and the +.q wrong +thing is done. +However, the IETF is moving toward changing this standard, +so the behaviour may become acceptable. +Please note that hosts downstream may still rewrite the address +to be the true canonical name however. +.ip DontInitGroups +[no short name] +If set, +.i sendmail +will avoid using the initgroups(3) call. +If you are running NIS, +this causes a sequential scan of the groups.byname map, +which can cause your NIS server to be badly overloaded in a large domain. +The cost of this is that the only group found for users +will be their primary group (the one in the password file), +which will make file access permissions somewhat more restrictive. +Has no effect on systems that don't have group lists. +.ip DontPruneRoutes +[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,@known3:user@unknown> +.)b +.i sendmail +will strip off the +.q @known1,@known2 +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 EightBitMode=\fIaction\fP +[8] +Set handling of eight-bit data. +There are two kinds of eight-bit data: +that declared as such using the +.b BODY=8BITMIME +ESMTP declaration or the +.b \-B8BITMIME +command line flag, +and undeclared 8-bit data, that is, +input that just happens to be eight bits. +There are three basic operations that can happen: +undeclared 8-bit data can be automatically converted to 8BITMIME, +undeclared 8-bit data can be passed as-is without conversion to MIME +(``just send 8''), +and declared 8-bit data can be converted to 7-bits +for transmission to a non-8BITMIME mailer. +The possible +.i action s +are: +.(b +.\" r Reject undeclared 8-bit data; +.\" don't convert 8BITMIME\(->7BIT (``reject'') + s Reject undeclared 8-bit data (``strict'') +.\" do convert 8BITMIME\(->7BIT (``strict'') +.\" c Convert undeclared 8-bit data to MIME; +.\" don't convert 8BITMIME\(->7BIT (``convert'') + m Convert undeclared 8-bit data to MIME (``mime'') +.\" do convert 8BITMIME\(->7BIT (``mime'') +.\" j Pass undeclared 8-bit data; +.\" don't convert 8BITMIME\(->7BIT (``just send 8'') + p Pass undeclared 8-bit data (``pass'') +.\" do convert 8BITMIME\(->7BIT (``pass'') +.\" a Adaptive algorithm: see below +.)b +.\"The adaptive algorithm is to accept 8-bit data, +.\"converting it to 8BITMIME only if the receiver understands that, +.\"otherwise just passing it as undeclared 8-bit data; +.\"8BITMIME\(->7BIT conversions are done. +In all cases properly declared 8BITMIME data will be converted to 7BIT +as needed. +.ip ErrorHeader=\fIfile-or-message\fP +[E] +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 ErrorMode=\fIx\fP +[e] +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 FallbackMXhost=\fIfallbackhost\fP +[V] +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 ForkEachJob +[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 ForwardPath=\fIpath\fP +[J] +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 HelpFile=\fIfile\fP +[H] +Specify the help file +for SMTP. +.ip HoldExpensive +[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 IgnoreDots +[i] +Ignore dots in incoming messages. +This is always disabled (that is, dots are always accepted) +when reading SMTP mail. +.ip LogLevel=\fIn\fP +[L] +Set the default log level to +.i n . +Defaults to 9. +.ip M\fIx\|value\fP +[no long version] +Set the macro +.i x +to +.i value . +This is intended only for use from the command line. +The +.b \-M +flag is preferred. +.ip MatchGECOS +[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 MaxHopCount=\fIN\fP +[h] +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 MaxHostStatAge=\fIage\fP +[no short name] +Not yet implemented. +This option specifies how long host status information will be retained. +For example, if a host is found to be down, +connections to that host will not be retried for this interval. +The units default to minutes. +.ip MaxQueueRunSize=\fIN\fP +[no short name] +The maximum number of jobs that will be processed +in a single queue run. +If not set, there is no limit on the size. +If you have very large queues or a very short queue run interval +this could be unstable. +However, since the first +.i N +jobs in queue directory order are run (rather than the +.i N +highest priority jobs) +this should be set as high as possible to avoid +.q losing +jobs that happen to fall late in the queue directory. +.ip MeToo +[m] +Send to me too, +even if I am in an alias expansion. +.ip MaxMessageSize=\fIN\fP +[no short name] +Specify the maximum message size +to be advertised in the ESMTP EHLO response. +Messages larger than this will be rejected. +.ip MinFreeBlocks=\fIN\fP +[b] +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. +.ip MinQueueAge=\fPage\fP +[no short name] +Don't process any queued jobs +that have been in the queue less than the indicated time interval. +This is intended to allow you to get responsiveness +by processing the queue fairly frequently +without thrashing your system by trying jobs too often. +The default units are minutes. +.ip NoRecipientAction +[no short name] +The action to take when you receive a message that has no valid +recipient headers (To:, Cc:, Bcc:). +It can be +.b None +to pass the message on unmodified, +which violates the protocol, +.b Add-To +to add a To: header with any recipients it can find in the envelope +(which might expose Bcc: recipients), +.b Add-Apparently-To +to add an Apparently-To: header +(this is only for back-compatibility +and is officially deprecated), +.b Add-To-Undisclosed +to add a header +.q "To: undisclosed-recipients:;" +to make the header legal without disclosing anything, +or +.b Add-Bcc +to add an empty Bcc: header. +.ip OldStyleHeaders +[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. +Defaults to off. +.ip OperatorChars=\fIcharlist\fP +[$o macro] +The list of characters that are considered to be +.q operators , +that is, characters that delimit tokens. +All operator characters are tokens by themselves; +sequences of non-operator characters are also tokens. +White space characters separate tokens +but are not tokens themselves \(em for example, +.q AAA.BBB +has three tokens, but +.q "AAA BBB" +has two. +If not set, OperatorChars defaults to +.q \&.\|:\|@\|[\|] ; +additionally, the characters +.q (\|)\|<\|>\|,\|; +are always operators. +.ip PostmasterCopy=\fIpostmaster\fP +[P] +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. +Defaults to no postmaster copies. +.ip PrivacyOptions=\fI\|opt,opt,...\fP +[p] +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 Don't return success DSNs +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 QueueDirectory=\fIdir\fP +[Q] +Use the named +.i dir +as the queue directory. +.ip QueueFactor=\fIfactor\fP +[q] +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 QueueLA +option) +to determine the maximum message priority +that will be sent. +Defaults to 600000. +.ip QueueLA=\fILA\fP +[x] +When the system load average exceeds +.i LA , +just queue messages +(i.e., don't try to send them). +Defaults to 8. +.ip QueueSortOrder=\fIalgorithm\fP +[no short name] +Sets the +.i algorithm +used for sorting the queue. +Only the first character of the value is used. +Legal values are +.q host +(to order by the name of the first host name of the first recipient) +and +.q priority +(to order strictly by message priority). +Host ordering makes better use of the connection cache, +but may tend to process low priority messages +that go to a single host +over high priority messages that go to several hosts; +it probably shouldn't be used on slow network links. +Priority ordering is the default. +.ip ResolverOptions=\fIoptions\fP +[I] +Set resolver options. +Values can be set using +.b + \c +.i flag +and cleared using +.b \- \c +.i flag ; +the +.i flag s +can be +.q debug , +.q aaonly , +.q usevc , +.q primary , +.q igntc , +.q recurse , +.q defnames , +.q stayopen , +or +.q dnsrch . +The string +.q HasWildcardMX +(without a +.b + +or +.b \- ) +can be specified to turn off matching against MX records +when doing name canonifications. +.b N.B. +Prior to 8.7, +this option indicated that the name server be responding +in order to accept addresses. +This has been replaced by checking to see +if the +.q dns +method is listed in the service switch entry for the +.q hosts +service. +.ip SmtpGreetingMessage=\fImessage\fP +[$e macro] +The message printed when the SMTP server starts up. +Defaults to +.q "$j Sendmail $v ready at $b". +.ip Timeout.\fItype\fP=\|\fItimeout\fP +[r; subsumes old T option as well] +Set timeout values. +The actual timeout is indicated by the +.i type . +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] +ident IDENT protocol timeout [30s, none] +fileopen\(dg timeout on opening .forward and :include: files [60s, none] +command\(dg command read [1h, 5m] +queuereturn\(dg how long until a message is returned [5d, 5d] +queuewarn\(dg how long until a warning is sent [none, none] +.)b +All but those marked with a dagger (\(dg) +apply to client SMTP. +If the message is submitted using the +.sm NOTIFY +.sm SMTP +extension, +warning messages will only be sent if +.sm NOTIFY=DELAY +is specified. +The queuereturn and queuewarn timeouts +can be further qualified with a tag based on the Precedence: field +in the message; +they must be one of +.q urgent +(indicating a positive non-zero precedence) +.q normal +(indicating a zero precedence), or +.q non-urgent +(indicating negative precedences). +For example, setting +.q Timeout.queuewarn.urgent=1h +sets the warning timeout for urgent messages only +to one hour. +The default if no precedence is indicated +is to set the timeout for all precedences. +.ip RecipientFactor=\fIfact\fP +[y] +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 RefuseLA=\fILA\fP +[X] +When the system load average exceeds +.i LA , +refuse incoming SMTP connections. +Defaults to 12. +.ip RetryFactor=\fIfact\fP +[Z] +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 SaveFromLine +[f] +Save +Unix-style +.q From +lines at the front of headers. +Normally they are assumed redundant +and discarded. +.ip SendMIMEErrors +[j] +If set, send error messages in MIME format +(see RFC1521 and RFC1344 for details). +.ip ServiceSwitchFile=\fIfilename\fP +[no short name] +If your host operating system has a service switch abstraction +(e.g., /etc/nsswitch.conf on Solaris +or /etc/svc.conf on Ultrix and DEC OSF/1) +that service will be consulted and this option is ignored. +Otherwise, this is the name of a file +that provides the list of methods used to implement particular services. +The syntax is a series of lines, +each of which is a sequence of words. +The first word is the service name, +and following words are service types. +The services that +.i sendmail +consults directly are +.q aliases +and +.q hosts. +Service types can be +.q dns , +.q nis , +.q nisplus , +or +.q files +(with the caveat that the appropriate support +must be compiled in +before the service can be referenced). +If ServiceSwitchFile is not specified, it defaults to /etc/service.switch. +If that file does not exist, the default switch is: +.(b +aliases files +hosts dns nis files +.)b +The default file is +.q /etc/service.switch . +.ip SevenBitInput +[7] +Strip input to seven bits for compatibility with old systems. +This shouldn't be necessary. +.ip StatusFile=\fIfile\fP +[S] +Log summary statistics in the named +.i file . +If not set, +no summary statistics are saved. +This file does not grow in size. +It can be printed using the +.i mailstats (8) +program. +.ip SuperSafe +[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. +This should really +.i always +be set. +.ip TempFileMode=\fImode\fP +[F] +The file mode for queue files. +It is interpreted in octal by default. +Defaults to 0600. +.ip TimeZoneSpec=\fItzinfo\fP +[t] +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 TryNullMXList +[w] +If this system is the +.q best +(that is, lowest preference) +MX for a given host, +its configuration rules 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 UnixFromLine=\fIfromline\fP +[$l macro] +Defines the format used when +.i sendmail +must add a UNIX-style From_ line +(that is, a line beginning +.q From<space>user ). +Defaults to +.q "From $g $d" . +Don't change this unless your system uses a different UNIX mailbox format +(very unlikely). +.ip UseErrorsTo +[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. +This option is disrecommended and deprecated. +.ip UserDatabaseSpec=\fIudbspec\fP +[U] +The user database specification. +.ip Verbose +[v] +Run in verbose mode. +If this is set, +.i sendmail +adjusts options +.b HoldExpensive +(old +.b c ) +and +.b DeliveryMode +(old +.b d ) +so that all mail is delivered completely +in a single job +so that you can see the entire delivery process. +Option +.b Verbose +should +.i never +be set in the configuration file; +it is intended for command line use only. +.lp +All options can be specified on the command line using the +\-O or \-o flag, +but most will cause +.i sendmail +to relinquish its setuid permissions. +The options that will not cause this are +MinFreeBlocks [b], +DeliveryMode [d], +ErrorMode [e], +IgnoreDots [i], +LogLevel [L], +MeToo [m], +OldStyleHeaders [o], +PrivacyOptions [p], +Timeouts [r], +SuperSafe [s], +Verbose [v], +CheckpointInterval [C], +and +SevenBitInput [7]. +Also, M (define macro) when defining the r or s macros +is also considered +.q safe . +.sh 2 "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 2 "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.7) +used version level 6 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 +Version level six configuration files +change many of the local processing options +(such as aliasing and matching the beginning of the address for +`|' characters) +to be mailer flags; +this allows fine-grained control over the special local processing. +Level six configuration files may also use long option names. +The +.b ColonOkInAddr +option (to allow colons in the local-part of addresses) +defaults +.b on +for lower numbered configuration files; +the configuration file requires some additional intelligence +to properly handle the RFC 822 group construct. +.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 . +Please send e-mail to sendmail@CS.Berkeley.EDU +to register your vendor dialect. +.)f +You may use +.q /Berkeley +to emphasize that this configuration file +uses the Berkeley dialect of +.i sendmail . +.sh 2 "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 many defined classes. +.ip dbm +Database lookups using the ndbm(3) library. +.i Sendmail +must be compiled with +.b NDBM +defined. +.ip btree +Database lookups using the btree interface to the Berkeley db(3) library. +.i Sendmail +must be compiled with +.b NEWDB +defined. +.ip hash +Database lookups using the hash interface to the Berkeley db(3) library. +.i Sendmail +must be compiled with +.b NEWDB +defined. +.ip nis +NIS lookups. +.i Sendmail +must be compiled with +.b NIS +defined. +.ip nisplus +NIS+ lookups. +.i Sendmail +must be compiled with +.b NISPLUS +defined. +The argument is the name of the table to use for lookups, +and the +.b \-k +and +.b \-v +flags may be used to set the key and value columns respectively. +.ip hesiod +Hesiod lookups. +.i Sendmail +must be compiled with +.b HESIOD +defined. +.ip netinfo +NeXT NetInfo lookups. +.i Sendmail +must be compiled with +.b NETINFO +defined. +.ip text +Text file lookups. +The format of the text file is defined by the +.b \-k +(key field number), +.b \-v +(value field number), +and +.b \-z +(field delimiter) +flags. +.ip stab +Internal symbol table lookups. +Used internally for aliasing. +.ip implicit +Really should be called +.q alias +\(em this is used to get the default lookups +for alias files, +and is the default if no class is specified for alias files. +.ip user +Looks up users using +.i getpwnam (3). +The +.b \-v +flag can be used to specify the name of the field to return +(although this is normally used only to check the existence +of a user). +.ip host +Canonifies host domain names. +Given a host name it calls the name server +to find the canonical name for that host. +.ip sequence +The arguments on the `K' line are a list of maps; +the resulting map searches the argument maps in order +until it finds a match for the indicated key. +For example, if the key definition is: +.(b +Kmap1 ... +Kmap2 ... +Kseqmap sequence map1 map2 +.)b +then a lookup against +.q seqmap +first does a lookup in map1. +If that is found, it returns immediately. +Otherwise, the same key is used for map2. +.ip switch +Much like the +.q sequence +map except that the order of maps is determined by the service switch. +The argument is the name of the service to be looked up; +the values from the service switch are appended to the map name +to create new map names. +For example, consider the key definition: +.(b +Kali switch aliases +.)b +together with the service switch entry: +.(b +aliases nis files +.)b +This causes a query against the map +.q ali +to search maps named +.q ali.nis +and +.q ali.files +in that order. +.ip dequote +Strip double quotes (") from a name. +It does not strip backslashes, +and 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 +Most of these 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, \-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 +.b \-N +is specified it never tries without a null byte and +if +.b \-O +is specified it never tries with a null byte. +Setting one of +these can speed matches but are 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. +.ip "\-k\fIkeycol\fP" +The key column name (for NIS+) or number +(for text lookups). +.ip "\-v\fIvalcol\fP" +The value column name (for NIS+) or number +(for text lookups). +.ip "\-z\fIdelim\fP" +The column delimiter (for text lookups). +It can be a single character or one of the special strings +.q \|\en +or +.q \|\et +to indicate newline or tab respectively. +If omitted entirely, +the column separator is any sequence of whitespace. +.ip "\-s\fIspacesub\fP +For the dequote map only, +the character to use to replace space characters +after a successful dequote. +.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 +Do not 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. +Since the maps are already open +the new maps will never be seen. +.)f +.pp +New classes can be added in the routine +.b setupmaps +in file +.b conf.c . +.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 UserDatabaseSpec +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. +In most cases this should be unnecessary +unless you are porting +.i sendmail +to a new environment. +.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 +an alias file includes the substring +.q /yp/ +in the name. +This is intended for compatibility with Sun Microsystems' +.i mkalias +program used on YP masters. +.ip NISPLUS +Compile in support for NIS+. +.ip NETINFO +Compile in support for NetInfo (NeXT stations). +.ip HESIOD +Compile in support for Hesiod. +.ip _PATH_SENDMAILCF +The pathname of the sendmail.cf file. +.ip _PATH_SENDMAILPID +The pathname of the sendmail.pid file. +.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. +.pp +This document is not the best source of information +for compilation flags in conf.h \(em +see src/READ_ME or src/conf.h itself. +.nr ii 1.2i +.ip "MAXLINE [2048]" +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 [200]" +The maximum number of rewriting sets +that may be defined. +The first half of these are reserved for numeric specification +(e.g., ``S92''), +while the upper half are reserved for auto-numbering +(e.g., ``Sfoo''). +Thus, with a value of 200 an attempt to use ``S99'' will succeed, +but ``S100'' will fail. +.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 [100]" +The maximum number of items in the user environment +that will be passed to subordinate mailers. +.ip "MAXMXHOSTS [20]" +The maximum number of MX records we will accept for any single host. +.ip "MAXALIASDB [12]" +The maximum number of alias databases that can be open at any time. +Note that there may also be an open file limit. +.ip "MAXMAPSTACK [12]" +The maximum number of maps that may be "stacked" in a +.b sequence +class map. +.ip "MAXMIMEARGS [20]" +The maximum number of arguments in a MIME Content-Type: header; +additional arguments will be ignored. +.ip "MAXMIMENESTING [20]" +The maximum depth to which MIME messages may be nested +(that is, nested Message or Multipart documents; +this does not limit the number of components in a single Multipart document). +.lp +A number of other compilation options exist. +These specify whether or not specific code should be compiled in. +Ones marked with \(dg +are 0/1 valued. +.nr ii 1.2i +.ip NETINET\(dg +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. +Defaults on; +turn it off in the Makefile +if your system doesn't support the Internet protocols. +.ip NETISO\(dg +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. +.b "STRONGLY RECOMMENDED" +\(em if you want no logging, turn it off in the configuration file. +.ip MATCHGECOS\(dg +Compile in the code to do ``fuzzy matching'' on the GECOS field +in /etc/passwd. +This also requires that the +.b MatchGECOS +option be turned on. +.ip NAMED_BIND\(dg +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 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 USERDB\(dg +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. +.lp +The following options are normally turned on +in per-operating-system clauses in conf.h. +.ip IDENTPROTO\(dg +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. +.ip SYSTEM5 +Set all of the compilation parameters appropriate for System V. +.ip HASFLOCK\(dg +Use Berkeley-style +.b flock +instead of System V +.b lockf +to do file locking. +Due to the highly unusual semantics of locks +across forks in +.b lockf , +this should always be used if at all possible. +.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 HASGETDTABLESIZE +Set this if you have the +.i getdtablesize (2) +system call. +.ip HASWAITPID +Set this if you have the +.i haswaitpid (2) +system call. +.ip SFS_TYPE +The mechanism that can be used to get file system capacity information. +The values can be one of +SFS_USTAT (use the ustat(2) syscall), +SFS_4ARGS (use the four argument statfs(2) syscall), +SFS_VFS (use the two argument statfs(2) syscall including <sys/vfs.h>), +SFS_MOUNT (use the two argument statfs(2) syscall including <sys/mount.h>), +SFS_STATFS (use the two argument statfs(2) syscall including <sys/statfs.h>), +SFS_STATVFS (use the two argument statfs(2) syscall including <sys/statvfs.h>), +or +SFS_NONE (no way to get this information). +.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 ). +.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. +.ip H_ERRORSTO +Addresses in this header should receive error messages. +.ip H_CTE +This header is a Content-Transfer-Encoding header. +.ip H_CTYPE +This header is a Content-Type header. +.ip H_STRIPVAL +Strip the value from the header (for Bcc:). +.nr ii 5n +.lp +Let's look at a sample +.i HdrInfo +specification: +.(b +.ta 4n +\w'"content-transfer-encoding", '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, + "errors-to", H_FROM\^|\^H_ERRORSTO, + /* destination fields */ + "to", H_RCPT, + "resent-to", H_RCPT, + "cc", H_RCPT, + "bcc", H_RCPT\^|\^H_STRIPVAL, + /* message identification and control */ + "message", H_EOH, + "text", H_EOH, + /* trace fields */ + "received", H_TRACE\^|\^H_FORCE, + /* miscellaneous fields */ + "content-transfer-encoding", H_CTE, + "content-type", H_CTYPE, + + 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 && bitnset(M_LOCALMAILER, to\->q_mailer)) + { + usrerr("Message too large for non-local delivery"); + e\->e_flags |= EF_NORETURN; + return (EX_UNAVAILABLE); + } + return (EX_OK); +} +.sz +.)b +This would reject messages greater than 50000 bytes +unless they were local. +The +.i EF_NORETURN +flag can be set in +.i e\(->e_flags +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 several 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); + 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. +If you are porting to a new environment +you may need to add some new tweaks.\** +.(f +\**If you do, please send updates to +sendmail@CS.Berkeley.EDU. +.)f +.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). +For a detailed list, +consult the file +RELEASE_NOTES +in the root directory of the +.i sendmail +distribution. +.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 1651 (basic) and RFC 1653 (SIZE); +and limited support for RFC 1652 (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. +.pp +The +.b \-O +flag simplies setting long-form options. +.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 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. +It also has a +.q U= +field to allow you to set the user and group id to be used +when running the mailer. +.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. +.ip 8 +Eight bit data handling mode. +.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 A +Try the user part of addresses for this mailer as aliases. +.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 k +Turn off the loopback check in the HELO protocol; +doing this may cause mailer loops. +.ip o +Always run the mailer as the recipient of the message. +.ip w +This user should have a passwd file entry. +.ip 5 +Try ruleset 5 if no local aliases. +.ip 7 +Strip all output to 7 bits. +.ip : +Check for :include: files. +.ip | +Check for |program addresses. +.ip / +Check for /file addresses. +.ip @ +Check this user against the user database. +.sh 2 "Long Option Names" +.pp +All options can be specified using long names, +and some new options can only be specified with long names. +.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 +the University of California at Berkeley, +at Britton Lee, +and again on the Mammoth and Titan Projects 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 +John Beck, Hewlett-Packard +Keith Bostic, CSRG, University of California, Berkeley +Andrew Cheng, Sun Microsystems +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 +Motonori Nakamura, Ritsumeikan University & 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, Pasteur Institute & Herve Schauer Consultants (Paris) +.)l +I apologize for anyone I have omitted, misspelled, misattributed, or +otherwise missed. +At this point, I suspect that at least a hundred people +have contributed code, +and many more have contributed ideas, comments, and encouragement. +I've tried to list them in the RELEASE_NOTES in the distribution directory. +I appreciate their contribution as well. +.pp +Special thanks are reserved for Michael Corrigan and Christophe Wolfhugel, +who besides being wonderful guinea pigs and contributors +have also consented to be added to the ``sendmail@CS.Berkeley.EDU'' list +and, by answering the bulk of the questions sent to that list, +have freed me up to do other work. +.++ 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 +a\(dg ``Arpanet'' mode (get envelope sender information from header) +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 +.(f +\(dgDeprecated. +.)f +.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 Section 5.6. +.ip \-O\fIoption\fP\fB=\fP\fIvalue\fP +Set +.i option +to the specified +.i value +(for long form option names). +These options are described in Section 5.6. +.ip \-M\fIx\|value +Set macro +.i x +to the specified +.i value . +.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 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 V +The version number of the queue file format, +used to allow new +.i sendmail +binaries to read queue files created by older versions. +Defaults to version zero. +Must be the first line of the file if present. +.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 Q +The ``original recipient'', +specified by the ORCPT= field in an ESMTP transaction. +Used exclusively for Delivery Status Notifications. +It applies only to the immediately following `R' line. +.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. +Version 1 qf files +also include a leading colon-terminated list of flags, +which can be +`S' to return a message on successful final delivery, +`F' to return a message on failure, +`D' to return a message if the message is delayed, +`B' to indicate that the body should be returned, +`N' to suppress returning the body, +and +`P' to declare this as a ``primary'' (command line or SMTP-session) address. +.ip S +The sender address. +There may only be one of these lines. +.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 N +The total number of delivery attempts. +.ip K +The time (as seconds since January 1, 1970) +of the last delivery attempt. +.ip I +The i-number of the data file; +this can be used to recover your mail queue +after a disastrous disk crash. +.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 . +.ip O +The original MTS value (from the ESMTP transaction). +For Deliver Status Notifications only. +.ip Z +The original envelope id (from the ESMTP transaction). +For Deliver Status Notifications only. +.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 +Seric +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 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.70 +.\".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 0000000000000..355b3fc8c9a94 --- /dev/null +++ b/usr.sbin/sendmail/doc/op/op.ps @@ -0,0 +1,5944 @@ +%!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: 69 +%%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 -.15(Pa)233.085 208.2 S +(ng\346a Reference Systems).15 E(eric@Sendmail.ORG)245.205 220.2 Q -1.11(Ve) +262.725 244.2 S(rsion 8.70)1.11 E -.15(Fo)236.965 268.2 S 2.5(rS).15 G +(endmail V)258.765 268.2 Q(ersion 8.7)-1.11 E/F3 10/Times-Italic@0 SF(Sendmail) +97 312.6 Q F2 .482(implements a general purpose internetw)2.982 F .482 +(ork mail routing f)-.1 F .481(acility under the UNIX\256 operat-)-.1 F .378 +(ing system.)72 324.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 324.6 R .378 +(ened to a crossbar switch,)-.1 F 1.036 +(relaying messages from one domain into another)72 336.6 R 6.036(.I)-.55 G +3.536(nt)284.502 336.6 S 1.036 +(he process, it can do a limited amount of message)295.818 336.6 R .604(header\ + editing to put the message into a format that is appropriate for the recei)72 +348.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 360.6 Q .711 +(Due to the requirements of \215e)97 376.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 376.8 R .71(what unap-)-.25 F 2.893(proachable. Ho)72 388.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 388.8 R .646(ration \214les ha)72 400.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 412.8 Q(.)-.65 E F3(Sendmail)97 429 Q F2 .15 +(is based on RFC821 \(Simple Mail T)2.65 F .15 +(ransport Protocol\), RFC822 \(Internet Mail F)-.35 F .15(ormat Pro-)-.15 F +.423(tocol\), RFC1123 \(Internet Host Requirements\), RFC1521 \(MIME\), RFC165\ +1 \(SMTP Service Extensions\),)72 441 R .994 +(and a series of as-yet-draft standards describing Deli)72 453 R -.15(ve)-.25 G +.995(ry Status Noti\214cations \(DSNs\), a).15 F -.25(va)-.2 G .995 +(ilable from the).25 F 1.529 +(internet drafts sites as draft-ietf-notary-mime-deli)72 465 R -.15(ve)-.25 G +(ry-).15 E F3(XX)A F2 1.528(.txt, draft-ietf-notary-mime-report-)B F3(XX)A F2 +1.528(.txt, draft-)B(ietf-notary-smtp-drpt-)72 477 Q F3(XX)A F2 1.93 +(.txt, and draft-ietf-notary-status-)B F3(XX)A F2 1.93(.txt \(replace)B F3(XX) +4.43 E F2 1.93(by the latest draft number\).)4.43 F(Ho)72 489 Q(we)-.25 E -.15 +(ve)-.25 G .831 -.4(r, s).15 H(ince).4 E F3(sendmail)2.531 E F2 .031 +(is designed to w)2.531 F .031(ork in a wider w)-.1 F .03(orld, in man)-.1 F +2.53(yc)-.15 G .03(ases it can be con\214gured to e)365.12 489 R(xceed)-.15 E +(these protocols.)72 501 Q(These cases are described herein.)5 E(Although)97 +517.2 Q F3(sendmail)3.547 E F2 1.048(is intended to run without the need for m\ +onitoring, it has a number of features)3.547 F 1.972(that may be used to monit\ +or or adjust the operation under unusual circumstances.)72 529.2 R 1.972 +(These features are)6.972 F(described.)72 541.2 Q .816 +(Section one describes ho)97 557.4 R 3.316(wt)-.25 G 3.316(od)211.664 557.4 S +3.316(oab)224.98 557.4 S(asic)246.052 557.4 Q F3(sendmail)3.316 E F2 3.317 +(installation. Section)3.317 F(tw)3.317 E 3.317(oe)-.1 G .817 +(xplains the day-to-day)412.936 557.4 R .283(information you should kno)72 +569.4 R 2.783(wt)-.25 G 2.783(om)196.772 569.4 S .282 +(aintain your mail system.)212.335 569.4 R .282(If you ha)5.282 F .582 -.15 +(ve a r)-.2 H(elati).15 E -.15(ve)-.25 G .282(ly normal site, these tw).15 F(o) +-.1 E .634(sections should contain suf)72 581.4 R .635 +(\214cient information for you to install)-.25 F F3(sendmail)3.135 E F2 .635 +(and k)3.135 F .635(eep it happ)-.1 F 4.435 -.65(y. S)-.1 H .635(ection three) +.65 F .925(describes some parameters that may be safely tweak)72 593.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 .885(mand line ar)72 605.4 R 3.385(guments. Section)-.18 +F<8c76>3.385 E 3.385(ec)-.15 G .886 +(ontains the nitty-gritty information about the con\214guration \214le.)221.915 +605.4 R(This)5.886 E .005 +(section is for masochists and people who must write their o)72 617.4 R .004 +(wn con\214guration \214le.)-.25 F .004(Section six describes con-)5.004 F .886 +(\214guration that can be done at compile time.)72 629.4 R .886(Section se) +5.886 F -.15(ve)-.25 G 3.386(ng).15 G -2.15 -.25(iv e)322.098 629.4 T 3.386 +(sab).25 G .886(rief description of dif)354.02 629.4 R .886(ferences in this) +-.25 F -.15(ve)72 641.4 S 1.62(rsion of).15 F F3(sendmail)4.12 E F2 6.62(.T)C +1.62(he appendix)169.2 641.4 R 1.62(es gi)-.15 F 1.92 -.15(ve a b)-.25 H 1.619 +(rief b).15 F 1.619(ut detailed e)-.2 F 1.619 +(xplanation of a number of features not)-.15 F +(described in the rest of the paper)72 653.4 Q(.)-.55 E/F4 10/Times-Bold@0 SF +-1.2(WA)97 669.6 S(RNING:)1.2 E F2(Se)3.267 E -.15(ve)-.25 G .767 +(ral major changes were introduced in v).15 F .767(ersion 8.7.)-.15 F -1.1(Yo) +5.767 G 3.267(us)1.1 G .767(hould not attempt to use)404.26 669.6 R +(this document for prior v)72 681.6 Q(ersions of)-.15 E F3(sendmail)2.5 E F2(.) +A F4(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 .179 +(pile by typing \231mak)102 304.8 R 2.679(e\232. On)-.1 F .179 +(other systems, you may ha)2.679 F .479 -.15(ve t)-.2 H 2.679(om).15 G(ak) +350.719 304.8 Q 2.679(es)-.1 G .178(ome other adjustments.)371.068 304.8 R .178 +(On most)5.178 F(systems, you can do the appropriate compilation by typing)102 +316.8 Q(sh mak)142 333 Q(esendmail)-.1 E .364(This will lea)102 349.2 R .664 +-.15(ve t)-.2 H .364(he binary in an appropriately named subdirectory).15 F +5.364(.I)-.65 G 2.864(tw)377.37 349.2 S .364(orks for multiple object v)390.134 +349.2 R(er)-.15 E(-)-.2 E(sions compiled out of the same directory)102 361.2 Q +(.)-.65 E F0 2.5(1.1.1. T)102 385.2 R(weaking the Mak)-.74 E(e\214le)-.1 E F2 +(Sendmail)142 401.4 Q F1 2.181(supports tw)4.681 F 4.681(od)-.1 G(if)247.053 +401.4 Q 2.181(ferent formats for the local \(on disk\) v)-.25 F 2.18 +(ersion of databases,)-.15 F(notably the)117 413.4 Q F2(aliases)2.5 E F1 2.5 +(database. At)2.5 F(least one of these should be de\214ned if at all possible.) +2.5 E 39.5(NDBM The)117 429.6 R -.74(``)3.166 G(ne).74 E 3.166(wD)-.25 G(BM') +240.432 429.6 Q 3.166('f)-.74 G .666(ormat, a)268.408 429.6 R -.25(va)-.2 G +.666(ilable on nearly all systems around today).25 F 5.667(.T)-.65 G(his)492.33 +429.6 Q -.1(wa)189 441.6 S 3.541(st).1 G 1.041 +(he preferred format prior to 4.4BSD.)210.771 441.6 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 441.6 R +(multiple databases and closing a currently open database.)189 453.6 Q 32.84 +(NEWDB The)117 469.8 R(ne)3.323 E 3.323(wd)-.25 G .824 +(atabase package from Berk)232.606 469.8 R(ele)-.1 E 4.624 -.65(y. I)-.15 H +3.324(fy).65 G .824(ou ha)382.716 469.8 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 481.8 R -1.1(Yo)189 493.8 S 3.581(uc)1.1 G 1.081 +(an de\214ne this in conjunction with one of the other tw)213.141 493.8 R 1.082 +(o; if you do, old)-.1 F .693(databases are read, b)189 505.8 R .693 +(ut when a ne)-.2 F 3.193(wd)-.25 G .693 +(atabase is created it will be in NEWDB)341.681 505.8 R 2.851(format. As)189 +517.8 R 2.851(an)2.851 G .351(asty hack, if you ha)249.763 517.8 R .652 -.15 +(ve N)-.2 H .352(EWDB, NDBM, and NIS de\214ned, and).15 F .952 +(if the alias \214le name includes the substring \231/yp/\232,)189 529.8 R F2 +(sendmail)3.451 E F1 .951(will create both)3.451 F(ne)189 541.8 Q 3.975(wa)-.25 +G 1.475(nd old v)213.825 541.8 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 553.8 R .71 +(ersion of the alias)-.15 F 2.5(\214le. It')189 565.8 R 2.5(su)-.55 G +(gly as sin, b)229.56 565.8 Q(ut it w)-.2 E(orks.)-.1 E 1.112 +(If neither of these are de\214ned,)117 582 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 1.043(This can be slo)117 594 R 3.543(wa)-.25 G +1.043(nd should be a)195.352 594 R -.2(vo)-.2 G 3.543(ided. There).2 F 1.043 +(are also se)3.543 F -.15(ve)-.25 G 1.042(ral methods for remote database).15 F +(access:)117 606 Q 53.39(NIS Sun')117 622.2 R 2.5(sN)-.55 G(etw)220.95 622.2 Q +(ork Information Services \(formerly YP\).)-.1 E 28.94(NISPLUS Sun')117 638.4 R +2.5(sN)-.55 G(IS+ services.)220.95 638.4 Q 26.73(NETINFO NeXT')117 654.6 R 2.5 +(sN)-.55 G(etInfo service.)230.38 654.6 Q 32.84(HESIOD Hesiod)117 670.8 R +(service \(from Athena\).)2.5 E .042(Other compilation \215ags are set in conf\ +.h and should be prede\214ned for you unless you are porting)117 687 R(to a ne) +117 699 Q 2.5(we)-.25 G -.4(nv)157.57 699 S(ironment.).4 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.2. Compilation)102 96 R +(and installation)2.5 E/F1 10/Times-Roman@0 SF .309 +(After making the local system con\214guration described abo)142 112.2 R -.15 +(ve)-.15 G 2.808(,Y).15 G .308(ou should be able to com-)398.86 112.2 R +(pile and install the system.)117 124.2 Q(The script \231mak)5 E +(esendmail\232 is the best approach on most systems:)-.1 E(sh mak)157 140.4 Q +(esendmail)-.1 E(This will use)117 156.6 Q/F2 10/Times-Italic@0 SF(uname)2.5 E +F1(\(1\) to select the correct Mak)A(e\214le for your en)-.1 E(vironment.)-.4 E +-1.1(Yo)142 172.8 S 2.5(um)1.1 G(ay be able to install using)168.4 172.8 Q +(sh mak)157 189 Q(esendmail install)-.1 E 3.346 +(This should install the binary in /usr/sbin and create links from /usr/bin/ne) +117 205.2 R -.1(wa)-.25 G 3.346(liases and).1 F 1.577 +(/usr/bin/mailq to /usr/sbin/sendmail.)117 217.2 R 1.577 +(On 4.4BSD systems it will also format and install man)6.577 F(pages.)117 229.2 +Q F0 2.5(1.2. Con\214guration)87 253.2 R(Files)2.5 E F2(Sendmail)127 269.4 Q F1 +2.079(cannot operate without a con\214guration \214le.)4.579 F 2.079 +(The con\214guration de\214nes the mail)7.079 F(deli)102 281.4 Q -.15(ve)-.25 G +.889(ry mechanisms understood at this site, ho).15 F 3.389(wt)-.25 G 3.389(oa) +309.783 281.4 S .889(ccess them, ho)322.612 281.4 R 3.388(wt)-.25 G 3.388(of) +396.128 281.4 S(orw)407.846 281.4 Q .888(ard email to remote)-.1 F .088 +(mail systems, and a number of tuning parameters.)102 293.4 R .088 +(This con\214guration \214le is detailed in the later por)5.088 F(-)-.2 E +(tion of this document.)102 305.4 Q(The)127 321.6 Q F2(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 333.6 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 345.6 Q(xity)-.15 E(.)-.65 E .47 +(These con\214guration \214les are simpler than old v)127 361.8 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 373.8 R 3.948(,t)-.4 G -.15(ex)197.604 373.8 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 385.8 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 402 R .361(is, instead of naming hosts as \231host!user\232 the) +102 414 R 2.861(yw)-.15 G .361(ill use \231host.domain!user\232.)299.435 414 R +.361(The con\214guration \214les)5.361 F(can be customized to w)102 426 Q +(ork around this, b)-.1 E(ut it is more comple)-.2 E(x.)-.15 E .658 +(Our con\214guration \214les are processed by)127 442.2 R F2(m4)3.158 E F1 .658 +(to f)3.158 F .657(acilitate local customization; the directory)-.1 F F2(cf) +3.157 E F1 .396(of the)102 454.2 R F2(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 466.2 Q 61.73(cf Both)102 482.4 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 494.4 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 506.4 R .536(connected host or \231uu\ +cpproto.mc\232 as a general description of a UUCP-connected)174 518.4 R 3.291 +(host\). Files)174 530.4 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 542.4 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 554.4 Q -.65(w.)-.25 G 39.5(domain Site-dependent)102 570.6 +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 582.6 R .292 +(ants to do addressing.)-.1 F -.15(Fo)5.292 G 2.792(re).15 G(xample,)313.122 +582.6 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 594.6 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 606.6 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 618.6 R -.15(ve)-.25 G 2.628 +(rything looks lik).15 F 5.128(ei)-.1 G 5.128(tc)362.038 618.6 S 2.627 +(omes from CS.Berk)374.386 618.6 R(ele)-.1 E -.65(y.)-.15 G(EDU\).).65 E +(These are referenced using the)174 630.6 Q/F3 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 646.8 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 658.8 R F3(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 670.8 R F2 +(sendmail)3.816 E F1 1.317(to read an /etc/sendmail.cw \214le on startup to) +3.816 F(\214nd the set of local names\).)174 682.8 Q 50.62(hack Local)102 699 R +1.886(hacks, referenced using the)4.387 F F3(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 711 Q(ving them here is to mak)-.2 E 2.5(ei)-.1 G +2.5(tc)325.91 711 S(lear that the)335.63 711 Q 2.5(ys)-.15 G(mell.)394.08 711 Q +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 56.72(m4 Site-independent)102 96 R +/F2 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 108 Q +(This can be thought of as a \231#include\232 directory)5 E(.)-.65 E 43.95 +(mailer De\214nitions)102 124.2 R .152(of mailers, referenced using the)2.653 F +/F3 9/Times-Roman@0 SF(MAILER)2.652 E F0(m4)2.652 E F1 2.652(macro. The)2.652 F +.152(mailer types)2.652 F 1.786(that are kno)174 136.2 R 1.787 +(wn in this distrib)-.25 F 1.787(ution are f)-.2 F 1.787 +(ax, local, smtp, uucp, and usenet.)-.1 F -.15(Fo)6.787 G(r).15 E -.15(ex)174 +148.2 S(ample, to include support for the UUCP-based mailers, use \231MAILER\(\ +uucp\)\232.).15 E 43.39(ostype De\214nitions)102 164.4 R 1.157(describing v) +3.657 F 1.157(arious operating system en)-.25 F 1.156 +(vironments \(such as the loca-)-.4 F(tion of support \214les\).)174 176.4 Q +(These are referenced using the)5 E F3(OSTYPE)2.5 E F0(m4)2.5 E F1(macro.)2.5 E +60.61(sh Shell)102 192.6 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 192.6 Q 2.5(th)-.18 +G -2.25 -.2(av e)404.18 192.6 T(to mess with these.)2.7 E 30.61 +(sitecon\214g Local)102 208.8 R .49 +(site con\214guration information, such as UUCP connecti)2.99 F(vity)-.25 E +5.49(.T)-.65 G(he)450.61 208.8 Q 2.99(yn)-.15 G(ormally)472.89 208.8 Q +(contain lists of site information, for e)174 220.8 Q(xample:)-.15 E +(SITE\(contessa\))214 237 Q(SITE\(hoptoad\))214 249 Q(SITE\(nkainc\))214 261 Q +(SITE\(well\))214 273 Q(The)174 289.2 Q 2.5(ya)-.15 G +(re referenced using the SITECONFIG macro:)201.34 289.2 Q +(SITECONFIG\(site.con\214g.\214le, name_of_site, X\))214 305.4 Q(where)174 +321.6 Q F2(X)2.704 E F1 .204(is the macro/class name to use.)2.704 F .203 +(It can be U \(indicating locally connected)5.204 F(hosts\) or one of W)174 +333.6 Q 2.5(,X)-.92 G 2.5(,o)259.73 333.6 S 2.5(rYf)269.73 333.6 S +(or up to three remote UUCP hubs.)288.61 333.6 Q .756(If you are in a ne)127 +349.8 R 3.256(wd)-.25 G .756(omain \(e.g., a compan)214.036 349.8 R .757 +(y\), you will probably w)-.15 F .757(ant to create a cf/domain)-.1 F .871 +(\214le for your domain.)102 361.8 R .871 +(This consists primarily of relay de\214nitions: for e)5.871 F .87 +(xample, Berk)-.15 F(ele)-.1 E(y')-.15 E 3.37(sd)-.55 G(omain)479 361.8 Q .16 +(de\214nition de\214nes relays for BitNET)102 373.8 R 2.66(,C)-.74 G(SNET) +257.61 373.8 Q 2.66(,a)-.74 G .16(nd UUCP)291.47 373.8 R 5.16(.O)-1.11 G 2.66 +(ft)344.57 373.8 S .16(hese, only the UUCP relay is particu-)353.34 373.8 R .46 +(larly speci\214c to Berk)102 385.8 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 385.8 Q(-)-.2 E(tain the)102 397.8 Q 2.5(ya)-.15 +G(re reasonable for your domain.)143.51 397.8 Q 1.406(Subdomains at Berk)127 +414 R(ele)-.1 E 3.906(ya)-.15 G 1.407 +(re also represented in the cf/domain directory)235.678 414 R 6.407(.F)-.65 G +1.407(or e)439.406 414 R 1.407(xample, the)-.15 F 1.491(domain cs-e)102 426 R +1.491(xposed is the Computer Science subdomain with the local hostname sho)-.15 +F 1.49(wn to other)-.25 F 1.41(users; cs-hidden mak)102 438 R 1.411 +(es users appear to be from the CS.Berk)-.1 F(ele)-.1 E -.65(y.)-.15 G 1.411 +(EDU subdomain \(with no local).65 F 1.084(host information included\).)102 450 +R -1.1(Yo)6.084 G 3.584(uw)1.1 G 1.084(ill probably ha)246.336 450 R 1.384 -.15 +(ve t)-.2 H 3.584(ou).15 G 1.083(pdate this directory to be appropriate for) +335.872 450 R(your domain.)102 462 Q -1.1(Yo)127 478.2 S 4.372(uw)1.1 G 1.872 +(ill ha)154.712 478.2 R 2.172 -.15(ve t)-.2 H 4.372(ou).15 G 1.872 +(se or create)207.478 478.2 R F0(.mc)4.372 E F1 1.872(\214les in the)4.372 F F2 +(cf/cf)4.372 E F1 1.873(subdirectory for your hosts.)4.373 F 1.873(This is) +6.873 F(detailed in the cf/README \214le.)102 490.2 Q F0 2.5(1.3. Details)87 +514.2 R(of Installation Files)2.5 E F1 +(This subsection describes the \214les that comprise the)127 530.4 Q F2 +(sendmail)2.5 E F1(installation.)2.5 E F0 2.5(1.3.1. /usr/sbin/sendmail)102 +554.4 R F1 .079(The binary for)142 572.6 R F2(sendmail)2.579 E F1 .079 +(is located in /usr/sbin)2.579 F/F4 7/Times-Roman@0 SF(1)326.703 568.6 Q F1 +5.079(.I)330.203 572.6 S 2.579(ts)341.112 572.6 S .08(hould be setuid root.) +350.361 572.6 R -.15(Fo)5.08 G 2.58(rs).15 G .08(ecurity rea-)458.11 572.6 R +(sons, /, /usr)117 586.6 Q 2.5(,a)-.4 G(nd /usr/sbin should be o)171.6 586.6 Q +(wned by root, mode 755)-.25 E F4(2)364.4 582.6 Q F1(.)367.9 586.6 Q F0 2.5 +(1.3.2. /etc/sendmail.cf)102 610.6 R F1 .699 +(This is the con\214guration \214le for)142 628.8 R F2(sendmail)3.199 E F4(3) +311.744 624.8 Q F1 5.698(.T)315.244 628.8 S .698 +(his and /etc/sendmail.pid are the only non-)329.552 628.8 R .32 LW 76 638.4 72 +638.4 DL 80 638.4 76 638.4 DL 84 638.4 80 638.4 DL 88 638.4 84 638.4 DL 92 +638.4 88 638.4 DL 96 638.4 92 638.4 DL 100 638.4 96 638.4 DL 104 638.4 100 +638.4 DL 108 638.4 104 638.4 DL 112 638.4 108 638.4 DL 116 638.4 112 638.4 DL +120 638.4 116 638.4 DL 124 638.4 120 638.4 DL 128 638.4 124 638.4 DL 132 638.4 +128 638.4 DL 136 638.4 132 638.4 DL 140 638.4 136 638.4 DL 144 638.4 140 638.4 +DL 148 638.4 144 638.4 DL 152 638.4 148 638.4 DL 156 638.4 152 638.4 DL 160 +638.4 156 638.4 DL 164 638.4 160 638.4 DL 168 638.4 164 638.4 DL 172 638.4 168 +638.4 DL 176 638.4 172 638.4 DL 180 638.4 176 638.4 DL 184 638.4 180 638.4 DL +188 638.4 184 638.4 DL 192 638.4 188 638.4 DL 196 638.4 192 638.4 DL 200 638.4 +196 638.4 DL 204 638.4 200 638.4 DL 208 638.4 204 638.4 DL 212 638.4 208 638.4 +DL 216 638.4 212 638.4 DL/F5 5/Times-Roman@0 SF(1)93.6 648.8 Q/F6 8 +/Times-Roman@0 SF .385(This is usually /usr/sbin on 4.4BSD and ne)3.2 J .385 +(wer systems; man)-.2 F 2.385(ys)-.12 G .385(ystems install it in /usr/lib) +302.966 652 R 4.384(.I)-.32 G .384(understand it is in /usr/ucblib on)398.744 +652 R(System V Release 4.)72 661.6 Q F5(2)93.6 672 Q F6 .15(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 .149(ther important di-) +447.262 675.2 R(rectories that should ha)72 684.8 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 F5(3)93.6 695.2 Q F6 +(Actually)3.2 I 2.276(,t)-.52 G .276(he pathname v)129.632 698.4 R .276 +(aries depending on the operating system; /etc is the preferred directory)-.2 F +4.276(.S)-.52 G .277(ome older systems install it)415.332 698.4 R(in)72 708 Q +/F8 8/Times-Bold@0 SF(/usr/lib/sendmail.cf)2 E F6 2(,a)C(nd I')153.344 708 Q +.24 -.12(ve a)-.4 H(lso seen it in).12 E F8(/usr/ucblib)2 E F6(and)2 E F8 +(/etc/mail)2 E F6 4(.I)C 2(fy)313.928 708 S(ou w)322.592 708 Q(ant to mo)-.08 E +.24 -.12(ve t)-.12 H(his \214le, change).12 E F7(sr)2 E(c/conf)-.296 E(.h)-.12 +E F6(.)A 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/F1 10/Times-Roman@0 SF +(library \214le names compiled into)117 98 Q/F2 10/Times-Italic@0 SF(sendmail) +2.5 E/F3 7/Times-Roman@0 SF(4)283.38 94 Q F1(.)286.88 98 Q .721 +(The con\214guration \214le is normally created using the distrib)142 114.2 R +.721(ution \214les described abo)-.2 F -.15(ve)-.15 G 5.72(.I).15 G(f)500.67 +114.2 Q .64(you ha)117 126.2 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 +138.2 Q F0 2.5(1.3.3. /usr/bin/newaliases)102 162.2 R F1(The)142 178.4 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 194.6 Q -.1(wa)-.25 G(liases).1 E +(ln \255s /usr/sbin/sendmail /usr/bin/ne)157 206.6 Q -.1(wa)-.25 G(liases).1 E +(This can be installed in whate)117 222.8 Q -.15(ve)-.25 G 2.5(rs).15 G +(earch path you prefer for your system.)254.91 222.8 Q F0 2.5(1.3.4. /v)102 +246.8 R(ar/spool/mqueue)-.1 E F1 .218(The directory)142 263 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 275 Q +(wned by root.)-.25 E(The actual path of this directory is de\214ned in the)142 +291.2 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 315.2 R F1 1.492 +(The system aliases are held in \231/etc/aliases\232.)142 331.4 R 3.992(As) +6.492 G 1.492(ample is gi)350.006 331.4 R -.15(ve)-.25 G 3.993(ni).15 G 3.993 +<6e99>417.694 331.4 S 1.493(lib/aliases\232 which)431.127 331.4 R +(includes some aliases which)117 343.4 Q F2(must)2.5 E F1(be de\214ned:)2.5 E +(cp lib/aliases /etc/aliases)157 359.6 Q F2(edit /etc/aliases)157 371.6 Q F1 +-1.1(Yo)117 387.8 S 2.5(us)1.1 G(hould e)139.51 387.8 Q +(xtend this \214le with an)-.15 E 2.5(ya)-.15 G +(liases that are apropos to your system.)267.54 387.8 Q(Normally)142 404 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 416 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 428 R 1.022 +(These can initially be created as empty)6.022 F(\214les, b)117 440 Q(ut the) +-.2 E 2.5(yw)-.15 G(ill ha)180.54 440 Q .3 -.15(ve t)-.2 H 2.5(ob).15 G 2.5(ei) +227.69 440 S(nitialized promptly)237.41 440 Q 5(.T)-.65 G +(hese should be mode 644:)326.76 440 Q(cp /de)157 456.2 Q +(v/null /etc/aliases.dir)-.25 E(cp /de)157 468.2 Q(v/null /etc/aliases.pag)-.25 +E(chmod 644 /etc/aliases.*)157 480.2 Q(ne)157 492.2 Q -.1(wa)-.25 G(liases).1 E +(The)117 508.4 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 508.4 S .29(his step can be skipped.)312.25 508.4 +R .29(The actual path of this)5.29 F(\214le is de\214ned in the)117 520.4 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 544.4 R(c)-.18 E F1 .156 +(It will be necessary to start up the)142 560.6 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 572.6 R 4.037(of)-.1 G 1.537 +(unctions: it listens on the SMTP sock)201.221 572.6 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 584.6 R -.15(ve)-.25 G(red).15 E(when hosts come up.)117 596.6 +Q .505(Add the follo)142 612.8 R .505(wing lines to \231/etc/rc\232 \(or \231/\ +etc/rc.local\232 as appropriate\) in the area where it)-.25 F +(is starting up the daemons:)117 624.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(4)93.6 679.6 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 682.8 R/F6 8 +/Times-Italic@0 SF(sendmail)2.589 E F5 .589(calls probably reference)2.589 F F6 +(/etc/passwd)72 692.4 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 1.121 +(for which there is no qf \214le.)117 224.4 R -.15(Fo)6.121 G 3.621(re).15 G +1.12(xample, see Figure 1 for an e)262.868 224.4 R 1.12(xample of a comple)-.15 +F 3.62(xs)-.15 G(tartup)480.67 224.4 Q(script.)117 236.4 Q .755 +(If you are not running a v)142 252.6 R .755(ersion of UNIX that supports Berk) +-.15 F(ele)-.1 E 3.256(yT)-.15 G(CP/IP)416.722 252.6 Q 3.256(,d)-1.11 G 3.256 +(on)450.268 252.6 S .756(ot include)463.524 252.6 R(the)117 264.6 Q F0(\255bd) +2.5 E F1(\215ag.)2.5 E F0 2.5(1.3.7. /usr/lib/sendmail.hf)102 288.6 R F1 2.078 +(This is the help \214le used by the SMTP)142 304.8 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 316.8 Q(cp lib/sendmail.hf /usr/lib)157 333 Q +(The actual path of this \214le is de\214ned in the)117 349.2 Q F0(H)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.8. /etc/sendmail.st)102 373.2 R F1 3.04 +(If you wish to collect statistics about your mail traf)142 389.4 R 3.04 +(\214c, you should create the \214le)-.25 F(\231/etc/sendmail.st\232:)117 401.4 +Q(cp /de)157 417.6 Q(v/null /etc/sendmail.st)-.25 E(chmod 666 /etc/sendmail.st) +157 429.6 Q .716(This \214le does not gro)117 445.8 R 4.516 -.65(w. I)-.25 H +3.216(ti).65 G 3.216(sp)231.506 445.8 S .716 +(rinted with the program \231mailstats/mailstats.c.)243.612 445.8 R 5.715<9a54> +-.7 G .715(he actual path)447.03 445.8 R(of this \214le is de\214ned in the)117 +457.8 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/mailq)102 481.8 R F1(If)142 498 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 +498 S(mailq,)252.925 498 Q 3.439<9a69>-.7 G 3.439(tw)288.164 498 S .939 +(ill simulate the)301.603 498 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 510 Q 2.5(w\). This)-.25 F +(should be a link to /usr/sbin/sendmail.)2.5 E F0 2.5(2. NORMAL)72 534 R(OPERA) +2.5 E(TIONS)-.95 E 2.5(2.1. The)87 558 R(System Log)2.5 E F1 1.511 +(The system log is supported by the)127 574.2 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 588.2 Q/F3 9/Times-Roman@0 SF(LOG_MAIL) +2.5 E F1 -.1(fa)2.5 G(cility).1 E/F4 7/Times-Roman@0 SF(5)248.43 584.2 Q F1(.) +251.93 588.2 Q F0 2.5(2.1.1. F)102 612.2 R(ormat)-.25 E F1 .574(Each line in t\ +he system log consists of a timestamp, the name of the machine that gener)142 +628.4 R(-)-.2 E .849(ated it \(for logging from se)117 640.4 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 640.4 R .848(ork\), the w)-.1 F .848 +(ord \231sendmail:\232,)-.1 F(and a message)117 654.4 Q F4(6)174.76 650.4 Q F1 +5(.M)178.26 654.4 S(ost messages are a sequence of)194.65 654.4 Q F2(name)2.5 E +F1(=)A F2(value)A F1(pairs.)2.5 E .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/F5 5 +/Times-Roman@0 SF(5)93.6 675.6 Q/F6 8/Times-Roman@0 SF +(Except on Ultrix, which does not support f)3.2 I(acilities in the syslog.)-.08 +E F5(6)93.6 689.2 Q F6(This format may v)3.2 I(ary slightly if your v)-.2 E +(endor has changed the syntax.)-.12 E 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 .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 2.5(#r)72 132 S(emo)82.83 132 Q .3 -.15(ve z) +-.15 H(ero length qf \214les).15 E(for qf)72 144 Q(\214le in qf*)-.25 E(do)72 +156 Q(if [ \255r $qf)108 168 Q(\214le ])-.25 E(then)108 180 Q(if [ ! \255s $qf) +144 192 Q(\214le ])-.25 E(then)144 204 Q(echo \255n " <zero: $qf)180 216 Q +(\214le>" > /de)-.25 E(v/console)-.25 E(rm \255f $qf)180 228 Q(\214le)-.25 E +<8c>144 240 Q<8c>108 252 Q(done)72 264 Q 2.5(#r)72 276 S +(ename tf \214les to be qf if the qf does not e)82.83 276 Q(xist)-.15 E(for tf) +72 288 Q(\214le in tf*)-.25 E(do)72 300 Q(qf)108 312 Q(\214le=`echo $tf)-.25 E +(\214le | sed ')-.25 E(s/t/q/'`)-.55 E(if [ \255r $tf)108 324 Q +(\214le \255a ! \255f $qf)-.25 E(\214le ])-.25 E(then)108 336 Q +(echo \255n " <reco)144 348 Q -.15(ve)-.15 G(ring: $tf).15 E(\214le>" > /de) +-.25 E(v/console)-.25 E(mv $tf)144 360 Q(\214le $qf)-.25 E(\214le)-.25 E(else) +108 372 Q(echo \255n " <e)144 384 Q(xtra: $tf)-.15 E(\214le>" > /de)-.25 E +(v/console)-.25 E(rm \255f $tf)144 396 Q(\214le)-.25 E<8c>108 408 Q(done)72 420 +Q 2.5(#r)72 432 S(emo)82.83 432 Q .3 -.15(ve d)-.15 H 2.5<668c>.15 G +(les with no corresponding qf \214les)128.08 432 Q(for df)72 444 Q +(\214le in df*)-.25 E(do)72 456 Q(qf)108 468 Q(\214le=`echo $df)-.25 E +(\214le | sed ')-.25 E(s/d/q/'`)-.55 E(if [ \255r $df)108 480 Q +(\214le \255a ! \255f $qf)-.25 E(\214le ])-.25 E(then)108 492 Q +(echo \255n " <incomplete: $df)144 504 Q(\214le>" > /de)-.25 E(v/console)-.25 E +(mv $df)144 516 Q(\214le `echo $df)-.25 E(\214le | sed ')-.25 E(s/d/D/'`)-.55 E +<8c>108 528 Q(done)72 540 Q 2.5(#a)72 552 S(nnounce \214les that ha)83.94 552 Q +.3 -.15(ve b)-.2 H(een sa).15 E -.15(ve)-.2 G 2.5(dd).15 G(uring disaster reco) +229.32 552 Q -.15(ve)-.15 G(ry).15 E(for xf)72 564 Q(\214le in [A-Z]f*)-.25 E +(do)72 576 Q(echo \255n " <panic: $xf)108 588 Q(\214le>" > /de)-.25 E +(v/console)-.25 E(done)72 600 Q(Figure 1 \212 A comple)214.47 624 Q 2.5(xs)-.15 +G(tartup script)313.48 624 Q 77 636 72 636 DL 79 636 74 636 DL 84 636 79 636 DL +89 636 84 636 DL 94 636 89 636 DL 99 636 94 636 DL 104 636 99 636 DL 109 636 +104 636 DL 114 636 109 636 DL 119 636 114 636 DL 124 636 119 636 DL 129 636 124 +636 DL 134 636 129 636 DL 139 636 134 636 DL 144 636 139 636 DL 149 636 144 636 +DL 154 636 149 636 DL 159 636 154 636 DL 164 636 159 636 DL 169 636 164 636 DL +174 636 169 636 DL 179 636 174 636 DL 184 636 179 636 DL 189 636 184 636 DL 194 +636 189 636 DL 199 636 194 636 DL 204 636 199 636 DL 209 636 204 636 DL 214 636 +209 636 DL 219 636 214 636 DL 224 636 219 636 DL 229 636 224 636 DL 234 636 229 +636 DL 239 636 234 636 DL 244 636 239 636 DL 249 636 244 636 DL 254 636 249 636 +DL 259 636 254 636 DL 264 636 259 636 DL 269 636 264 636 DL 274 636 269 636 DL +279 636 274 636 DL 284 636 279 636 DL 289 636 284 636 DL 294 636 289 636 DL 299 +636 294 636 DL 304 636 299 636 DL 309 636 304 636 DL 314 636 309 636 DL 319 636 +314 636 DL 324 636 319 636 DL 329 636 324 636 DL 334 636 329 636 DL 339 636 334 +636 DL 344 636 339 636 DL 349 636 344 636 DL 354 636 349 636 DL 359 636 354 636 +DL 364 636 359 636 DL 369 636 364 636 DL 374 636 369 636 DL 379 636 374 636 DL +384 636 379 636 DL 389 636 384 636 DL 394 636 389 636 DL 399 636 394 636 DL 404 +636 399 636 DL 409 636 404 636 DL 414 636 409 636 DL 419 636 414 636 DL 424 636 +419 636 DL 429 636 424 636 DL 434 636 429 636 DL 439 636 434 636 DL 444 636 439 +636 DL 449 636 444 636 DL 454 636 449 636 DL 459 636 454 636 DL 464 636 459 636 +DL 469 636 464 636 DL 474 636 469 636 DL 479 636 474 636 DL 484 636 479 636 DL +489 636 484 636 DL 494 636 489 636 DL 499 636 494 636 DL 504 636 499 636 DL .68 +(The tw)142 672 R 3.18(om)-.1 G .68 +(ost common lines are logged when a message is processed.)186.59 672 R .68 +(The \214rst logs the)5.68 F .376(receipt of a message; there will be e)117 684 +R .376(xactly one of these per message.)-.15 F .376(Some \214elds may be omit-) +5.376 F(ted if the)117 696 Q 2.5(yd)-.15 G 2.5(on)164.9 696 S +(ot contain interesting information.)177.4 696 Q(Fields are:)5 E 50.06 +(from The)117 712.2 R(en)2.5 E -.15(ve)-.4 G(lope sender address.).15 E 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 53.95(size The)117 96 R +(size of the message in bytes.)2.5 E 50.06(class The)117 112.2 R +(class \(i.e., numeric precedence\) of the message.)2.5 E 58.39(pri The)117 +128.4 R(initial message priority \(used for queue sorting\).)2.5 E 45.06 +(nrcpts The)117 144.6 R 1.514(number of en)4.014 F -.15(ve)-.4 G 1.515 +(lope recipients for this message \(after aliasing and for).15 F(-)-.2 E -.1 +(wa)189 156.6 S(rding\).).1 E 45.05(msgid The)117 172.8 R +(message id of the message \(from the header\).)2.5 E 48.39(proto The)117 189 R +(protocol used to recei)2.5 E .3 -.15(ve t)-.25 H +(his message \(e.g., ESMTP or UUCP\)).15 E 49.51(relay The)117 205.2 R +(machine from which it w)2.5 E(as recei)-.1 E -.15(ve)-.25 G(d.).15 E .43 +(There is also one line logged per deli)117 221.4 R -.15(ve)-.25 G .43 +(ry attempt \(so there can be se).15 F -.15(ve)-.25 G .43 +(ral per message if deli).15 F(v-)-.25 E +(ery is deferred or there are multiple recipients\).)117 233.4 Q(Fields are:)5 +E 61.72(to A)117 249.6 R(comma-separated list of the recipients to this mailer) +2.5 E(.)-.55 E 41.73(ctladdr The)117 265.8 R -.74(``)2.726 G .226 +(controlling user').74 F .226 +(', that is, the name of the user whose credentials we use)-.74 F(for deli)189 +277.8 Q -.15(ve)-.25 G(ry).15 E(.)-.65 E 47.84(delay The)117 294 R 1.303 +(total delay between the time this message w)3.804 F 1.303(as recei)-.1 F -.15 +(ve)-.25 G 3.803(da).15 G 1.303(nd the time it)447.031 294 R -.1(wa)189 306 S +2.5(sd).1 G(eli)211.95 306 Q -.15(ve)-.25 G(red.).15 E 42.84(xdelay The)117 +322.2 R .116(amount of time needed in this deli)2.615 F -.15(ve)-.25 G .116 +(ry attempt \(normally indicati).15 F .416 -.15(ve o)-.25 H 2.616(ft).15 G(he) +494.56 322.2 Q(speed of the connection\).)189 334.2 Q 43.95(mailer The)117 +350.4 R(name of the mailer used to deli)2.5 E -.15(ve)-.25 G 2.5(rt).15 G 2.5 +(ot)348.57 350.4 S(his recipient.)358.85 350.4 Q 49.51(relay The)117 366.6 R +(name of the host that actually accepted \(or rejected\) this recipient.)2.5 E +55.61(stat The)117 382.8 R(deli)2.5 E -.15(ve)-.25 G(ry status.).15 E +(Not all \214elds are present in all messages; for e)117 399 Q +(xample, the relay is not listed for local deli)-.15 E -.15(ve)-.25 G(ries.).15 +E F0 2.5(2.1.2. Le)102 423 R -.1(ve)-.15 G(ls).1 E F1 .205(If you ha)142 439.2 +R -.15(ve)-.2 G/F2 10/Times-Italic@0 SF(syslo)2.855 E(gd)-.1 E F1 .205 +(\(8\) or an equi)1.666 F -.25(va)-.25 G .205 +(lent installed, you will be able to do logging.).25 F .204(There is)5.204 F +2.787(al)117 451.2 S(ar)127.007 451.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 +.651(At the lo)117 463.2 R .651(west le)-.25 F -.15(ve)-.25 G 3.151(lo).15 G +.651(nly e)201.724 463.2 R .651(xtremely strange situations are logged.)-.15 F +.65(At the highest le)5.651 F -.15(ve)-.25 G .65(l, e).15 F -.15(ve)-.25 G 3.15 +(nt).15 G(he)494.56 463.2 Q .825(most mundane and uninteresting e)117 475.2 R +-.15(ve)-.25 G .825(nts are recorded for posterity).15 F 5.826(.A)-.65 G 3.326 +(sac)400.266 475.2 S(on)419.688 475.2 Q -.15(ve)-.4 G .826(ntion, log le).15 F +-.15(ve)-.25 G(ls).15 E .201 +(under ten are considered generally \231useful;\232 log le)117 487.2 R -.15(ve) +-.25 G .201(ls abo).15 F .501 -.15(ve 6)-.15 H 2.701(4a).15 G .2(re reserv) +381.57 487.2 R .2(ed for deb)-.15 F .2(ugging pur)-.2 F(-)-.2 E 2.5(poses. Le) +117 499.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 515.4 +S(omplete description of the log le)156.16 515.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 515.4 S(ection 4.6.)351.74 515.4 Q +F0 2.5(2.2. Dumping)87 539.4 R(State)2.5 E F1 -1.1(Yo)127 555.6 S 2.563(uc)1.1 +G .063(an ask)150.123 555.6 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 567.6 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(2.3. The)87 591.6 R(Mail Queue)2.5 E F1 1.283 +(Sometimes a host cannot handle a message immediately)127 607.8 R 6.283(.F)-.65 +G 1.283(or e)374.224 607.8 R 1.283(xample, it may be do)-.15 F 1.282(wn or)-.25 +F -.15(ove)102 619.8 S .042(rloaded, causing it to refuse connections.).15 F +.043(The sending host is then e)5.043 F .043(xpected to sa)-.15 F .343 -.15 +(ve t)-.2 H .043(his message).15 F(in its mail queue and attempt to deli)102 +631.8 Q -.15(ve)-.25 G 2.5(ri).15 G 2.5(tl)263.26 631.8 S(ater)271.32 631.8 Q +(.)-.55 E .568 +(Under normal conditions the mail queue will be processed transparently)127 648 +R 5.568(.H)-.65 G -.25(ow)434.764 648 S -2.15 -.25(ev e).25 H 1.368 -.4(r, y) +.25 H .568(ou may).4 F .993(\214nd that manual interv)102 660 R .993 +(ention is sometimes necessary)-.15 F 5.993(.F)-.65 G .993(or e)332.711 660 R +.993(xample, if a major host is do)-.15 F .994(wn for a)-.25 F 1.699 +(period of time the queue may become clogged.)102 672 R(Although)6.699 E F2 +(sendmail)4.199 E F1 1.699(ought to reco)4.199 F -.15(ve)-.15 G 4.199(rg).15 G +(racefully)468.46 672 Q(when the host comes up, you may \214nd performance una\ +cceptably bad in the meantime.)102 684 Q 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 2.5(2.3.1. Printing)102 96 R(the queue) +2.5 E/F1 10/Times-Roman@0 SF .526 +(The contents of the queue can be printed using the)142 112.2 R/F2 10 +/Times-Italic@0 SF(mailq)3.026 E F1 .526(command \(or by specifying the)3.026 F +F0(\255bp)117 124.2 Q F1(\215ag to)2.5 E F2(sendmail)2.5 E F1(\):)A(mailq)157 +140.4 Q 1.673(This will produce a listing of the queue id')117 156.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 168.6 Q F0 2.5(2.3.2. F) +102 192.6 R(or)-.25 E(cing the queue)-.18 E F2(Sendmail)142 208.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 220.8 R +5.355(.W)-.55 G .355(hen it attempts to run the job,)384.37 220.8 R F2 +(sendmail)117 232.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 249 R .338 +(xists at an)-.15 F 2.838(yt)-.15 G .339(ime, since there)440.282 249 R .095 +(is no guarantee that a job cannot tak)117 261 R 2.595(ef)-.1 G(ore)272.07 261 +Q -.15(ve)-.25 G 2.595(rt).15 G 2.595(op)302.585 261 S .094(rocess \(ho)315.18 +261 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 273 R 3.587(,t)-.65 G 1.087(his violates RFC)435.146 273 R .462(821, b)117 +285 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 297 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 297 Q 1.386 -.15(ve r)-.25 H +1.086(ecipient host or a program recipient that).15 F(ne)117 309 Q -.15(ve)-.25 +G 3.351(rr).15 G .851(eturns can accumulate man)145.491 309 R 3.351(yp)-.15 G +.851(rocesses in your system.)269.825 309 R(Unfortunately)5.851 E 3.351(,t)-.65 +G .85(here is no com-)439.52 309 R(pletely general w)117 321 Q(ay to solv)-.1 E +2.5(et)-.15 G(his.)234.23 321 Q .082 +(In some cases, you may \214nd that a major host going do)142 337.2 R .083 +(wn for a couple of days may create)-.25 F 2.925(ap)117 349.2 S(rohibiti) +129.365 349.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 +361.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 373.2 R +2.523(wq)-.25 G 2.523(ueue. The)182.629 373.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 389.4 T 2.5(ot).8 G +(his, it is acceptable to mo)170.09 389.4 Q .3 -.15(ve t)-.15 H +(he entire queue directory:).15 E(cd /v)157 405.6 Q(ar/spool)-.25 E +(mv mqueue omqueue; mkdir mqueue; chmod 700 mqueue)157 417.6 Q -1.1(Yo)117 +433.8 S 2.708(us)1.1 G .208(hould then kill the e)139.718 433.8 R .209 +(xisting daemon \(since it will still be processing in the old queue direc-) +-.15 F(tory\) and create a ne)117 445.8 Q 2.5(wd)-.25 G(aemon.)213.1 445.8 Q +1.6 -.8(To r)142 462 T(un the old mail queue, run the follo).8 E(wing command:) +-.25 E(/usr/sbin/sendmail \255oQ/v)157 478.2 Q(ar/spool/omqueue \255q)-.25 E +(The)117 494.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 506.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 506.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 518.4 Q +(When the queue is \214nally emptied, you can remo)142 534.6 Q .3 -.15(ve t) +-.15 H(he directory:).15 E(rmdir /v)157 550.8 Q(ar/spool/omqueue)-.25 E F0 2.5 +(2.4. The)87 579 R(Ser)2.5 E(vice Switch)-.1 E F1 1.416(The implementation of \ +certain system services such as host and user name lookup is con-)127 595.2 R +.335(trolled by the service switch.)102 607.2 R .336 +(If the host operating system supports such a switch)5.335 F F2(sendmail)2.836 +E F1 .336(will use)2.836 F(the nati)102 619.2 Q .3 -.15(ve ve)-.25 H 2.5 +(rsion. Ultrix,).15 F(Solaris, and DEC OSF/1 are e)2.5 E +(xamples of such systems.)-.15 E .969(If the underlying operating system does \ +not support a service switch \(e.g., SunOS, HP-UX,)127 635.4 R .975(BSD\) then) +102 647.4 R F2(sendmail)3.475 E F1 .975(will pro)3.475 F .975 +(vide a stub implementation.)-.15 F(The)5.975 E F0(Ser)3.475 E(viceSwitchFile) +-.1 E F1 .975(option points to)3.475 F .382(the name of a \214le that has the \ +service de\214nitions Each line has the name of a service and the possi-)102 +659.4 R(ble implementations of that service.)102 671.4 Q -.15(Fo)5 G 2.5(re).15 +G(xample, the \214le:)270.57 671.4 Q 12.94(hosts dns)142 687.6 R(\214les nis) +2.5 E 6.84(aliases \214les)142 699.6 R(nis)2.5 E .328(will ask)102 715.8 R F2 +(sendmail)2.828 E F1 .328(to look for hosts in the Domain Name System \214rst.) +2.828 F .329(If the requested host name is)5.329 F 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 .379 +(not found, it tries local \214les, and if that f)102 96 R .379 +(ails it tries NIS.)-.1 F(Similarly)5.379 E 2.879(,w)-.65 G .379 +(hen looking for aliases it will)385.166 96 R +(try the local \214les \214rst follo)102 108 Q(wed by NIS.)-.25 E 1.269 +(Service switches are not completely inte)127 124.2 R 3.769(grated. F)-.15 F +1.269(or e)-.15 F 1.269(xample, despite the f)-.15 F 1.27(act that the host)-.1 +F .294(entry listed in the abo)102 136.2 R .594 -.15(ve ex)-.15 H .293 +(ample speci\214es to look in NIS, on SunOS this w).15 F(on')-.1 E 2.793(th) +-.18 G .293(appen because the)430.664 136.2 R 1.398(system implementation of) +102 148.2 R/F2 10/Times-Italic@0 SF -.1(ge)3.898 G(thostbyname).1 E F1 1.398 +(\(3\) doesn')1.666 F 3.898(tu)-.18 G 1.399(nderstand this.)327.856 148.2 R +1.399(If there is enough demand)6.399 F F2(sendmail)102 160.2 Q F1 .015 +(may reimplement)2.515 F F2 -.1(ge)2.515 G(thostbyname).1 E F1(\(3\),)1.666 E +F2 -.1(ge)2.515 G(thostbyaddr).1 E F1(\(3\),)1.666 E F2 -.1(ge)2.515 G(tpwent) +.1 E F1 .014(\(3\), and the other system)1.666 F(routines that w)102 172.2 Q +(ould be necessary to mak)-.1 E 2.5(et)-.1 G(his w)272.05 172.2 Q +(ork seamlessly)-.1 E(.)-.65 E F0 2.5(2.5. The)87 196.2 R(Alias Database)2.5 E +F1 .36(The alias database e)127 212.4 R .36(xists in tw)-.15 F 2.86(of)-.1 G +2.861(orms. One)261.11 212.4 R .361(is a te)2.861 F .361 +(xt form, maintained in the \214le)-.15 F F2(/etc/aliases.)2.861 E F1 +(The aliases are of the form)102 224.4 Q(name: name1, name2, ...)142 240.6 Q +(Only local names may be aliased; e.g.,)102 256.8 Q(eric@prep.ai.MIT)142 273 Q +(.EDU: eric@CS.Berk)-.74 E(ele)-.1 E -.65(y.)-.15 G(EDU).65 E 1.088 +(will not ha)102 291.2 R 1.388 -.15(ve t)-.2 H 1.088(he desired ef).15 F 1.088 +(fect \(e)-.25 F 1.088(xcept on prep.ai.MIT)-.15 F 1.088(.EDU, and the)-.74 F +3.588(yp)-.15 G 1.088(robably don')400.868 291.2 R 3.587(tw)-.18 G 1.087 +(ant me\))466.643 291.2 R/F3 7/Times-Roman@0 SF(7)498 287.2 Q F1(.)501.5 291.2 +Q .561(Aliases may be continued by starting an)102 303.2 R 3.061(yc)-.15 G .561 +(ontinuation lines with a space or a tab)277.697 303.2 R 5.562(.B)-.4 G .562 +(lank lines and)447.326 303.2 R(lines be)102 315.2 Q +(ginning with a sharp sign \(\231#\232\) are comments.)-.15 E 1.478 +(The second form is processed by the)127 333.4 R F2(ndbm)3.978 E F1(\(3\))1.666 +E F3(8)321.472 329.4 Q F1(or)328.95 333.4 Q F2(db)3.978 E F1 1.478 +(\(3\) library)1.666 F 6.478(.T)-.65 G 1.478(his form is in the \214les)409.66 +333.4 R F2(/etc/aliases.dir)102 345.4 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 345.4 Q +(This technique is used to impro)102 357.4 Q .3 -.15(ve p)-.15 H(erformance.) +.15 E(The control of search order is actually set by the service switch.)127 +373.6 Q(Essentially)5 E 2.5(,t)-.65 G(he entry)437.96 373.6 Q -.35(OA)142 389.8 +S(switch:aliases).35 E .927(is al)102 406 R -.1(wa)-.1 G .927(ys added as the \ +\214rst alias entry; also, the \214rst alias \214le name without a class \(e.g\ +., without).1 F .268 +(\231nis:\232 on the front\) will be used as the name of the \214le for a `)102 +418 R(`\214les')-.74 E 2.769('e)-.74 G .269(ntry in the aliases switch.)382.535 +418 R -.15(Fo)5.269 G(r).15 E -.15(ex)102 430 S +(ample, if the con\214guration \214le contains).15 E -.35(OA)142 446.2 S +(/etc/aliases).35 E(and the service switch contains)102 462.4 Q 6.84 +(aliases nis)142 478.6 R(\214les nisplus)2.5 E 2.449(then aliases will \214rst\ + be searched in the NIS database, then in /etc/aliases, then in the NIS+)102 +494.8 R(database.)102 506.8 Q -1.1(Yo)127 523 S 2.5(uc)1.1 G(an also use)150.06 +523 Q/F4 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 523 Q -.35(OA)142 539.2 S +(/etc/aliases).35 E -.35(OA)142 551.2 S(nis:mail.aliases@my).35 E(.nis.domain) +-.65 E 1.725(will \214rst search the /etc/aliases \214le and then the map name\ +d \231mail.aliases\232 in \231my)102 567.4 R(.nis.domain\232.)-.65 E -.8(Wa)102 +579.4 S .59(rning: if you b).8 F .59(uild your o)-.2 F(wn)-.25 E F4(NIS)3.09 E +F1 .589(-based alias \214les, be sure to pro)B .589(vide the)-.15 F F0<ad6c> +3.089 E F1 .589(\215ag to)3.089 F F2(mak)3.089 E(edbm)-.1 E F1(\(8\))A .159 +(to map upper case letters in the k)102 591.4 R -.15(ey)-.1 G 2.659(st).15 G +2.659(ol)253.55 591.4 S -.25(ow)263.989 591.4 S .159 +(er case; otherwise, aliases with upper case letters in their).25 F(names w)102 +603.4 Q(on')-.1 E 2.5(tm)-.18 G(atch incoming addresses.)163.38 603.4 Q +(Additional \215ags can be added after the colon e)127 619.6 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 635.8 +S(nis:\255N mail.aliases@my).35 E(.nis.domain)-.65 E +(will search the appropriate NIS map and al)102 652 Q -.1(wa)-.1 G +(ys include null bytes in the k).1 E -.15(ey)-.1 G(.)-.5 E .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/F5 5/Times-Roman@0 SF(7)93.6 675.6 Q/F6 8 +/Times-Roman@0 SF(Actually)3.2 I 2(,a)-.52 G .24 -.12(ny m)130.684 678.8 T +(ailer that has the `).12 E 1.776 -.888(A' m)-.64 H(ailer \215ag set will perm\ +it aliasing; this is normally limited to the local mailer).888 E(.)-.44 E F5(8) +93.6 689.2 Q F6(The)3.2 I/F7 8/Times-Italic@0 SF(gdbm)2 E F6 +(package probably w)2 E(orks as well.)-.08 E 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.5.1. Reb)102 96 R +(uilding the alias database)-.2 E/F1 10/Times-Roman@0 SF .542(The DB or DBM v) +142 112.2 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 +124.2 Q(ne)157 140.4 Q -.1(wa)-.25 G(liases).1 E(This is equi)117 156.6 Q -.25 +(va)-.25 G(lent to gi).25 E(ving)-.25 E/F2 10/Times-Italic@0 SF(sendmail)2.5 E +F1(the)2.5 E F0(\255bi)2.5 E F1(\215ag:)2.5 E(/usr/sbin/sendmail \255bi)157 +172.8 Q 2.29(If the)142 193.2 R F0(Reb)4.79 E(uildAliases)-.2 E F1(\(old)4.79 E +F0(D)4.79 E F1 4.79(\)o)C 2.29(ption is speci\214ed in the con\214guration,) +280.19 193.2 R F2(sendmail)4.79 E F1(will)4.79 E(reb)117 205.2 Q .775 +(uild the alias database automatically if possible when it is out of date.)-.2 +F(Auto-reb)5.774 E .774(uild can be)-.2 F 1.853(dangerous on hea)117 217.2 R +1.853(vily loaded machines with lar)-.2 F 1.853 +(ge alias \214les; if it might tak)-.18 F 4.354(em)-.1 G 1.854(ore than the) +453.082 217.2 R(reb)117 229.2 Q 2.832(uild timeout \(option)-.2 F F0(AliasW) +5.332 E(ait)-.65 E F1 5.332(,o)C(ld)275.538 229.2 Q F0(a)5.332 E F1 5.332(,w)C +2.831(hich is normally \214v)308.702 229.2 R 5.331(em)-.15 G 2.831 +(inutes\) to reb)412.657 229.2 R 2.831(uild the)-.2 F +(database, there is a chance that se)117 241.2 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 257.4 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 269.4 Q(xample, it can reb)-.15 E +(uild NDBM databases b)-.2 E(ut not NIS databases\).)-.2 E F0 2.5(2.5.2. P)102 +293.4 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 +309.6 R(The)6.13 E 3.63(ya)-.15 G 1.13(ll result)472.59 309.6 R 1.103(from a) +117 321.6 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 333.6 R 3.749(oc)-.1 G 1.248 +(ircumstances: One process accesses the database while another process is) +199.237 333.6 R(reb)117 345.6 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 357.6 Q(uild.)-.2 E .401 +(Sendmail has three techniques to try to relie)142 373.8 R .701 -.15(ve t)-.25 +H .401(hese problems.).15 F .4(First, it ignores interrupts)5.401 F .045 +(while reb)117 385.8 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 +.177(partially reb)117 397.8 R .177(uilt database.)-.2 F .177 +(Second, it locks the database source \214le during the reb)5.177 F .176 +(uild \212 b)-.2 F .176(ut that)-.2 F .812(may not w)117 409.8 R .812(ork o)-.1 +F -.15(ve)-.15 G 3.312(rN).15 G .812(FS or if the \214le is unwritable.)205.388 +409.8 R .813(Third, at the end of the reb)5.813 F .813(uild it adds an)-.2 F +(alias of the form)117 421.8 Q(@: @)157 438 Q .336(\(which is not normally le) +117 454.2 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 +468.2 Q(xists)-.15 E/F3 7/Times-Roman@0 SF(9)179.63 464.2 Q F1(.)183.13 468.2 Q +F0 2.5(2.5.3. List)102 492.2 R -.1(ow)2.5 G(ners).1 E F1 .4 +(If an error occurs on sending to a certain address, say \231)142 508.4 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 520.4 R(wner)-.25 E(-)-.2 E F2(x)A F1 2.918<9a74>C 2.918 +(or)212.632 520.4 S(ecei)223.88 520.4 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 1.116 +(submitter of the list has no control o)117 532.4 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 532.4 R +(maintainer w)117 544.4 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 544.4 Q +(unix-wizards: eric@ucbarpa, wnj@monet, nosuchuser)157 560.6 Q(,)-.4 E +(sam@matisse)193 572.6 Q -.25(ow)157 584.6 S(ner).25 E +(-unix-wizards: unix-wizards-request)-.2 E(unix-wizards-request: eric@ucbarpa) +157 596.6 Q -.1(wo)117 612.8 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 624.8 Q +.958(List o)142 641 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 653 S .429(ner alias are used if the).25 F 2.929(yp)-.15 G .429 +(oint to a single user)236.364 653 R 2.928(,o)-.4 G .428 +(therwise the name of the alias itself is used.)326.436 653 R -.15(Fo)117 665 S +3.454(rt).15 G .954(his reason, and to obe)136.974 665 R 3.454(yI)-.15 G .954 +(nternet con)239.354 665 R -.15(ve)-.4 G .954(ntions, the \231o).15 F(wner)-.25 +E .955(-\232 address normally points at the)-.2 F .504(\231-request\232 addres\ +s; this causes messages to go out with the typical Internet con)117 677 R -.15 +(ve)-.4 G .503(ntion of using).15 F .32 LW 76 686.6 72 686.6 DL 80 686.6 76 +686.6 DL 84 686.6 80 686.6 DL 88 686.6 84 686.6 DL 92 686.6 88 686.6 DL 96 +686.6 92 686.6 DL 100 686.6 96 686.6 DL 104 686.6 100 686.6 DL 108 686.6 104 +686.6 DL 112 686.6 108 686.6 DL 116 686.6 112 686.6 DL 120 686.6 116 686.6 DL +124 686.6 120 686.6 DL 128 686.6 124 686.6 DL 132 686.6 128 686.6 DL 136 686.6 +132 686.6 DL 140 686.6 136 686.6 DL 144 686.6 140 686.6 DL 148 686.6 144 686.6 +DL 152 686.6 148 686.6 DL 156 686.6 152 686.6 DL 160 686.6 156 686.6 DL 164 +686.6 160 686.6 DL 168 686.6 164 686.6 DL 172 686.6 168 686.6 DL 176 686.6 172 +686.6 DL 180 686.6 176 686.6 DL 184 686.6 180 686.6 DL 188 686.6 184 686.6 DL +192 686.6 188 686.6 DL 196 686.6 192 686.6 DL 200 686.6 196 686.6 DL 204 686.6 +200 686.6 DL 208 686.6 204 686.6 DL 212 686.6 208 686.6 DL 216 686.6 212 686.6 +DL/F4 5/Times-Roman@0 SF(9)93.6 697 Q/F5 8/Times-Roman@0 SF(The)3.2 I/F6 8 +/Times-Bold@0 SF(AliasW)2 E(ait)-.52 E F5 +(option is required in the con\214guration for this action to occur)2 E 4(.T) +-.44 G(his should normally be speci\214ed.)352.228 700.2 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 -.74(``)117 96 S/F2 10 +/Times-Italic@0 SF(list).74 E F1(-request')A 2.5('a)-.74 G 2.5(st)180.22 96 S +(he return address.)189.39 96 Q F0 2.5(2.6. User)87 120 R(Inf)2.5 E +(ormation Database)-.25 E F1 1.059(If you ha)127 136.2 R 1.359 -.15(ve a ve)-.2 +H 1.059(rsion of).15 F F2(sendmail)3.559 E F1 1.06 +(with the user information database compiled in, and you)3.559 F(ha)102 148.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 160.2 Q F1(:maildrop entry)A 5(.I)-.65 G 2.5(ff)191.34 160.2 S +(ound, the mail will be sent to the speci\214ed address.)200.5 160.2 Q F0 2.5 +(2.7. P)87 184.2 R(er)-.2 E(-User F)-.37 E(orwarding \(.f)-.25 E +(orward Files\))-.25 E F1 .12(As an alternati)127 200.4 R .42 -.15(ve t)-.25 H +2.62(ot).15 G .12(he alias database, an)210.4 200.4 R 2.62(yu)-.15 G .121 +(ser may put a \214le with the name \231.forw)304.87 200.4 R .121 +(ard\232 in his)-.1 F .205(or her home directory)102 212.4 R 5.205(.I)-.65 G +2.705(ft)199.92 212.4 S .205(his \214le e)208.735 212.4 R(xists,)-.15 E F2 +(sendmail)2.705 E F1 .205 +(redirects mail for that user to the list of addresses)2.705 F .908 +(listed in the .forw)102 224.4 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.978 +224.4 R(ard)-.1 E(\214le with contents:)102 236.4 Q(mckusick@ernie)142 252.6 Q +(kirk@calder)142 264.6 Q(then an)102 280.8 Q 2.5(ym)-.15 G(ail arri)146.29 +280.8 Q +(ving for \231mckusick\232 will be redirected to the speci\214ed accounts.)-.25 +E(Actually)127 297 Q 3.375(,t)-.65 G .874 +(he con\214guration \214le de\214nes a sequence of \214lenames to check.) +169.445 297 R .874(By def)5.874 F .874(ault, this is)-.1 F .687(the user')102 +309 R 3.187(s.)-.55 G(forw)146.424 309 Q .687(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.188 +(option. If)3.188 F .688(you change)3.188 F .393(this, you will ha)102 321 R +.693 -.15(ve t)-.2 H 2.893(oi).15 G .393 +(nform your user base of the change; .forw)193.065 321 R .393 +(ard is pretty well incorporated into)-.1 F(the collecti)102 333 Q .3 -.15 +(ve s)-.25 H(ubconscious.).15 E F0 2.5(2.8. Special)87 357 R(Header Lines)2.5 E +F1(Se)127 373.2 Q -.15(ve)-.25 G 1.897(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.898 E(ha)102 385.2 Q 1.206 -.15(ve i)-.2 H .906(nterpretations b).15 F .906 +(uilt into)-.2 F F2(sendmail)3.406 E F1 .905 +(that cannot be changed without changing the code.)3.406 F(These)5.905 E -.2 +(bu)102 397.2 S(iltins are described here.).2 E F0 2.5(2.8.1. Err)102 421.2 R +(ors-T)-.18 E(o:)-.92 E F1 .22(If errors occur an)142 437.4 R .22 +(ywhere during processing, this header will cause error messages to go to)-.15 +F(the listed addresses.)117 449.4 Q(This is intended for mailing lists.)5 E +.385(The Errors-T)142 465.6 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 465.6 R .889(distinction between an en)117 477.6 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 477.6 Q .81 +(passed as the en)117 489.6 R -.15(ve)-.4 G .81(lope sender address.).15 F .809 +(It should go a)5.81 F -.1(wa)-.15 G 4.609 -.65(y. I).1 H 3.309(ti).65 G 3.309 +(so)374.125 489.6 S .809(nly used if the)386.324 489.6 R F0(UseErr)3.309 E +(orsT)-.18 E(o)-.92 E F1(option is set.)117 501.6 Q(The Errors-T)142 517.8 Q +(o: header is of)-.8 E(\214cial deprecated and will go a)-.25 E -.1(wa)-.15 G +2.5(yi).1 G 2.5(naf)392.3 517.8 S(uture release.)410.07 517.8 Q F0 2.5 +(2.8.2. A)102 541.8 R(ppar)-.25 E(ently-T)-.18 E(o:)-.92 E F1 .044 +(RFC 822 requires at least one recipient \214eld \(T)142 558 R .045 +(o:, Cc:, or Bcc: line\) in e)-.8 F -.15(ve)-.25 G .045(ry message.).15 F .045 +(If a)5.045 F .562 +(message comes in with no recipients listed in the message then)117 570 R F2 +(sendmail)3.062 E F1 .562(will adjust the header)3.062 F .085 +(based on the \231NoRecipientAction\232 option.)117 582 R .085 +(One of the possible actions is to add an \231)5.085 F(Apparently-)-.8 E -.8 +(To)117 594 S .08(:\232 header line for an).8 F 2.58(yr)-.15 G .08 +(ecipients it is a)218.36 594 R -.1(wa)-.15 G .08(re of.).1 F .08 +(This is not put in as a standard recipient line to)5.08 F -.1(wa)117 606 S +(rn an).1 E 2.5(yr)-.15 G(ecipients that the list is not complete.)159.51 606 Q +(The Apparently-T)142 622.2 Q(o: header is non-standard and is deprecated.)-.8 +E F0 2.5(2.8.3. Pr)102 646.2 R(ecedence)-.18 E F1 .425 +(The Precedence: header can be used as a crude control of message priority)142 +662.4 R 5.425(.I)-.65 G 2.925(tt)455.38 662.4 S .425(weaks the)463.865 662.4 R +(sort order in the queue and can be con\214gured to change the message timeout\ + v)117 674.4 Q(alues.)-.25 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 2.5(2.9. IDENT)87 96 R(Pr)2.5 E +(otocol Support)-.18 E/F1 10/Times-Italic@0 SF(Sendmail)127 112.2 Q/F2 10 +/Times-Roman@0 SF 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 124.2 R +.29(`call back')-.74 F 2.79('t)-.74 G 2.79(ot)396.17 124.2 S .29 +(he originating system to)406.74 124.2 R .469(include the o)102 136.2 R .469(w\ +ner of a particular TCP connection in the audit trail it is in no sense perfec\ +t; a deter)-.25 F(-)-.2 E 1.293(mined for)102 148.2 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 160.2 Q +2.5(6. Security)127 176.4 R(Considerations)2.5 E .006 +(The information returned by this protocol is at most as trustw)127 192.6 R +(orth)-.1 E 2.505(ya)-.05 G 2.505(st)400.505 192.6 S .005(he host pro)409.68 +192.6 R .005(viding it OR)-.15 F .273(the or)127 204.6 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 204.6 R 2.774(wi)-.25 G 2.774(fa) +448.612 204.6 S .574 -.15(ny c)459.156 204.6 T(ontrols).15 E .987(on it to pre) +127 216.6 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 216.6 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 228.6 R(neous and misleading.)127 240.6 Q .521(The Identi\214cati\ +on Protocol is not intended as an authorization or access control protocol.)127 +256.8 R(At)5.52 E 1.036(best, it pro)127 268.8 R 1.037 +(vides some additional auditing information with respect to TCP connections.) +-.15 F(At)6.037 E -.1(wo)127 280.8 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 297 R 2.697(couraged. Speci\214cally)127 309 R 2.697(,u) +-.65 G .197(sing Identi\214cation Protocol information to mak)228.114 309 R +2.697(ea)-.1 G .197(ccess control deci-)429.186 309 R .514(sions - either as t\ +he primary method \(i.e., no other checks\) or as an adjunct to other methods) +127 321 R(may result in a weak)127 333 Q(ening of normal host security)-.1 E(.) +-.65 E 1.778(An Identi\214cation serv)127 349.2 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 361.2 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 373.2 R .806 +(vided by some phone companies and man)-.15 F 3.306(yo)-.15 G(f)500.67 373.2 Q +1.398(the same pri)127 385.2 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 397.2 R 1.045(you w)3.545 F(ouldn')-.1 E 3.545(tr) +-.18 G 1.045(un a "\214nger" serv)260.33 397.2 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 409.2 Q(ant to run this protocol.)-.1 E .377 +(In some cases your system may not w)102 425.4 R .377 +(ork properly with IDENT support due to a b)-.1 F .376(ug in the TCP/IP)-.2 F +3.675(implementation. The)102 437.4 R 1.175 +(symptoms will be that for some hosts the SMTP connection will be closed)3.675 +F .566(almost immediately)102 449.4 R 5.566(.I)-.65 G 3.066(ft)192.482 449.4 S +.565(his is true or if you do not w)201.658 449.4 R .565(ant to use IDENT)-.1 F +3.065(,y)-.74 G .565(ou should set the IDENT)401.75 449.4 R +(timeout to zero; this will disable the IDENT protocol.)102 461.4 Q F0 2.5 +(3. ARGUMENTS)72 485.4 R F2 .017(The complete list of ar)112 501.6 R .017 +(guments to)-.18 F F1(sendmail)2.517 E F2 .017 +(is described in detail in Appendix A.)2.517 F .018(Some important)5.018 F(ar) +87 513.6 Q(guments are described here.)-.18 E F0 2.5(3.1. Queue)87 537.6 R +(Inter)2.5 E -.1(va)-.1 G(l).1 E F2 .455(The amount of time between forking a \ +process to run through the queue is de\214ned by the)127 553.8 R F0<ad71>2.955 +E F2 2.675(\215ag. If)102 565.8 R .175(you run with deli)2.675 F -.15(ve)-.25 G +.175(ry mode set to).15 F F0(i)2.675 E F2(or)2.675 E F0(b)2.675 E F2 .176 +(this can be relati)2.675 F -.15(ve)-.25 G .176(ly lar).15 F .176 +(ge, since it will only be rel-)-.18 F -.25(eva)102 577.8 S .207 +(nt when a host that w).25 F .207(as do)-.1 F .207(wn comes back up.)-.25 F +.206(If you run in)5.207 F F0(q)2.706 E F2 .206(mode it should be relati)2.706 +F -.15(ve)-.25 G .206(ly short,).15 F 1.039(since it de\214nes the maximum amo\ +unt of time that a message may sit in the queue.)102 589.8 R 1.039 +(\(See also the)6.039 F(MinQueueAge option.\))102 601.8 Q 1.336 +(RFC 1123 section 5.3.1.1 says that this v)127 618 R 1.335 +(alue should be at least 30 minutes \(although that)-.25 F(probably doesn')102 +630 Q 2.5(tm)-.18 G(ak)179.59 630 Q 2.5(es)-.1 G(ense if you use `)199.76 630 Q +(`queue-only')-.74 E 2.5('m)-.74 G(ode\).)329.08 630 Q F0 2.5(3.2. Daemon)87 +654 R(Mode)2.5 E F2 .084(If you allo)127 670.2 R 2.584(wi)-.25 G .084 +(ncoming mail o)181.162 670.2 R -.15(ve)-.15 G 2.585(ra).15 G 2.585(nI)263.605 +670.2 S .085(PC connection, you should ha)274.52 670.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 682.2 R F1 +(/etc/r)2.57 E(c)-.37 E F2 .07(\214le using the)2.57 F F0(\255bd)2.57 E F2 +2.569(\215ag. The)2.57 F F0(\255bd)2.569 E F2 .069(\215ag and the)2.569 F F0 +<ad71>2.569 E F2 .069(\215ag may be combined)2.569 F(in one call:)102 694.2 Q +(/usr/sbin/sendmail \255bd \255q30m)142 710.4 Q 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 .292(An alternati)127 96 R .592 +-.15(ve a)-.25 H .292(pproach is to in).15 F -.2(vo)-.4 G .493 -.1(ke s).2 H +.293(endmail from).1 F/F2 10/Times-Italic@0 SF(inetd)2.793 E F1 .293 +(\(8\) \(use the)B F0(\255bs)2.793 E F1 .293(\215ag to ask sendmail)2.793 F +.255(to speak SMTP on its standard input and output\).)102 108 R .255(This w) +5.255 F .255(orks and allo)-.1 F .255(ws you to wrap)-.25 F F2(sendmail)2.755 E +F1 .255(in a)2.755 F 1.39(TCP wrapper program, b)102 120 R 1.39 +(ut may be a bit slo)-.2 F 1.39 +(wer since the con\214guration \214le has to be re-read on)-.25 F -2.15 -.25 +(ev e)102 132 T .556(ry message that comes in.).25 F .556 +(If you do this, you still need to ha)5.556 F .856 -.15(ve a)-.2 H F2(sendmail) +3.206 E F1 .555(running to \215ush the)3.055 F(queue:)102 144 Q +(/usr/sbin/sendmail \255q30m)142 160.2 Q F0 2.5(3.3. F)87 188.4 R(or)-.25 E +(cing the Queue)-.18 E F1 .04(In some cases you may \214nd that the queue has \ +gotten clogged for some reason.)127 204.6 R -1.1(Yo)5.04 G 2.54(uc)1.1 G .04 +(an force)471.48 204.6 R 3.185(aq)102 216.6 S .685(ueue run using the)114.625 +216.6 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 228.6 Q +(atch what happens:)-.1 E(/usr/sbin/sendmail \255q \255v)142 244.8 Q -1.1(Yo) +127 265.2 S 4.004(uc)1.1 G 1.504 +(an also limit the jobs to those with a particular queue identi\214er)151.564 +265.2 R 4.004(,s)-.4 G(ender)428.362 265.2 Q 4.004(,o)-.4 G 4.004(rr)461.676 +265.2 S(ecipient)472.34 265.2 Q .687(using one of the queue modi\214ers.)102 +277.2 R -.15(Fo)5.687 G 3.187(re).15 G .687(xample, \231\255qRberk)265.659 +277.2 R(ele)-.1 E .686(y\232 restricts the queue run to jobs that)-.15 F(ha)102 +289.2 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 289.2 R +(its the run to particular senders and \231\255qIstring\232 limits it to parti\ +cular queue identi\214ers.)102 301.2 Q F0 2.5(3.4. Deb)87 325.2 R(ugging)-.2 E +F1 1.365(There are a f)127 341.4 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 341.4 R 1.365 +(ug \215ag has a)-.2 F 1.116(number and a le)102 353.4 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 365.4 R -.15(ve)-.25 G .294 +(ls greater than nine are \231absurd,).15 F 2.794<9a69>-.7 G .294(.e., the) +274.018 365.4 R 2.794(yp)-.15 G .293(rint out so much information that you w) +313.616 365.4 R(ouldn')-.1 E(t)-.18 E .691(normally w)102 377.4 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 389.4 Q F0<ad64>2.5 E F1 +(option; the syntax is:)2.5 E(deb)142 405.6 Q(ug-\215ag:)-.2 E F0<ad64>200.13 +405.6 Q F1(deb)2.5 E(ug-list)-.2 E(deb)142 417.6 Q 13.05(ug-list: deb)-.2 F +(ug-option [ , deb)-.2 E(ug-option ]*)-.2 E(deb)142 429.6 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 441.6 Q 3.07(ug-range: inte)-.2 F(ger | inte)-.15 E +(ger \255 inte)-.15 E(ger)-.15 E(deb)142 453.6 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 469.8 +Q 5(.F)-.65 G(or e)268.64 469.8 Q(xample,)-.15 E 34.99(\255d12 Set)142 486 R +(\215ag 12 to le)2.5 E -.15(ve)-.25 G 2.5(l1).15 G 27.49(\255d12.3 Set)142 498 +R(\215ag 12 to le)2.5 E -.15(ve)-.25 G 2.5(l3).15 G 24.35(\255d3\25517 Set)142 +510 R(\215ags 3 through 17 to le)2.5 E -.15(ve)-.25 G 2.5(l1).15 G 16.85 +(\255d3\25517.4 Set)142 522 R(\215ags 3 through 17 to le)2.5 E -.15(ve)-.25 G +2.5(l4).15 G -.15(Fo)102 538.2 S 4.066(rac).15 G 1.566(omplete list of the a) +132.752 538.2 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 538.2 R 4.065(ya)-.15 G 1.565(re too)479.385 538.2 +R(dynamic to k)102 550.2 Q(eep this documentation up to date\).)-.1 E F0 2.5 +(3.5. Changing)87 574.2 R(the V)2.5 E(alues of Options)-.92 E F1 +(Options can be o)127 590.4 Q -.15(ve)-.15 G(rridden using the).15 E F0<ad6f> +2.5 E F1(or)2.5 E F0<ad4f>2.5 E F1(command line \215ags.)2.5 E -.15(Fo)5 G 2.5 +(re).15 G(xample,)420.27 590.4 Q(/usr/sbin/sendmail \255oT2m)142 606.6 Q .02 +(sets the)102 622.8 R F0(T)2.52 E F1 .02(\(timeout\) option to tw)2.52 F 2.52 +(om)-.1 G .021(inutes for this run only; the equi)246.77 622.8 R -.25(va)-.25 G +.021(lent line using the long option).25 F(name is)102 634.8 Q +(/usr/sbin/sendmail -OQueueT)142 651 Q(imeout=2m)-.35 E .72(Some options ha)127 +671.4 R 1.02 -.15(ve s)-.2 H .72(ecurity implications.).15 F .72(Sendmail allo) +5.72 F .72(ws you to set these, b)-.25 F .72(ut relinquishes)-.2 F 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 +(its setuid root permissions thereafter)102 98 Q/F2 7/Times-Roman@0 SF(10) +247.54 94 Q F1(.)254.54 98 Q F0 2.5(3.6. T)87 122 R(rying a Differ)-.74 E +(ent Con\214guration File)-.18 E F1(An alternati)127 138.2 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 \255oQ/tmp/mqueue)142 154.4 Q .429 +(uses the con\214guration \214le)102 170.6 R/F3 10/Times-Italic@0 SF(test.cf) +2.928 E F1 .428(instead of the def)2.928 F(ault)-.1 E F3(/etc/sendmail.cf)2.928 +E(.)-.15 E F1 .428(If the)5.428 F F0<ad43>2.928 E F1 .428(\215ag has no v)2.928 +F(alue)-.25 E(it def)102 182.6 Q(aults to)-.1 E F3(sendmail.cf)2.5 E F1 +(in the current directory)2.5 E(.)-.65 E F3(Sendmail)127 198.8 Q F1(gi)2.679 E +-.15(ve)-.25 G 2.679(su).15 G 2.679(pi)195.288 198.8 S .18 +(ts setuid root permissions when you use this \215ag, so it is common to use a) +205.747 198.8 R .069(publicly writable directory \(such as /tmp\) as the spool\ + directory \(QueueDirectory or Q option\) while)102 210.8 R(testing.)102 222.8 +Q F0 2.5(3.7. Logging)87 246.8 R -.74(Tr)2.5 G(af\214c).74 E F1(Man)127 263 Q +3.254(yS)-.15 G .754(MTP implementations do not fully implement the protocol.) +158.994 263 R -.15(Fo)5.754 G 3.254(re).15 G .755(xample, some per)428.54 263 R +(-)-.2 E 1.178(sonal computer based SMTPs do not understand continuation lines\ + in reply codes.)102 275 R 1.177(These can be)6.178 F -.15(ve)102 287 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 299 S(ample,).15 E(/usr/sbin/sendmail \255X /tmp/traf) +142 315.2 Q(\214c \255bd)-.25 E(will log all traf)102 331.4 Q +(\214c in the \214le)-.25 E F3(/tmp/tr)2.5 E(af)-.15 E<8c63>-.18 E F1(.)A .998 +(This logs a lot of data v)127 347.6 R .997(ery quickly and should)-.15 F F0 +(NEVER)3.497 E F1 .997(be used during normal operations.)3.497 F .962(After st\ +arting up such a daemon, force the errant implementation to send a message to \ +your host.)102 359.6 R .609(All message traf)102 371.6 R .609 +(\214c in and out of)-.25 F F3(sendmail)3.109 E F1 3.109(,i)C .609 +(ncluding the incoming SMTP traf)281.882 371.6 R .608(\214c, will be logged in) +-.25 F(this \214le.)102 383.6 Q F0 2.5(3.8. T)87 407.6 R +(esting Con\214guration Files)-.92 E F1 .643(When you b)127 423.8 R .644(uild \ +a con\214guration table, you can do a certain amount of testing using the \231\ +test)-.2 F(mode\232 of)102 435.8 Q F3(sendmail)2.5 E F1 5(.F)C(or e)191.01 +435.8 Q(xample, you could in)-.15 E -.2(vo)-.4 G -.1(ke).2 G F3(sendmail)2.6 E +F1(as:)2.5 E(sendmail \255bt \255Ctest.cf)142 452 Q .448(which w)102 468.2 R +.448(ould read the con\214guration \214le \231test.cf\232 and enter test mode.) +-.1 F .447(In this mode, you enter lines)5.447 F(of the form:)102 480.2 Q +(rwset address)142 496.4 Q(where)102 512.6 Q F3(rwset)3.006 E F1 .506 +(is the re)3.006 F .506(writing set you w)-.25 F .506(ant to use and)-.1 F F3 +(addr)3.007 E(ess)-.37 E F1 .507(is an address to apply the set to.)3.007 F -.7 +(Te)5.507 G(st).7 E .794(mode sho)102 524.6 R .794(ws you the steps it tak)-.25 +F .794(es as it proceeds, \214nally sho)-.1 F .794 +(wing you the address it ends up with.)-.25 F -1.1(Yo)102 536.6 S 3.331(um)1.1 +G .832(ay use a comma separated list of rwsets for sequential application of r\ +ules to an input.)129.231 536.6 R -.15(Fo)5.832 G(r).15 E -.15(ex)102 548.6 S +(ample:).15 E(3,1,21,4 monet:bollard)142 564.8 Q .622 +(\214rst applies ruleset three to the input \231monet:bollard.)102 581 R 5.622 +<9a52>-.7 G .622(uleset one is then applied to the output of)334.036 581 R +(ruleset three, follo)102 593 Q(wed similarly by rulesets twenty-one and four) +-.25 E(.)-.55 E 1.084(If you need more detail, you can also use the \231\255d2\ +1\232 \215ag to turn on more deb)127 609.2 R 3.585(ugging. F)-.2 F(or)-.15 E +-.15(ex)102 621.2 S(ample,).15 E(sendmail \255bt \255d21.99)142 637.4 Q .689 +(turns on an incredible amount of information; a single w)102 653.6 R .688 +(ord address is probably going to print out)-.1 F(se)102 665.6 Q -.15(ve)-.25 G +(ral pages w).15 E(orth of information.)-.1 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 .497 +(That is, it sets its ef)3.2 J(fecti)-.2 E .737 -.12(ve u)-.2 H .497 +(id to the real uid; thus, if you are e).12 F -.12(xe)-.12 G .497 +(cuting as root, as from root').12 F 2.497(sc)-.44 G .497 +(rontab \214le or during system)413.572 692.4 R +(startup the root permissions will still be honored.)72 702 Q 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-Roman@0 SF -1.1(Yo)127 96 S 2.574(us)1.1 G +.074(hould be w)149.584 96 R .074(arned that internally)-.1 F(,)-.65 E/F2 10 +/Times-Italic@0 SF(sendmail)2.575 E F1 .075 +(applies ruleset 3 to all addresses.)2.575 F .075(In test mode)5.075 F +(you will ha)102 108 Q .3 -.15(ve t)-.2 H 2.5(od).15 G 2.5(ot)173.87 108 S +(hat manually)184.15 108 Q 5(.F)-.65 G(or e)248.35 108 Q(xample, older v)-.15 E +(ersions allo)-.15 E(wed you to use)-.25 E 2.5(0b)142 124.2 S +(ruce@broadcast.son)154.5 124.2 Q -.65(y.)-.15 G(com).65 E(This v)102 140.4 Q +(ersion requires that you use:)-.15 E(3,0 bruce@broadcast.son)142 156.6 Q -.65 +(y.)-.15 G(com).65 E(As of v)127 177 Q(ersion 8.7, some other syntax)-.15 E +(es are a)-.15 E -.25(va)-.2 G(ilable in test mode:).25 E 5<832e>107 193.2 S +1.666(Dxv)118 193.2 S .328(alue de\214nes macro)-1.916 F F2(x)2.828 E F1 .328 +(to ha)2.828 F .628 -.15(ve t)-.2 H .328(he indicated).15 F F2(value)2.828 E F1 +5.328(.T)C .328(his is useful when deb)346.134 193.2 R .327(ugging rules that) +-.2 F(use the)115.5 205.2 Q F0($&)2.5 E F2(x)A F1(syntax.)2.5 E 5<832e>107 +217.2 S 1.666(Ccv)118 217.2 S(alue adds the indicated)-1.916 E F2(value)2.5 E +F1(to class)2.5 E F2(c)2.5 E F1(.)A 5<832e>107 229.2 S 1.666(Sr)118 229.2 S +(uleset dumps the contents of the indicated ruleset.)-1.666 E 5<83ad>107 241.2 +S 1.666(dd)121.14 241.2 S(eb)-1.666 E(ug-spec is equi)-.2 E -.25(va)-.25 G +(lent to the command-line \215ag.).25 E F0 2.5(4. TUNING)72 265.2 R F1 1.922 +(There are a number of con\214guration parameters you may w)112 281.4 R 1.922 +(ant to change, depending on the)-.1 F .367(requirements of your site.)87 293.4 +R .366(Most of these are set using an option in the con\214guration \214le.) +5.367 F -.15(Fo)5.366 G 2.866(re).15 G(xample,)472.06 293.4 Q(the line \231O T) +87 305.4 Q(imeout.queuereturn=5d\232 sets option \231T)-.35 E +(imeout.queuereturn\232 to the v)-.35 E(alue \2315d\232 \(\214v)-.25 E 2.5(ed) +-.15 G(ays\).)476.47 305.4 Q .735(Most of these options ha)112 321.6 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 .046(mail loads may \214nd the)87 333.6 R +2.546(yn)-.15 G .046(eed to tune them as appropriate for their mail load.) +193.47 333.6 R .045(In particular)5.045 F 2.545(,s)-.4 G .045(ites e)459.395 +333.6 R(xperi-)-.15 E 1.087(encing a lar)87 345.6 R 1.087 +(ge number of small messages, man)-.18 F 3.587(yo)-.15 G 3.588(fw)294.496 345.6 +S 1.088(hich are deli)308.634 345.6 R -.15(ve)-.25 G 1.088(red to man).15 F +3.588(yr)-.15 G 1.088(ecipients, may \214nd)425.994 345.6 R(that the)87 357.6 Q +2.5(yn)-.15 G(eed to adjust the parameters dealing with queue priorities.) +129.07 357.6 Q .524(All v)112 373.8 R .524(ersions of)-.15 F F2(sendmail)3.024 +E F1 .524(prior to 8.7 had single character option names.)3.024 F .523 +(As of 8.7, options ha)5.524 F -.15(ve)-.2 G 1.215 +(long \(multi-character names\).)87 385.8 R 1.216 +(Although old short names are still accepted, most ne)6.215 F 3.716(wo)-.25 G +1.216(ptions do not)449.338 385.8 R(ha)87 397.8 Q .3 -.15(ve s)-.2 H(hort equi) +.15 E -.25(va)-.25 G(lents.).25 E .802 +(This section only describes the options you are most lik)112 414 R .802 +(ely to w)-.1 F .801(ant to tweak; read section 5 for)-.1 F(more details.)87 +426 Q F0 2.5(4.1. T)87 450 R(imeouts)-.18 E F1 .582(All time interv)127 466.2 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 466.2 R +(whereas \2312h30m\232 represents tw)102 478.2 Q 2.5(oa)-.1 G(nd a half hours.) +241.3 478.2 Q(The full set of scales is:)5 E 16.11(ss)142 494.4 S(econds)165.89 +494.4 Q 12.22(mm)142 506.4 S(inutes)169.78 506.4 Q 15(hh)142 518.4 S(ours)167 +518.4 Q 15(dd)142 530.4 S(ays)167 530.4 Q 12.78(ww)142 542.4 S(eeks)169.22 +542.4 Q F0 2.5(4.1.1. Queue)102 570.6 R(inter)2.5 E -.1(va)-.1 G(l).1 E F1 .18 +(The ar)142 586.8 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 586.8 R .18(This is)5.18 F .967 +(typically set to between \214fteen minutes and one hour)117 598.8 R 5.968(.R) +-.55 G .968(FC 1123 section 5.3.1.1 recommends)350.968 598.8 R +(that this be at least 30 minutes.)117 610.8 Q F0 2.5(4.1.2. Read)102 634.8 R +(timeouts)2.5 E F1 -.35(Ti)142 651 S 1.053(meouts all ha).35 F 1.352 -.15(ve o) +-.2 H 1.052(ption names \231T).15 F(imeout.)-.35 E F2(suboption)A F1 3.552 +(\232. The)B(recognized)3.552 E F2(suboption)3.552 E F1 1.052(s, their)B(def) +117 663 Q(ault v)-.1 E(alues, and the minimum v)-.25 E(alues allo)-.25 E +(wed by RFC 1123 section 5.3.2 are:)-.25 E 38.4(connect The)117 679.2 R .16 +(time to w)2.66 F .161(ait for an SMTP connection to open \(the)-.1 F F2 +(connect)2.661 E F1 .161(\(2\) system call\))B 1.154([0, unspeci\214ed].)189 +691.2 R 1.153(If zero, uses the k)6.153 F 1.153(ernel def)-.1 F 3.653(ault. In) +-.1 F 1.153(no case can this option)3.653 F -.15(ex)189 703.2 S .518 +(tend the timeout longer than the k).15 F .518(ernel pro)-.1 F .519(vides, b) +-.15 F .519(ut it can shorten it.)-.2 F(This)5.519 E .58(is to get around k)189 +715.2 R .579(ernels that pro)-.1 F .579 +(vide an absurdly long connection timeout \(90)-.15 F 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/F1 10/Times-Roman@0 SF +(minutes in one case\).)189 96 Q 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 1.556 +(because it could be pointing at a list that tak)189 196.8 R 1.556 +(es a long time to e)-.1 F 1.556(xpand \(see)-.15 F(belo)189 208.8 Q(w\).)-.25 +E 34.5(datainit\207 The)117 225 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 +241.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 +253.2 R/F2 10/Times-Italic@0 SF(send-)3.12 E(mail)189 265.2 Q F1(which ha)2.5 E +.3 -.15(ve n)-.2 H 2.5(og).15 G(uarantee of promptness.)274.75 265.2 Q 30.06 +(data\214nal\207 The)117 281.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 .884 +(shorter than the time actually needed for the recei)189 293.4 R -.15(ve)-.25 G +3.383(rt).15 G 3.383(od)412.881 293.4 S(eli)426.264 293.4 Q -.15(ve)-.25 G +3.383(rt).15 G .883(he message,)454.797 293.4 R(duplicates will be generated.) +189 305.4 Q(This is discussed in RFC 1047.)5 E 55.06(rset The)117 321.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 337.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 354 R -.1(wa)2.76 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 366 Q(erbose mode\).)-.15 E([2m, unspeci\214ed].)5 E 25.06(command\207 In) +117 382.2 R(serv)2.5 E(er SMTP)-.15 E 2.5(,t)-1.11 G(he time to w)259.4 382.2 Q +(ait for another command.)-.1 E([1h, 5m].)5 E 49.5(ident The)117 400.4 R +(timeout w)2.5 E(aiting for a reply to an IDENT query [30s)-.1 E/F3 7 +/Times-Roman@0 SF(11)413.86 396.4 Q F1 2.5(,u)420.86 400.4 S(nspeci\214ed].) +430.86 400.4 Q -.15(Fo)117 416.6 S 4.609(rc).15 G 2.109 +(ompatibility with old con\214guration \214les, if no)139.789 416.6 R F2 +(suboption)4.608 E F1 2.108(is speci\214ed, all the timeouts)4.608 F(mark)117 +428.6 Q(ed with \207 are set to the indicated v)-.1 E(alue.)-.25 E(Man)142 +444.8 Q 2.5(yo)-.15 G 2.5(ft)172.68 444.8 S(he RFC 1123 minimum v)181.29 444.8 +Q .001(alues may well be too short.)-.25 F F2(Sendmail)5.001 E F1 -.1(wa)2.501 +G 2.501(sd).1 G .001(esigned to)463.169 444.8 R .712 +(the RFC 822 protocols, which did not specify read timeouts; hence, v)117 456.8 +R .711(ersions of)-.15 F F2(sendmail)3.211 E F1(prior)3.211 E .864(to v)117 +468.8 R .865(ersion 8.1 did not guarantee to reply to messages promptly)-.15 F +5.865(.I)-.65 G 3.365(np)386.24 468.8 S(articular)399.605 468.8 Q 3.365(,a\231) +-.4 G .865(RCPT\232 com-)450.635 468.8 R .061 +(mand specifying a mailing list will e)117 480.8 R .061(xpand and v)-.15 F .06 +(erify the entire list; a lar)-.15 F .06(ge list on a slo)-.18 F 2.56(ws)-.25 G +(ystem)480.11 480.8 Q .436(may easily tak)117 494.8 R 2.936(em)-.1 G .436 +(ore than \214v)190.698 494.8 R 2.936(em)-.15 G(inutes)252.126 494.8 Q F3(12) +276.016 490.8 Q F1 5.436(.I)283.016 494.8 S .435 +(recommend a one hour timeout \212 since a commu-)297.218 494.8 R 1.365 +(nications f)117 506.8 R 1.366(ailure during the RCPT phase is rare, a long ti\ +meout is not onerous and may ulti-)-.1 F(mately help reduce netw)117 518.8 Q +(ork load and duplicated messages.)-.1 E -.15(Fo)142 535 S 2.5(re).15 G +(xample, the lines:)162.53 535 Q 2.5(OT)157 551.2 S(imeout.command=25m)172.48 +551.2 Q 2.5(OT)157 563.2 S(imeout.datablock=3h)172.48 563.2 Q .344 +(sets the serv)117 579.4 R .344(er SMTP command timeout to 25 minutes and the \ +input data block timeout to three)-.15 F(hours.)117 591.4 Q F0 2.5 +(4.1.3. Message)102 615.4 R(timeouts)2.5 E F1 .237 +(After sitting in the queue for a fe)142 631.6 R 2.737(wd)-.25 G .237 +(ays, a message will time out.)289.726 631.6 R .238(This is to insure that at) +5.238 F .568(least the sender is a)117 643.6 R -.1(wa)-.15 G .568 +(re of the inability to send a message.).1 F .567 +(The timeout is typically set to \214v)5.568 F(e)-.15 E 2.599(days. It)117 +655.6 R .099(is sometimes considered con)2.599 F -.15(ve)-.4 G .099 +(nient to also send a w).15 F .1(arning message if the message is in)-.1 F .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(11)93.6 675.6 Q/F5 8 +/Times-Roman@0 SF(On some systems the def)3.2 I +(ault is zero to turn the protocol of)-.08 E 2(fe)-.2 G(ntirely)293.848 678.8 Q +(.)-.52 E F4(12)93.6 689.2 Q F5 .212(This v)3.2 J .212 +(eri\214cation includes looking up e)-.12 F -.12(ve)-.2 G .212 +(ry address with the name serv).12 F .212(er; this in)-.12 F -.16(vo)-.32 G(lv) +.16 E .212(es netw)-.12 F .213(ork delays, and can in some cases)-.08 F +(can be considerable.)72 702 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 .176(the queue longer than a fe) +117 96 R 2.675(wh)-.25 G .175(ours \(assuming you normally ha)236.105 96 R .475 +-.15(ve g)-.2 H .175(ood connecti).15 F .175(vity; if your mes-)-.25 F .645 +(sages normally took se)117 108 R -.15(ve)-.25 G .645(ral hours to send you w) +.15 F(ouldn')-.1 E 3.145(tw)-.18 G .645(ant to do this because it w)355.055 108 +R(ouldn')-.1 E 3.145(tb)-.18 G(e)499.56 108 Q 3.871(an unusual e)117 120 R -.15 +(ve)-.25 G 6.371(nt\). These).15 F 3.871(timeouts are set using the)6.371 F F0 +-.18(Ti)6.371 G(meout.queuer).18 E(etur)-.18 E(n)-.15 E F1(and)6.371 E F0 -.18 +(Ti)6.37 G(me-).18 E(out.queuewar)117 132 Q(n)-.15 E F1 +(options in the con\214guration \214le \(pre)2.5 E +(viously both were set using the)-.25 E F0(T)2.5 E F1(option\).)2.5 E .106 +(Since these options are global, and since you can not kno)142 148.2 R(w)-.25 E +/F2 10/Times-Italic@0 SF 2.606(ap)2.606 G(riori)393.822 148.2 Q F1(ho)2.607 E +2.607(wl)-.25 G .107(ong another host)437.126 148.2 R .476 +(outside your domain will be do)117 160.2 R .475(wn, a \214v)-.25 F 2.975(ed) +-.15 G .475(ay timeout is recommended.)291.785 160.2 R .475(This allo)5.475 F +.475(ws a recipient)-.25 F 1.579(to \214x the problem e)117 172.2 R -.15(ve) +-.25 G 4.079(ni).15 G 4.079(fi)222.545 172.2 S 4.079(to)232.734 172.2 S 1.579 +(ccurs at the be)244.593 172.2 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 184.2 Q +(`at least 4\2555 days')-.74 E('.)-.74 E(The)142 200.4 Q F0 -.18(Ti)2.923 G +(meout.queuewar).18 E(n)-.15 E F1 -.25(va)2.923 G .423(lue can be piggyback).25 +F .422(ed on the)-.1 F F0(T)2.922 E F1 .422(option by indicating a time)2.922 F +.845(after which a w)117 212.4 R .845(arning message should be sent; the tw)-.1 +F 3.346(ot)-.1 G .846(imeouts are separated by a slash.)349.104 212.4 R -.15 +(Fo)5.846 G(r).15 E -.15(ex)117 224.4 S(ample, the line).15 E -.4(OT)157 240.6 +S(5d/4h).4 E .972(causes email to f)117 256.8 R .971(ail after \214v)-.1 F +3.471(ed)-.15 G .971(ays, b)245.329 256.8 R .971(ut a w)-.2 F .971 +(arning message will be sent after four hours.)-.1 F(This)5.971 E +(should be lar)117 268.8 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 +292.8 R(orking During Queue Runs)-.25 E F1 .848(By setting the)127 309 R F0 +-.25(Fo)3.348 G(rkEachJ).25 E(ob)-.15 E F1(\()3.348 E F0(Y)A F1 3.348(\)o)C +(ption,)271.12 309 Q F2(sendmail)3.348 E F1 .849(will fork before each indi) +3.348 F .849(vidual message)-.25 F .293(while running the queue.)102 321 R .293 +(This will pre)5.293 F -.15(ve)-.25 G(nt).15 E F2(sendmail)2.793 E F1 .293 +(from consuming lar)2.793 F .293(ge amounts of memory)-.18 F 2.792(,s)-.65 G(o) +499 321 Q 1.11(it may be useful in memory-poor en)102 333 R 3.61 +(vironments. Ho)-.4 F(we)-.25 E -.15(ve)-.25 G 1.91 -.4(r, i).15 H 3.61(ft).4 G +(he)359.95 333 Q F0 -.25(Fo)3.61 G(rkEachJ).25 E(ob)-.15 E F1 1.11 +(option is not set,)3.61 F F2(sendmail)102 345 Q F1 .085(will k)2.585 F .085 +(eep track of hosts that are do)-.1 F .084 +(wn during a queue run, which can impro)-.25 F .384 -.15(ve p)-.15 H +(erformance).15 E(dramatically)102 357 Q(.)-.65 E(If the)127 373.2 Q F0 -.25 +(Fo)2.5 G(rkEachJ).25 E(ob)-.15 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 397.2 R(Priorities) +2.5 E F1(Ev)127 413.4 Q 1.128(ery message is assigned a priority when it is \ +\214rst instantiated, consisting of the message)-.15 F .286 +(size \(in bytes\) of)102 425.4 R .286(fset by the message class \(which is de\ +termined from the Precedence: header\) times)-.25 F .342(the \231w)102 437.4 R +.342(ork class f)-.1 F .343 +(actor\232 and the number of recipients times the \231w)-.1 F .343 +(ork recipient f)-.1 F(actor)-.1 E 4.243 -.7(.\232 T)-.55 H .343(he priority).7 +F .073(is used to order the queue.)102 449.4 R .073 +(Higher numbers for the priority mean that the message will be processed)5.073 +F(later when running the queue.)102 461.4 Q .328 +(The message size is included so that lar)127 477.6 R .329 +(ge messages are penalized relati)-.18 F .629 -.15(ve t)-.25 H 2.829(os).15 G +.329(mall messages.)443.121 477.6 R .285(The message class allo)102 489.6 R +.285(ws users to send \231high priority\232 messages by including a \231Preced\ +ence:\232 \214eld)-.25 F .007(in their message; the v)102 501.6 R .007 +(alue of this \214eld is look)-.25 F .008(ed up in the)-.1 F F0(P)2.508 E F1 +.008(lines of the con\214guration \214le.)2.508 F .008(Since the)5.008 F 1.967 +(number of recipients af)102 513.6 R 1.967 +(fects the amount of load a message presents to the system, this is also)-.25 F +(included into the priority)102 525.6 Q(.)-.65 E .53(The recipient and class f) +127 541.8 R .53(actors can be set in the con\214guration \214le using the)-.1 F +F0(RecipientF)3.03 E(actor)-.25 E F1(\()102 553.8 Q F0(y)A F1 3.443(\)a)C(nd) +121.543 553.8 Q F0(ClassF)3.443 E(actor)-.25 E F1(\()3.442 E F0(z)A F1 3.442 +(\)o)C .942(ptions respecti)208.82 553.8 R -.15(ve)-.25 G(ly).15 E 5.942(.T) +-.65 G(he)298.534 553.8 Q 3.442(yd)-.15 G(ef)321.266 553.8 Q .942 +(ault to 30000 \(for the recipient f)-.1 F .942(actor\) and)-.1 F +(1800 \(for the class f)102 565.8 Q 2.5(actor\). The)-.1 F +(initial priority is:)2.5 E F2(pri)168.495 583.8 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 +(ClassFactor\))2.2 E F3(+)2.2 E F1(\()2.2 E F2(nrcpt).36 E F3<b4>2.88 E F0 +(RecipientFactor\))2.2 E F1(\(Remember)102 601.8 Q 3.328(,h)-.4 G .828(igher v) +159.638 601.8 R .828 +(alues for this parameter actually mean that the job will be treated with lo) +-.25 F(wer)-.25 E(priority)102 613.8 Q(.\))-.65 E 1.519(The priority of a job \ +can also be adjusted each time it is processed \(that is, each time an)127 630 +R .235(attempt is made to deli)102 642 R -.15(ve)-.25 G 2.736(ri).15 G .236 +(t\) using the \231w)211.938 642 R .236(ork time f)-.1 F(actor)-.1 E 1.636 -.7 +(,\232 s)-.4 H .236(et by the).7 F F0(RetryF)2.736 E(actor)-.25 E F1(\()2.736 E +F0(Z)A F1 2.736(\)o)C 2.736(ption. This)457.924 642 R .367 +(is added to the priority)102 654 R 2.867(,s)-.65 G 2.867(oi)202.625 654 S +2.867(tn)213.272 654 S .366 +(ormally decreases the precedence of the job, on the grounds that jobs)223.919 +654 R .137(that ha)102 666 R .437 -.15(ve f)-.2 H .137(ailed man).05 F 2.637 +(yt)-.15 G .137(imes will tend to f)193.598 666 R .137(ail ag)-.1 F .137 +(ain in the future.)-.05 F(The)5.137 E F0(RetryF)2.637 E(actor)-.25 E F1 .137 +(option def)2.637 F .138(aults to)-.1 F(90000.)102 678 Q 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 2.5(4.4. Load)87 96 R(Limiting)2.5 E/F1 +10/Times-Italic@0 SF(Sendmail)127 112.2 Q/F2 10/Times-Roman@0 SF .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 .483(using the)102 124.2 R F0(QueueLA)2.983 E F2(\() +2.983 E F0(x)A F2 2.983(\)o)C 2.983(ption. When)206.152 124.2 R .483 +(the load a)2.983 F -.15(ve)-.2 G .483(rage e).15 F .483(xceeds the v)-.15 F +.484(alue of the)-.25 F F0(QueueLA)2.984 E F2(option,)2.984 E .532(the deli)102 +136.2 R -.15(ve)-.25 G .532(ry mode is set to).15 F F0(q)3.032 E F2 .532 +(\(queue only\) if the)3.032 F F0(QueueF)3.032 E(actor)-.25 E F2(\()3.032 E F0 +(q)A F2 3.032(\)o)C .531(ption di)379.066 136.2 R .531(vided by the dif)-.25 F +(ference)-.25 E .004(in the current load a)102 148.2 R -.15(ve)-.2 G .004 +(rage and the).15 F F0(QueueLA)2.504 E F2 .004(option plus one e)2.504 F .004 +(xceeds the priority of the message \212)-.15 F +(that is, the message is queued if)102 160.2 Q(f:)-.25 E F1(pri)251.425 183.61 +Q F2(>)3.16 E F0(QueueFactor)287.21 176.61 Q F1(LA)276.475 190.61 Q/F3 10 +/Symbol SF(-)2.23 E F0(QueueLA)2.2 E F3(+)2.2 E .4 LW 354.625 181.01 275.895 +181.01 DL F2(1)349.625 190.61 Q(The)102 206.87 Q F0(QueueF)2.616 E(actor)-.25 E +F2 .116(option def)2.616 F .116(aults to 600000, so each point of load a)-.1 F +-.15(ve)-.2 G .116(rage is w).15 F .116(orth 600000 priority)-.1 F +(points \(as described abo)102 218.87 Q -.15(ve)-.15 G(\).).15 E -.15(Fo)127 +235.07 S 3.893(rd).15 G 1.393(rastic cases, the)149.633 235.07 R F0(RefuseLA) +3.893 E F2(\()3.893 E F0(X)A F2 3.893(\)o)C 1.394(ption de\214nes a load a) +288.228 235.07 R -.15(ve)-.2 G 1.394(rage at which).15 F F1(sendmail)3.894 E F2 +(will)3.894 E .69(refuse to accept netw)102 247.07 R .689(ork connections.)-.1 +F .689(Locally generated mail \(including incoming UUCP mail\) is)5.689 F +(still accepted.)102 259.07 Q F0 2.5(4.5. Deli)87 283.07 R -.1(ve)-.1 G +(ry Mode).1 E F2 .253(There are a number of deli)127 299.27 R -.15(ve)-.25 G +.253(ry modes that).15 F F1(sendmail)2.753 E F2 .254 +(can operate in, set by the)2.753 F F0(Deli)2.754 E -.1(ve)-.1 G(ryMode).1 E F2 +(\()102 311.27 Q F0(d)A F2 3.599(\)c)C 1.099(on\214guration option.)122.259 +311.27 R 1.099(These modes specify ho)6.099 F 3.598(wq)-.25 G 1.098 +(uickly mail will be deli)324.142 311.27 R -.15(ve)-.25 G 3.598(red. Le).15 F +-.05(ga)-.15 G 3.598(lm).05 G(odes)485.67 311.27 Q(are:)102 323.27 Q 17.22(id) +142 339.47 S(eli)167 339.47 Q -.15(ve)-.25 G 2.5(ri).15 G(nteracti)194.65 +339.47 Q -.15(ve)-.25 G(ly \(synchronously\)).15 E 15(bd)142 351.47 S(eli)167 +351.47 Q -.15(ve)-.25 G 2.5(ri).15 G 2.5(nb)194.65 351.47 S +(ackground \(asynchronously\))207.15 351.47 Q 15(qq)142 363.47 S +(ueue only \(don')167 363.47 Q 2.5(td)-.18 G(eli)240.42 363.47 Q -.15(ve)-.25 G +(r\)).15 E 15(dd)142 375.47 S(efer delv)167 375.47 Q(ery attempts \(don')-.15 E +2.5(td)-.18 G(eli)285.53 375.47 Q -.15(ve)-.25 G(r\)).15 E 1.273 +(There are tradeof)102 391.67 R 3.773(fs. Mode)-.25 F 1.273(\231i\232 gi)3.773 +F -.15(ve)-.25 G 3.773(st).15 G 1.273(he sender the quick)258.938 391.67 R +1.273(est feedback, b)-.1 F 1.274(ut may slo)-.2 F 3.774(wd)-.25 G -.25(ow) +462.146 391.67 S 3.774(ns).25 G(ome)486.78 391.67 Q .799 +(mailers and is hardly e)102 403.67 R -.15(ve)-.25 G 3.299(rn).15 G(ecessary) +216.405 403.67 Q 5.799(.M)-.65 G .799(ode \231b\232 deli)266.814 403.67 R -.15 +(ve)-.25 G .799(rs promptly b).15 F .798(ut can cause lar)-.2 F .798 +(ge numbers of)-.18 F .223(processes if you ha)102 415.67 R .524 -.15(ve a m) +-.2 H .224(ailer that tak).15 F .224(es a long time to deli)-.1 F -.15(ve)-.25 +G 2.724(ram).15 G 2.724(essage. Mode)370.904 415.67 R .224 +(\231q\232 minimizes the)2.724 F .597(load on your machine, b)102 427.67 R .597 +(ut means that deli)-.2 F -.15(ve)-.25 G .596 +(ry may be delayed for up to the queue interv).15 F 3.096(al. Mode)-.25 F .039 +(\231d\232 is identical to mode \231q\232 e)102 439.67 R .039 +(xcept that it also pre)-.15 F -.15(ve)-.25 G .04 +(nts all the early map lookups from w).15 F .04(orking; it is)-.1 F .086 +(intended for `)102 451.67 R .086(`dial on demand')-.74 F 2.586('s)-.74 G .085 +(ites where DNS lookups might cost real mone)233.42 451.67 R 3.885 -.65(y. S) +-.15 H .085(ome simple error).65 F .817(messages \(e.g., host unkno)102 463.67 +R .817(wn during the SMTP protocol\) will be delayed using this mode.)-.25 F +(Mode)5.818 E(\231b\232 is the usual def)102 475.67 Q(ault.)-.1 E .052(If you \ +run in mode \231q\232 \(queue only\), \231d\232 \(defer\), or \231b\232 \(deli) +127 491.87 R -.15(ve)-.25 G 2.552(ri).15 G 2.552(nb)389.136 491.87 S +(ackground\))401.688 491.87 Q F1(sendmail)2.551 E F2(will)2.551 E 1.391(not e) +102 503.87 R 1.392(xpand aliases and follo)-.15 F 3.892(w.)-.25 G(forw)232.428 +503.87 Q 1.392(ard \214les upon initial receipt of the mail.)-.1 F 1.392 +(This speeds up the)6.392 F(response to RCPT commands.)102 515.87 Q +(Mode \231i\232 cannot be used by the SMTP serv)5 E(er)-.15 E(.)-.55 E F0 2.5 +(4.6. Log)87 539.87 R(Le)2.5 E -.1(ve)-.15 G(l).1 E F2 .19(The le)127 556.07 R +-.15(ve)-.25 G 2.69(lo).15 G 2.69(fl)171.97 556.07 S .19(ogging can be set for) +180.77 556.07 R F1(sendmail)2.689 E F2 5.189(.T)C .189(he def)317.996 556.07 R +.189(ault using a standard con\214guration table)-.1 F(is le)102 568.07 Q -.15 +(ve)-.25 G 2.5(l9).15 G 5(.T)137.71 568.07 S(he le)151.32 568.07 Q -.15(ve)-.25 +G(ls are as follo).15 E(ws:)-.25 E 31(0N)102 584.27 S 2.5(ol)145.22 584.27 S +(ogging.)155.5 584.27 Q 31(1S)102 600.47 S(erious system f)143.56 600.47 Q +(ailures and potential security problems.)-.1 E 31(2L)102 616.67 S +(ost communications \(netw)144.11 616.67 Q(ork problems\) and protocol f)-.1 E +(ailures.)-.1 E 31(3O)102 632.87 S(ther serious f)145.22 632.87 Q(ailures.)-.1 +E 31(4M)102 649.07 S(inor f)146.89 649.07 Q(ailures.)-.1 E 31(5M)102 665.27 S +(essage collection statistics.)146.89 665.27 Q 31(6C)102 681.47 S +(reation of error messages, VRFY and EXPN commands.)144.67 681.47 Q 31(7D)102 +697.67 S(eli)145.22 697.67 Q -.15(ve)-.25 G(ry f).15 E +(ailures \(host or user unkno)-.1 E(wn, etc.\).)-.25 E 31(8S)102 713.87 S +(uccessful deli)143.56 713.87 Q -.15(ve)-.25 G(ries and alias database reb).15 +E(uilds.)-.2 E 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 31(9M)102 96 S +(essages being deferred \(due to a host being do)146.89 96 Q(wn, etc.\).)-.25 E +23.5(10 Database)102 112.2 R -.15(ex)2.5 G(pansion \(alias, forw).15 E +(ard, and userdb lookups\).)-.1 E 23.5(20 Logs)102 128.4 R .603 +(attempts to run lock)3.102 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 140.4 Q 23.5(30 Lost)102 156.6 R +(locks \(only if using lockf instead of \215ock\).)2.5 E(Additionally)102 172.8 +Q 2.717(,v)-.65 G .217(alues abo)161.877 172.8 R .516 -.15(ve 6)-.15 H 2.716 +(4a).15 G .216(re reserv)228.596 172.8 R .216(ed for e)-.15 F .216(xtremely v) +-.15 F .216(erbose deb)-.15 F .216(ugging output.)-.2 F .216(No normal site) +5.216 F -.1(wo)102 184.8 S(uld e).1 E -.15(ve)-.25 G 2.5(rs).15 G(et these.) +152.6 184.8 Q F0 2.5(4.7. File)87 208.8 R(Modes)2.5 E F1 .264 +(The modes used for \214les depend on what functionality you w)127 225 R .264 +(ant and the le)-.1 F -.15(ve)-.25 G 2.764(lo).15 G 2.764(fs)448.482 225 S .264 +(ecurity you)458.466 225 R(require.)102 237 Q F0 2.5(4.7.1. T)102 261 R 2.5(os) +-.92 G(uid or not to suid?)146.64 261 Q/F2 10/Times-Italic@0 SF(Sendmail)142 +277.2 Q F1 .934(can safely be made setuid to root.)3.434 F .934 +(At the point where it is about to)5.934 F F2 -.2(ex)3.433 G(ec).2 E F1 .933 +(\(2\) a)1.666 F(mailer)117 289.2 Q 2.582(,i)-.4 G 2.582(tc)150.012 289.2 S +.082(hecks to see if the userid is zero; if so, it resets the userid and group\ +id to a def)159.814 289.2 R .083(ault \(set)-.1 F .577(by the)117 301.2 R F0(u) +3.077 E F1(and)3.077 E F0(g)3.077 E F1 3.077(options\). \(This)3.077 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 .576(\215ag to the mailer for mailers)3.076 F 1.531 +(that are trusted and must be called as root.\))117 313.2 R(Ho)6.531 E(we)-.25 +E -.15(ve)-.25 G 2.331 -.4(r, t).15 H 1.532 +(his will cause mail processing to be).4 F(accounted \(using)117 325.2 Q F2(sa) +2.5 E F1(\(8\)\) to root rather than to the user sending the mail.)1.666 E .339 +(If you don')142 341.4 R 2.839(tm)-.18 G(ak)200.887 341.4 Q(e)-.1 E F2 +(sendmail)2.839 E F1 .339(setuid to root, it will still run b)2.839 F .339 +(ut you lose a lot of functional-)-.2 F .007(ity and a lot of pri)117 353.4 R +-.25(va)-.25 G -.15(cy).25 G 2.507(,s)-.5 G .008(ince you')215.452 353.4 R .008 +(ll ha)-.1 F .308 -.15(ve t)-.2 H 2.508(om).15 G(ak)300.024 353.4 Q 2.508(et) +-.1 G .008(he queue directory w)319.092 353.4 R .008(orld readable.)-.1 F -1.1 +(Yo)5.008 G 2.508(uc)1.1 G(ould)486.22 353.4 Q .501(also mak)117 365.4 R(e)-.1 +E F2(sendmail)3.001 E F1 .501(setuid to some pseudo-user \(e.g., create a user\ + called \231sendmail\232 and mak)3.001 F(e)-.1 E F2(sendmail)117 377.4 Q F1 +1.533(setuid to that\) which will \214x the pri)4.033 F -.25(va)-.25 G 1.834 +-.15(cy p).25 H 1.534(roblems b).15 F 1.534(ut not the functionality issues.) +-.2 F .642(Also, this isn')117 389.4 R 3.142(tag)-.18 G .641 +(uarantee of security: for e)192.448 389.4 R .641 +(xample, root occasionally sends mail, and the dae-)-.15 F +(mon often runs as root.)117 401.4 Q F0 2.5(4.7.2. Should)102 425.4 R +(my alias database be writable?)2.5 E F1 .058(At Berk)142 441.6 R(ele)-.1 E +2.558(yw)-.15 G 2.558(eh)200.186 441.6 S -2.25 -.2(av e)212.184 441.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 453.6 R -.2(vo)-.2 G 1.718 +(ids potential security problems with a globally).2 F(writable database.)117 +465.6 Q 1.19(The database that)142 481.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 +481.8 Q F2(aliases.dir)3.691 E F1(and)3.691 E F2(aliases.pa)117 493.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 493.8 Q +(ele)-.1 E 2.658(yd)-.15 G .158(atabase prim-)449.692 493.8 R(iti)117 505.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 517.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 517.8 +R .719(desired changes through to the actual database.)117 529.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 541.8 Q(yw)-.15 E(ay)-.1 E(.)-.65 E +.621(If your DBM \214les are not writable by the w)142 558 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 3.028(\(with the)117 570 R F0 -.5(Au)5.528 G(toReb).5 E +(uildAliases)-.2 E F1 3.028 +(option\), then you must be careful to reconstruct the alias)5.528 F +(database each time you change the te)117 582 Q(xt v)-.15 E(ersion:)-.15 E(ne) +157 598.2 Q -.1(wa)-.25 G(liases).1 E(If this step is ignored or for)117 614.4 +Q(gotten an)-.18 E 2.5(yi)-.15 G(ntended changes will also be ignored or for) +273.32 614.4 Q(gotten.)-.18 E F0 2.5(4.8. Connection)87 638.4 R(Caching)2.5 E +F1 .642(When processing the queue,)127 654.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 654.6 R -.2(avo)102 666.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 682.8 R +.287(If an open connection is found,)5.286 F .92 +(it is probed to see if it is still acti)102 694.8 R 1.22 -.15(ve b)-.25 H 3.42 +(ys).15 G .92(ending a)270.892 694.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 706.8 Q 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 -1 -.8(Tw o)127 +96 T .408(parameters control the connection cache.)3.708 F(The)5.408 E F0 +(ConnectionCacheSize)2.908 E F1(\()2.908 E F0(k)A F1 2.908(\)o)C .408 +(ption de\214nes)452.202 96 R .145 +(the number of simultaneous open connections that will be permitted.)102 108 R +.145(If it is set to zero, connections)5.145 F .212 +(will be closed as quickly as possible.)102 120 R .212(The def)5.212 F .212 +(ault is one.)-.1 F .213(This should be set as appropriate for your)5.212 F .63 +(system size; it will limit the amount of system resources that)102 132 R/F2 10 +/Times-Italic@0 SF(sendmail)3.129 E F1 .629(will use during queue runs.)3.129 F +(Ne)102 144 Q -.15(ve)-.25 G 2.5(rs).15 G(et this higher than 4.)132.42 144 Q +(The)127 160.2 Q F0(ConnectionCacheT)2.74 E(imeout)-.18 E F1(\()2.741 E F0(K)A +F1 2.741(\)o)C .241(ption speci\214es the maximum time that an)281.692 160.2 R +2.741(yc)-.15 G .241(ached con-)460.169 160.2 R .9 +(nection will be permitted to idle.)102 172.2 R .899(When the idle time e)5.9 F +.899(xceeds this v)-.15 F .899(alue the connection is closed.)-.25 F .34 +(This number should be small \(under ten minutes\) to pre)102 184.2 R -.15(ve) +-.25 G .34(nt you from grabbing too man).15 F 2.84(yr)-.15 G(esources)469.57 +184.2 Q(from other hosts.)102 196.2 Q(The def)5 E(ault is \214v)-.1 E 2.5(em) +-.15 G(inutes.)257.57 196.2 Q F0 2.5(4.9. Name)87 220.2 R(Ser)2.5 E -.1(ve)-.1 +G 2.5(rA).1 G(ccess)172.33 220.2 Q F1 .104 +(Control of host address lookups is set by the)127 236.4 R F0(hosts)2.604 E F1 +.103(service entry in your service switch \214le.)2.603 F(If)5.103 E .99 +(you are on a system that has b)102 248.4 R .99 +(uilt-in service switch support \(e.g., Ultrix, Solaris, or DEC OSF/1\))-.2 F +.336(then your system is probably con\214gured properly already)102 260.4 R +5.335(.O)-.65 G(therwise,)347.885 260.4 Q F2(sendmail)2.835 E F1 .335 +(will consult the \214le)2.835 F F0(/etc/ser)102 272.4 Q(vice.switch)-.1 E F1 +2.5(,w)C(hich should be created.)191.04 272.4 Q F2(Sendmail)5 E F1 +(only uses tw)2.5 E 2.5(oe)-.1 G(ntries:)389.8 272.4 Q F0(hosts)2.5 E F1(and) +2.5 E F0(aliases)2.5 E F1(.)A(Ho)127 288.6 Q(we)-.25 E -.15(ve)-.25 G .908 -.4 +(r, s).15 H .108(ome systems \(such as SunOS\) will do DNS lookups re).4 F -.05 +(ga)-.15 G .108(rdless of the setting of the).05 F 1.558(service switch entry) +102 300.6 R 6.558(.I)-.65 G 4.058(np)196.834 300.6 S(articular)210.892 300.6 Q +4.058(,t)-.4 G 1.558(he system routine)253.15 300.6 R F2 -.1(ge)4.058 G +(thostbyname).1 E F1 1.558(\(3\) is used to look up host)B .461(names, and man) +102 312.6 R 2.961(yv)-.15 G .461(endor v)180.293 312.6 R .461 +(ersions try some combination of DNS, NIS, and \214le lookup in /etc/hosts)-.15 +F .537(without consulting a service switch.)102 324.6 R F2(Sendmail)5.537 E F1 +(mak)3.037 E .536(es no attempt to w)-.1 F .536(ork around this problem, and) +-.1 F .27(the DNS lookup will be done an)102 336.6 R(yw)-.15 E(ay)-.1 E 5.27 +(.I)-.65 G 2.77(fy)264.36 336.6 S .271(ou do not ha)275.46 336.6 R .571 -.15 +(ve a n)-.2 H(ameserv).15 E .271(er con\214gured at all, such as at)-.15 F +2.855(aU)102 348.6 S .355(UCP-only site,)116.515 348.6 R F2(sendmail)2.855 E F1 +.354 +(will get a \231connection refused\232 message when it tries to connect to the) +2.855 F .622(name serv)102 360.6 R(er)-.15 E 5.622(.I)-.55 G 3.122(ft)161.964 +360.6 S(he)171.196 360.6 Q F0(hosts)3.122 E F1 .623 +(switch entry has the service \231dns\232 listed some)3.122 F .623 +(where in the list,)-.25 F F2(sendmail)3.123 E F1 .912 +(will interpret this to mean a temporary f)102 372.6 R .912 +(ailure and will queue the mail for later processing; other)-.1 F(-)-.2 E +(wise, it ignores the name serv)102 384.6 Q(er data.)-.15 E .672 +(The same technique is used to decide whether to do MX lookups.)127 400.8 R +.673(If you w)5.673 F .673(ant MX support,)-.1 F(you)102 412.8 Q F2(must)2.5 E +F1(ha)2.5 E .3 -.15(ve \231)-.2 H(dns\232 listed as a service in the).15 E F0 +(hosts)2.5 E F1(switch entry)2.5 E(.)-.65 E(The)127 429 Q F0(Resolv)3.87 E +(erOptions)-.1 E F1(\()3.87 E F0(I)A F1 3.869(\)o)C 1.369(ption allo)240.719 +429 R 1.369(ws you to tweak name serv)-.25 F 1.369(er options.)-.15 F 1.369 +(The command)6.369 F .892(line tak)102 441 R .892 +(es a series of \215ags as documented in)-.1 F F2 -.37(re)3.392 G(solver).37 E +F1 .892(\(3\) \(with the leading \231RES_\232 deleted\).)B(Each)5.892 E +(can be preceded by an optional `+' or `)102 453 Q/F3 10/Symbol SF(-)A F1 2.5 +('. F)B(or e)-.15 E(xample, the line)-.15 E 2.5(OR)142 469.2 S(esolv)158.39 +469.2 Q(erOptions=+AA)-.15 E(ONL)-.55 E(Y)-1 E F3(-)2.5 E F1(DNSRCH)A .862 +(turns on the AA)102 485.4 R(ONL)-.55 E 3.362(Y\()-1 G .862(accept authoritati) +201.658 485.4 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 485.4 R 2.039 +(domain path\) options.)102 497.4 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 .503(\215ags on and all others of)102 509.4 R 3.003(f. Y)-.25 F .503 +(ou can also include \231HasW)-1.1 F .503 +(ildcardMX\232 to specify that there is a wild-)-.4 F 1.972 +(card MX record matching your domain; this turns of)102 521.4 R 4.472(fM)-.25 G +4.473(Xm)344.188 521.4 S 1.973(atching when canonifying names,)363.661 521.4 R +(which can lead to inappropriate canoni\214cations.)102 533.4 Q -1.11(Ve)127 +549.6 S 2.257(rsion le)1.11 F -.15(ve)-.25 G 4.757(l1c).15 G 2.256 +(on\214gurations turn DNSRCH and DEFN)200.301 549.6 R 2.256(AMES of)-.35 F +4.756(fw)-.25 G 2.256(hen doing deli)424.898 549.6 R -.15(ve)-.25 G(ry).15 E +2.06(lookups, b)102 561.6 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 +573.6 R -.1(wa)-.1 G .313(ys does the search.).1 F .313(If you don')5.313 F +2.812(tw)-.18 G(ant)491.78 573.6 Q(to do automatic name e)102 585.6 Q +(xtension, don')-.15 E 2.5(tc)-.18 G(all $[ ... $].)261.93 585.6 Q .485 +(The search rules for $[ ... $] are some)127 601.8 R .485(what dif)-.25 F .485 +(ferent than usual.)-.25 F .486(If the name being look)5.485 F .486(ed up)-.1 F +.11(has at least one dot, it al)102 613.8 R -.1(wa)-.1 G .11 +(ys tries the unmodi\214ed name \214rst.).1 F .109(If that f)5.109 F .109 +(ails, it tries the reduced search)-.1 F .124 +(path, and lastly tries the unmodi\214ed name \(b)102 625.8 R .124 +(ut only for names without a dot, since names with a dot)-.2 F(ha)102 637.8 Q +.789 -.15(ve a)-.2 H .489(lready been tried\).).15 F .489(This allo)5.489 F +.489(ws names such as `)-.25 F(`utc.CS')-.74 E 2.989('t)-.74 G 2.988(om)362.81 +637.8 S .488(atch the site in Czechoslo)378.578 637.8 R -.25(va)-.15 G(kia).25 +E 1.587(rather than the site in your local Computer Science department.)102 +649.8 R 1.588(It also prefers A and CN)6.587 F(AME)-.35 E .513(records o)102 +661.8 R -.15(ve)-.15 G 3.013(rM).15 G 3.013(Xr)163.816 661.8 S .513 +(ecords \212 that is, if it \214nds an MX record it mak)177.379 661.8 R .512 +(es note of it, b)-.1 F .512(ut k)-.2 F .512(eeps looking.)-.1 F 1.541(This w) +102 673.8 R(ay)-.1 E 4.041(,i)-.65 G 4.041(fy)149.052 673.8 S 1.541(ou ha) +161.423 673.8 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 685.8 Q 3.454 -.8(To c)127 702 T 1.853(ompletely turn of).8 F +4.353(fa)-.25 G 1.853(ll name serv)231.123 702 R 1.853 +(er access on systems without service switch support)-.15 F .578 +(\(such as SunOS\) you will ha)102 714 R .878 -.15(ve t)-.2 H 3.078(or).15 G +.579(ecompile with \255DN)245.406 714 R .579(AMED_BIND=0 and remo)-.35 F .879 +-.15(ve \255)-.15 H .579(lresolv from).15 F 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/F1 10/Times-Roman@0 SF +(the list of libraries to be searched when linking.)102 96 Q F0 2.5(4.10. Mo)87 +120 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 136.2 R 3.272(sh)-.55 G .772 +(ome directory from a local disk on their w)256.13 136.2 R .772 +(orkstation, so that)-.1 F .575(local access is f)102 148.2 R 3.075(ast. Ho)-.1 +F(we)-.25 E -.15(ve)-.25 G 1.375 -.4(r, t).15 H .575(he result is that .forw).4 +F .575(ard \214le lookups are slo)-.1 F 4.376 -.65(w. I)-.25 H 3.076(ns).65 G +.576(ome cases, mail)439.248 148.2 R .216(can e)102 160.2 R -.15(ve)-.25 G +2.716(nb).15 G 2.716(ed)144.792 160.2 S(eli)156.948 160.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 172.2 Q(.)-.55 E +(The)127 188.4 Q F0 -.25(Fo)2.743 G(rwardP).25 E(ath)-.1 E F1(\()2.743 E F0(J)A +F1 2.743(\)o)C .243(ption allo)224.859 188.4 R .243 +(ws you to set a path of forw)-.25 F .243(ard \214les.)-.1 F -.15(Fo)5.243 G +2.743(re).15 G .244(xample, the con-)436.582 188.4 R(\214g \214le line)102 +200.4 Q 2.5(OF)142 216.6 S(orw)157.13 216.6 Q(ardP)-.1 E(ath=/v)-.15 E(ar/forw) +-.25 E(ard/$u:$z/.forw)-.1 E(ard.$w)-.1 E -.1(wo)102 232.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 232.8 R(ar/forw)-.25 E .207 +(ard; if that is not found)-.1 F 1.17(\(or is inaccessible\) the \214le `)102 +244.8 R(`.forw)-.74 E(ard.)-.1 E/F2 10/Times-Italic@0 SF(mac)A(hinename)-.15 E +F1 2.651 -.74('' i)D 3.671(nt).74 G 1.171(he user')337.014 244.8 R 3.671(sh) +-.55 G 1.171(ome directory is searched.)382.126 244.8 R(A)6.171 E(truly perv) +102 256.8 Q(erse site could also search by sender by using $r)-.15 E 2.5(,$)-.4 +G(s, or $f.)343.07 256.8 Q .69(If you create a directory such as /v)127 273 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 273 Q(should be set\).)102 285 Q +(Users should create the \214les mode 644.)5 E F0 2.5(4.11. Fr)87 309 R +(ee Space)-.18 E F1 1.405(On systems that ha)127 325.2 R 1.705 -.15(ve o)-.2 H +1.405(ne of the system calls in the).15 F F2(statfs)3.906 E F1 1.406(\(2\) f)B +1.406(amily \(including)-.1 F F2(statvfs)3.906 E F1(and)3.906 E F2(ustat)102 +337.2 Q F1 .839(\), you can specify a minimum number of free blocks on the que\ +ue \214lesystem using the)B F0(Min-)3.339 E(Fr)102 349.2 Q(eeBlocks)-.18 E F1 +(\()2.553 E F0(b)A F1 2.553(\)o)C 2.553(ption. If)171.916 349.2 R .053 +(there are fe)2.553 F .053 +(wer than the indicated number of blocks free on the \214lesystem)-.25 F 1.355 +(on which the queue is mounted the SMTP serv)102 361.2 R 1.355 +(er will reject mail with the 452 error code.)-.15 F(This)6.354 E(in)102 373.2 +Q(vites the SMTP client to try ag)-.4 E(ain later)-.05 E(.)-.55 E(Be)127 389.4 +Q -.1(wa)-.25 G .746(re of setting this option too high; it can cause rejectio\ +n of email when that mail w).1 F(ould)-.1 E(be processed without dif)102 401.4 +Q(\214culty)-.25 E(.)-.65 E F0 2.5(4.12. Maximum)87 425.4 R(Message Size)2.5 E +F1 2.078 -.8(To a)127 441.6 T -.2(vo).6 G .478(id o).2 F -.15(ve)-.15 G(r\215o) +.15 E .478(wing your system with a lar)-.25 F .478(ge message, the)-.18 F F0 +(MaxMessageSize)2.977 E F1 .477(option can be)2.977 F .692 +(set to set an absolute limit on the size of an)102 453.6 R 3.193(yo)-.15 G +.693(ne message.)294.176 453.6 R .693(This will be adv)5.693 F .693 +(ertised in the ESMTP)-.15 F(dialogue and check)102 465.6 Q +(ed during message collection.)-.1 E F0 2.5(4.13. Pri)87 489.6 R -.1(va)-.1 G +(cy Flags).1 E F1(The)127 505.8 Q F0(Pri)2.96 E -.1(va)-.1 G(cyOptions).1 E F1 +(\()2.96 E F0(p)A F1 2.96(\)o)C .46(ption allo)235.12 505.8 R .46 +(ws you to set certain `)-.25 F(`pri)-.74 E -.25(va)-.25 G -.15(cy).25 G 1.94 +-.74('' \215).15 H 2.96(ags. Actually).74 F 2.96(,m)-.65 G(an)478.42 505.8 Q +2.96(yo)-.15 G(f)500.67 505.8 Q .533(them don')102 517.8 R 3.033(tg)-.18 G +-2.15 -.25(iv e)153.996 517.8 T .533(you an)3.283 F 3.034(ye)-.15 G .534 +(xtra pri)208.496 517.8 R -.25(va)-.25 G -.15(cy).25 G 3.034(,r)-.5 G .534 +(ather just insisting that client SMTP serv)264.634 517.8 R .534 +(ers use the HELO)-.15 F 2.87 +(command before using certain commands or adding e)102 529.8 R 2.87 +(xtra headers to indicate possible spoof)-.15 F(attempts.)102 541.8 Q .123 +(The option tak)127 558 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.706 +558 R .424 -.15(ve o)-.25 H 2.624(ro).15 G 2.624(ft)434.058 558 S .124 +(hose \215ags.)442.792 558 R -.15(Fo)5.124 G(r).15 E -.15(ex)102 570 S(ample:) +.15 E 2.5(OP)142 586.2 S(ri)157.28 586.2 Q -.25(va)-.25 G -.15(cy).25 G +(Options=needmailhelo, noe).15 E(xpn)-.15 E .928(insists that the HELO or EHLO\ + command be used before a MAIL command is accepted and dis-)102 602.4 R +(ables the EXPN command.)102 614.4 Q +(The \215ags are detailed in section 5.1.6.)127 630.6 Q F0 2.5(4.14. Send)87 +654.6 R(to Me T)2.5 E(oo)-.92 E F1(Normally)127 670.8 Q(,)-.65 E F2(sendmail) +3.423 E F1 .923(deletes the \(en)3.423 F -.15(ve)-.4 G .923 +(lope\) sender from an).15 F 3.423(yl)-.15 G .924(ist e)375.484 670.8 R 3.424 +(xpansions. F)-.15 F .924(or e)-.15 F .924(xample, if)-.15 F .761(\231matt\232\ + sends to a list that contains \231matt\232 as one of the members he w)102 +682.8 R(on')-.1 E 3.261(tg)-.18 G .761(et a cop)416.705 682.8 R 3.261(yo)-.1 G +3.261(ft)462.488 682.8 S .761(he mes-)471.859 682.8 R 2.882(sage. If)102 694.8 +R(the)2.882 E F0<ad6d>2.882 E F1 .383 +(\(me too\) command line \215ag, or if the)2.882 F F0(MeT)2.883 E(oo)-.92 E F1 +(\()2.883 E F0(m)A F1 2.883(\)o)C .383(ption is set in the con\214guration) +377.915 694.8 R(\214le, this beha)102 706.8 Q(viour is suppressed.)-.2 E +(Some sites lik)5 E 2.5(et)-.1 G 2.5(or)305.31 706.8 S(un the)316.14 706.8 Q/F3 +9/Times-Roman@0 SF(SMTP)2.5 E F1(daemon with)2.5 E F0<ad6d>2.5 E F1(.)A 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. THE)72 96 R +(WHOLE SCOOP ON THE CONFIGURA)2.5 E(TION FILE)-.95 E/F1 10/Times-Roman@0 SF +(This section describes the con\214guration \214le in detail.)112 112.2 Q .648 +(There is one point that should be made clear immediately: the syntax of the c\ +on\214guration \214le is)112 128.4 R 1.076 +(designed to be reasonably easy to parse, since this is done e)87 140.4 R -.15 +(ve)-.25 G 1.077(ry time).15 F/F2 10/Times-Italic@0 SF(sendmail)3.577 E F1 +1.077(starts up, rather than)3.577 F(easy for a human to read or write.)87 +152.4 Q +(On the \231future project\232 list is a con\214guration-\214le compiler)5 E(.) +-.55 E .243(The con\214guration \214le is or)112 168.6 R -.05(ga)-.18 G .243 +(nized as a series of lines, each of which be).05 F .243 +(gins with a single charac-)-.15 F .102 +(ter de\214ning the semantics for the rest of the line.)87 180.6 R .102 +(Lines be)5.102 F .102(ginning with a space or a tab are continuation)-.15 F +1.323(lines \(although the semantics are not well de\214ned in man)87 192.6 R +3.823(yp)-.15 G 3.822(laces\). Blank)340.61 192.6 R 1.322(lines and lines be) +3.822 F(ginning)-.15 E(with a sharp symbol \(`#'\) are comments.)87 204.6 Q F0 +2.5(5.1. R)87 228.6 R(and S \212 Rewriting Rules)2.5 E F1 .465 +(The core of address parsing are the re)127 244.8 R .466(writing rules.)-.25 F +.466(These are an ordered production system.)5.466 F F2(Sendmail)102 256.8 Q F1 +.19(scans through the set of re)2.69 F .19 +(writing rules looking for a match on the left hand side \(LHS\) of)-.25 F +(the rule.)102 268.8 Q(When a rule matches, the address is replaced by the rig\ +ht hand side \(RHS\) of the rule.)5 E .921(There are se)127 285 R -.15(ve)-.25 +G .921(ral sets of re).15 F .921(writing rules.)-.25 F .921(Some of the re) +5.921 F .922(writing sets are used internally and)-.25 F .36(must ha)102 297 R +.66 -.15(ve s)-.2 H .36(peci\214c semantics.).15 F .359(Other re)5.359 F .359 +(writing sets do not ha)-.25 F .659 -.15(ve s)-.2 H .359 +(peci\214cally assigned semantics, and).15 F +(may be referenced by the mailer de\214nitions or by other re)102 309 Q +(writing sets.)-.25 E(The syntax of these tw)127 325.2 Q 2.5(oc)-.1 G +(ommands are:)229.38 325.2 Q F0(S)142 341.4 Q F2(n)A F1 .248 +(Sets the current ruleset being collected to)102 357.6 R F2(n)2.748 E F1 5.248 +(.I)C 2.748(fy)287.284 357.6 S .248(ou be)298.362 357.6 R .249 +(gin a ruleset more than once it deletes the old)-.15 F(de\214nition.)102 369.6 +Q F0(R)142 385.8 Q F2(lhs rhs comments)A F1 1.185(The \214elds must be separat\ +ed by at least one tab character; there may be embedded spaces in the)102 402 R +2.594(\214elds. The)102 414 R F2(lhs)2.594 E F1 .095 +(is a pattern that is applied to the input.)2.594 F .095 +(If it matches, the input is re)5.095 F .095(written to the)-.25 F F2(rhs)2.595 +E F1(.)A(The)102 426 Q F2(comments)2.5 E F1(are ignored.)2.5 E .755(Macro e)127 +442.2 R .755(xpansions of the form)-.15 F F0($)3.255 E F2(x)A F1 .755 +(are performed when the con\214guration \214le is read.)3.255 F(Expan-)5.755 E +.283(sions of the form)102 454.2 R F0($&)2.783 E F2(x)A F1 .284 +(are performed at run time using a some)2.783 F .284 +(what less general algorithm.)-.25 F .284(This for)5.284 F +(is intended only for referencing internally de\214ned macros such as)102 466.2 +Q F0($h)2.5 E F1(that are changed at runtime.)2.5 E F0 2.5(5.1.1. The)102 490.2 +R(left hand side)2.5 E F1 2.771(The left hand side of re)142 506.4 R 2.771 +(writing rules contains a pattern.)-.25 F 2.77(Normal w)7.771 F 2.77 +(ords are simply)-.1 F(matched directly)117 518.4 Q 5(.M)-.65 G +(etasyntax is introduced using a dollar sign.)199.67 518.4 Q +(The metasymbols are:)5 E F0($*)157 534.6 Q F1(Match zero or more tok)177.14 +534.6 Q(ens)-.1 E F0($+)157 546.6 Q F1(Match one or more tok)9.44 E(ens)-.1 E +F0<24ad>157 558.6 Q F1(Match e)9.44 E(xactly one tok)-.15 E(en)-.1 E F0($=)157 +570.6 Q F2(x)A F1(Match an)5 E 2.5(yp)-.15 G(hrase in class)226.98 570.6 Q F2 +(x)2.5 E F0($~)157 582.6 Q F2(x)A F1(Match an)7.37 E 2.5(yw)-.15 G +(ord not in class)229.1 582.6 Q F2(x)2.5 E F1 .131(If an)117 598.8 R 2.631(yo) +-.15 G 2.631(ft)148.212 598.8 S .131(hese match, the)156.953 598.8 R 2.631(ya) +-.15 G .132(re assigned to the symbol)231.066 598.8 R F0($)2.632 E F2(n)A F1 +.132(for replacement on the right hand side,)2.632 F(where)117 610.8 Q F2(n)2.5 +E F1(is the inde)2.5 E 2.5(xi)-.15 G 2.5(nt)202.67 610.8 S(he LHS.)212.95 610.8 +Q -.15(Fo)5 G 2.5(re).15 G(xample, if the LHS:)271.81 610.8 Q($\255:$+)157 627 +Q(is applied to the input:)117 643.2 Q(UCB)157 659.4 Q(ARP)-.35 E(A:eric)-.92 E +(the rule will match, and the v)117 675.6 Q(alues passed to the RHS will be:) +-.25 E 7.5($1 UCB)157 691.8 R(ARP)-.35 E(A)-.92 E 7.5($2 eric)157 703.8 R 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(Additionally)142 96 Q 2.705(,t) +-.65 G .204(he LHS can include)199.895 96 R F0($@)2.704 E F1 .204 +(to match zero tok)2.704 F 2.704(ens. This)-.1 F(is)2.704 E/F2 10 +/Times-Italic@0 SF(not)2.704 E F1 .204(bound to a)2.704 F F0($)2.704 E F2(n)A +F1(on)2.704 E(the RHS, and is normally only used when it stands alone in order\ + to match the null input.)117 108 Q F0 2.5(5.1.2. The)102 132 R +(right hand side)2.5 E F1 .648(When the left hand side of a re)142 148.2 R .649 +(writing rule matches, the input is deleted and replaced by)-.25 F 1.037 +(the right hand side.)117 160.2 R -.8(To)6.037 G -.1(ke).8 G 1.036 +(ns are copied directly from the RHS unless the).1 F 3.536(yb)-.15 G -.15(eg) +430.772 160.2 S 1.036(in with a dollar).15 F 2.5(sign. Metasymbols)117 172.2 R +(are:)2.5 E F0($)157 188.4 Q F2(n)A F1(Substitute inde\214nite tok)207.55 188.4 +Q(en)-.1 E F2(n)2.5 E F1(from LHS)2.5 E F0($[)157 200.4 Q F2(name)A F0($])A F1 +(Canonicalize)207.55 200.4 Q F2(name)2.5 E F0($\()157 212.4 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)207.55 224.4 Q -.15(ey)-.1 G(ed mapping function).15 E +F0($>)157 236.4 Q F2(n)A F1(\231Call\232 ruleset)207.55 236.4 Q F2(n)2.5 E F0 +($#)157 248.4 Q F2(mailer)A F1(Resolv)207.55 248.4 Q 2.5(et)-.15 G(o)244.9 +248.4 Q F2(mailer)2.5 E F0($@)157 260.4 Q F2(host)A F1(Specify)207.55 260.4 Q +F2(host)2.5 E F0($:)157 272.4 Q F2(user)A F1(Specify)207.55 272.4 Q F2(user)2.5 +E F1(The)142 292.8 Q F0($)3.136 E F2(n)A F1 .637 +(syntax substitutes the corresponding v)3.136 F .637(alue from a)-.25 F F0($+) +3.137 E F1(,)A F0<24ad>3.137 E F1(,)A F0($*)3.137 E F1(,)A F0($=)3.137 E F1 +3.137(,o)C(r)448.489 292.8 Q F0($~)3.137 E F1 .637(match on)3.137 F(the LHS.) +117 304.8 Q(It may be used an)5 E(ywhere.)-.15 E 2.706(Ah)142 321 S .206 +(ost name enclosed between)156.926 321 R F0($[)2.706 E F1(and)2.706 E F0($]) +2.706 E F1 .206(is look)2.706 F .205 +(ed up in the host database\(s\) and replaced)-.1 F 1.683 +(by the canonical name)117 335 R/F3 7/Times-Roman@0 SF(13)211.749 331 Q F1 +6.683(.F)218.749 335 S 1.683(or e)233.342 335 R 1.683 +(xample, \231$[ftp$]\232 might become \231ftp.CS.Berk)-.15 F(ele)-.1 E -.65(y.) +-.15 G 1.683(EDU\232 and).65 F 2.707(\231$[[128.32.130.2]$]\232 w)117 347 R +2.707(ould become \231v)-.1 F(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.)-.15 G +(EDU.).65 E<9a>-.7 E F2(Sendmail)7.707 E F1 2.706(recognizes it')5.206 F(s)-.55 +E(numeric IP address without calling the name serv)117 359 Q +(er and replaces it with it')-.15 E 2.5(sc)-.55 G(anonical name.)424.3 359 Q +(The)142 375.2 Q F0($\()3.003 E F1(...)3.003 E F0($\))5.503 E F1 .503 +(syntax is a more general form of lookup; it uses a named map instead of an) +3.003 F .81(implicit map.)117 387.2 R .81(If no lookup is found, the indicated) +5.81 F F2(default)3.309 E F1 .809(is inserted; if no def)3.309 F .809 +(ault is speci\214ed)-.1 F .775(and no lookup matches, the v)117 399.2 R .776 +(alue is left unchanged.)-.25 F(The)5.776 E F2(ar)3.276 E(guments)-.37 E F1 +.776(are passed to the map for)3.276 F(possible use.)117 411.2 Q(The)142 427.4 +Q F0($>)2.62 E F2(n)A F1 .119(syntax causes the remainder of the line to be su\ +bstituted as usual and then passed)2.62 F .586(as the ar)117 439.4 R .586 +(gument to ruleset)-.18 F F2(n)3.086 E F1 5.586(.T)C .586(he \214nal v)244.206 +439.4 R .586(alue of ruleset)-.25 F F2(n)3.087 E F1 .587 +(then becomes the substitution for this)3.087 F 3.075(rule. The)117 451.4 R F0 +($>)3.075 E F1 .575(syntax can only be used at the be)3.075 F .575 +(ginning of the right hand side; it can be only be)-.15 F(preceded by)117 463.4 +Q F0($@)2.5 E F1(or)2.5 E F0($:)2.5 E F1(.)A(The)142 479.6 Q F0($#)2.507 E F1 +.007(syntax should)2.507 F F2(only)2.507 E F1 .008 +(be used in ruleset zero or a subroutine of ruleset zero.)2.507 F .008 +(It causes)5.008 F -.25(eva)117 491.6 S .685 +(luation of the ruleset to terminate immediately).25 F 3.184(,a)-.65 G .684 +(nd signals to)329.502 491.6 R F2(sendmail)3.184 E F1 .684 +(that the address has)3.184 F(completely resolv)117 503.6 Q 2.5(ed. The)-.15 F +(complete syntax is:)2.5 E F0($#)157 519.8 Q F2(mailer)A F0($@)2.5 E F2(host)A +F0($:)2.5 E F2(user)A F1 1.394(This speci\214es the {mailer)117 536 R 3.894(,h) +-.4 G 1.394(ost, user} 3-tuple necessary to direct the mailer)234.466 536 R +6.394(.I)-.55 G 3.894(ft)444.548 536 S 1.394(he mailer is)454.552 536 R .774 +(local the host part may be omitted)117 550 R F3(14)257.744 546 Q F1 5.774(.T) +264.744 550 S(he)279.128 550 Q F2(mailer)3.274 E F1 .775(must be a single w) +3.274 F .775(ord, b)-.1 F .775(ut the)-.2 F F2(host)3.275 E F1(and)3.275 E F2 +(user)3.275 E F1 .253(may be multi-part.)117 562 R .253(If the)5.253 F F2 +(mailer)2.753 E F1 .253(is the b)2.753 F .253(uiltin IPC mailer)-.2 F 2.753(,t) +-.4 G(he)354.733 562 Q F2(host)2.753 E F1 .253(may be a colon-separated list) +2.753 F .5(of hosts that are searched in order for the \214rst w)117 574 R .5 +(orking address \(e)-.1 F .5(xactly lik)-.15 F 3(eM)-.1 G 3(Xr)437.47 574 S 3 +(ecords\). The)451.02 574 R F2(user)117 586 Q F1 .036(is later re)2.536 F .036 +(written by the mailer)-.25 F .036(-speci\214c en)-.2 F -.15(ve)-.4 G .036 +(lope re).15 F .036(writing set and assigned to the)-.25 F F0($u)2.536 E F1 +(macro.)2.536 E .492(As a special case, if the v)117 598 R .492(alue to)-.25 F +F0($#)2.992 E F1 .492(is \231local\232 and the \214rst character of the)2.992 F +F0($:)2.992 E F1 -.25(va)2.992 G .492(lue is \231@\232, the).25 F .017 +(\231@\232 is stripped of)117 610 R .017(f, and a \215ag is set in the address\ + descriptor that causes sendmail to not do rule-)-.25 F(set 5 processing.)117 +622 Q(Normally)142 638.2 Q 3.251(,ar)-.65 G .751 +(ule that matches is retried, that is, the rule loops until it f)196.452 638.2 +R 3.252(ails. A)-.1 F .752(RHS may)3.252 F 1.086(also be preceded by a)117 +650.2 R F0($@)3.586 E F1 1.085(or a)3.585 F F0($:)3.585 E F1 1.085 +(to change this beha)3.585 F(vior)-.2 E 6.085(.A)-.55 G F0($@)375.685 650.2 Q +F1 1.085(pre\214x causes the ruleset to)3.585 F .32 LW 76 659.8 72 659.8 DL 80 +659.8 76 659.8 DL 84 659.8 80 659.8 DL 88 659.8 84 659.8 DL 92 659.8 88 659.8 +DL 96 659.8 92 659.8 DL 100 659.8 96 659.8 DL 104 659.8 100 659.8 DL 108 659.8 +104 659.8 DL 112 659.8 108 659.8 DL 116 659.8 112 659.8 DL 120 659.8 116 659.8 +DL 124 659.8 120 659.8 DL 128 659.8 124 659.8 DL 132 659.8 128 659.8 DL 136 +659.8 132 659.8 DL 140 659.8 136 659.8 DL 144 659.8 140 659.8 DL 148 659.8 144 +659.8 DL 152 659.8 148 659.8 DL 156 659.8 152 659.8 DL 160 659.8 156 659.8 DL +164 659.8 160 659.8 DL 168 659.8 164 659.8 DL 172 659.8 168 659.8 DL 176 659.8 +172 659.8 DL 180 659.8 176 659.8 DL 184 659.8 180 659.8 DL 188 659.8 184 659.8 +DL 192 659.8 188 659.8 DL 196 659.8 192 659.8 DL 200 659.8 196 659.8 DL 204 +659.8 200 659.8 DL 208 659.8 204 659.8 DL 212 659.8 208 659.8 DL 216 659.8 212 +659.8 DL/F4 5/Times-Roman@0 SF(13)93.6 670.2 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(14)93.6 683.8 Q F5 +-.88(Yo)3.2 K 2.726(um).88 G .726(ay w)120.446 687 R .726 +(ant to use it for special \231per user\232 e)-.08 F 2.726(xtensions. F)-.12 F +.726(or e)-.12 F .725 +(xample, in the address \231jgm+foo@CMU.EDU\232; the \231+foo\232)-.12 F(part \ +is not part of the user name, and is passed to the local mailer for local use.) +72 696.6 Q 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.46 +(return with the remainder of the RHS as the v)117 96 R 3.96(alue. A)-.25 F F0 +($:)3.96 E F1 1.46(pre\214x causes the rule to terminate)3.96 F(immediately)117 +108 Q 3.756(,b)-.65 G 1.256(ut the ruleset to continue; this can be used to a) +177.406 108 R -.2(vo)-.2 G 1.256(id continued application of a).2 F 2.5 +(rule. The)117 120 R(pre\214x is stripped before continuing.)2.5 E(The)142 +136.2 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$+ $:)157 152.4 R($>7 $1)2.5 E 1.256(matches an)117 168.6 R 1.256 +(ything, passes that to ruleset se)-.15 F -.15(ve)-.25 G 1.256 +(n, and continues; the).15 F F0($:)3.756 E F1 1.256(is necessary to a)3.756 F +-.2(vo)-.2 G 1.256(id an).2 F(in\214nite loop.)117 180.6 Q 1.205(Substitution \ +occurs in the order described, that is, parameters from the LHS are substi-)142 +196.8 R .219(tuted, hostnames are canonicalized, \231subroutines\232 are calle\ +d, and \214nally)117 208.8 R F0($#)2.719 E F1(,)A F0($@)2.719 E F1 2.72(,a)C +(nd)448.64 208.8 Q F0($:)2.72 E F1 .22(are pro-)2.72 F(cessed.)117 220.8 Q F0 +2.5(5.1.3. Semantics)102 244.8 R(of r)2.5 E(ewriting rule sets)-.18 E F1 1.523 +(There are \214v)142 261 R 4.023(er)-.15 G -.25(ew)207.779 261 S 1.523 +(riting sets that ha).25 F 1.823 -.15(ve s)-.2 H 1.523(peci\214c semantics.).15 +F -.15(Fo)6.523 G 1.523(ur of these are related as).15 F +(depicted by \214gure 1.)117 273 Q 1.029 +(Ruleset three should turn the address into \231canonical form.)142 289.2 R +6.029<9a54>-.7 G 1.03(his form should ha)401.351 289.2 R 1.33 -.15(ve t)-.2 H +(he).15 E(basic syntax:)117 301.2 Q(local-part@host-domain-spec)157 317.4 Q +(Ruleset three is applied by)117 333.6 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.)396.39 +333.6 Q .302(If no \231@\232 sign is speci\214ed, then the host-domain-spec)142 +349.8 R F2(may)2.801 E F1 .301(be appended \(box \231D\232 in Fig-)2.801 F .577 +(ure 1\) from the sender address \(if the)117 361.8 R F0(C)3.077 E F1 .577 +(\215ag is set in the mailer de\214nition corresponding to the)3.077 F F2 +(sending)117 373.8 Q F1(mailer\).)2.5 E 1.021(Ruleset zero is applied after ru\ +leset three to addresses that are going to actually specify)142 390 R 3.663 +(recipients. It)117 402 R 1.163(must resolv)3.663 F 3.663(et)-.15 G 3.664(oa) +232.602 402 S F2({mailer)A 3.664(,h)-1.11 G 1.164(ost, user})289.534 402 R F1 +3.664(triple. The)3.664 F F2(mailer)3.664 E F1 1.164(must be de\214ned in the) +3.664 F .752(mailer de\214nitions from the con\214guration \214le.)117 414 R +(The)5.751 E F2(host)3.251 E F1 .751(is de\214ned into the)3.251 F F0($h)3.251 +E F1 .751(macro for use in)3.251 F(the ar)117 426 Q(gv e)-.18 E +(xpansion of the speci\214ed mailer)-.15 E(.)-.55 E .452(Rulesets one and tw) +142 442.2 R 2.952(oa)-.1 G .452 +(re applied to all sender and recipient addresses respecti)235.918 442.2 R -.15 +(ve)-.25 G(ly).15 E 5.453(.T)-.65 G(he)489.71 442.2 Q(y)-.15 E +(are applied before an)117 454.2 Q 2.5(ys)-.15 G +(peci\214cation in the mailer de\214nition.)212.37 454.2 Q(The)5 E 2.5(ym)-.15 +G(ust ne)391.1 454.2 Q -.15(ve)-.25 G 2.5(rr).15 G(esolv)432.91 454.2 Q(e.)-.15 +E .4 LW 77 483.6 72 483.6 DL 79 483.6 74 483.6 DL 84 483.6 79 483.6 DL 89 483.6 +84 483.6 DL 94 483.6 89 483.6 DL 99 483.6 94 483.6 DL 104 483.6 99 483.6 DL 109 +483.6 104 483.6 DL 114 483.6 109 483.6 DL 119 483.6 114 483.6 DL 124 483.6 119 +483.6 DL 129 483.6 124 483.6 DL 134 483.6 129 483.6 DL 139 483.6 134 483.6 DL +144 483.6 139 483.6 DL 149 483.6 144 483.6 DL 154 483.6 149 483.6 DL 159 483.6 +154 483.6 DL 164 483.6 159 483.6 DL 169 483.6 164 483.6 DL 174 483.6 169 483.6 +DL 179 483.6 174 483.6 DL 184 483.6 179 483.6 DL 189 483.6 184 483.6 DL 194 +483.6 189 483.6 DL 199 483.6 194 483.6 DL 204 483.6 199 483.6 DL 209 483.6 204 +483.6 DL 214 483.6 209 483.6 DL 219 483.6 214 483.6 DL 224 483.6 219 483.6 DL +229 483.6 224 483.6 DL 234 483.6 229 483.6 DL 239 483.6 234 483.6 DL 244 483.6 +239 483.6 DL 249 483.6 244 483.6 DL 254 483.6 249 483.6 DL 259 483.6 254 483.6 +DL 264 483.6 259 483.6 DL 269 483.6 264 483.6 DL 274 483.6 269 483.6 DL 279 +483.6 274 483.6 DL 284 483.6 279 483.6 DL 289 483.6 284 483.6 DL 294 483.6 289 +483.6 DL 299 483.6 294 483.6 DL 304 483.6 299 483.6 DL 309 483.6 304 483.6 DL +314 483.6 309 483.6 DL 319 483.6 314 483.6 DL 324 483.6 319 483.6 DL 329 483.6 +324 483.6 DL 334 483.6 329 483.6 DL 339 483.6 334 483.6 DL 344 483.6 339 483.6 +DL 349 483.6 344 483.6 DL 354 483.6 349 483.6 DL 359 483.6 354 483.6 DL 364 +483.6 359 483.6 DL 369 483.6 364 483.6 DL 374 483.6 369 483.6 DL 379 483.6 374 +483.6 DL 384 483.6 379 483.6 DL 389 483.6 384 483.6 DL 394 483.6 389 483.6 DL +399 483.6 394 483.6 DL 404 483.6 399 483.6 DL 409 483.6 404 483.6 DL 414 483.6 +409 483.6 DL 419 483.6 414 483.6 DL 424 483.6 419 483.6 DL 429 483.6 424 483.6 +DL 434 483.6 429 483.6 DL 439 483.6 434 483.6 DL 444 483.6 439 483.6 DL 449 +483.6 444 483.6 DL 454 483.6 449 483.6 DL 459 483.6 454 483.6 DL 464 483.6 459 +483.6 DL 469 483.6 464 483.6 DL 474 483.6 469 483.6 DL 479 483.6 474 483.6 DL +484 483.6 479 483.6 DL 489 483.6 484 483.6 DL 494 483.6 489 483.6 DL 499 483.6 +494 483.6 DL 504 483.6 499 483.6 DL(addr)91.915 578 Q 133.2 576 111.6 576 DL +133.2 576 126 577.8 DL 133.2 576 126 574.2 DL(3)141.5 578 Q 133.2 565.2 133.2 +586.8 DL 154.8 565.2 133.2 565.2 DL 154.8 586.8 154.8 565.2 DL 133.2 586.8 +154.8 586.8 DL 176.4 576 154.8 576 DL 176.4 576 169.2 577.8 DL 176.4 576 169.2 +574.2 DL(D)183.59 578 Q 176.4 565.2 176.4 586.8 DL 198 565.2 176.4 565.2 DL 198 +586.8 198 565.2 DL 176.4 586.8 198 586.8 DL 219.6 576 198 576 DL 277.2 558 +255.6 558 DL 277.2 558 270 559.8 DL 277.2 558 270 556.2 DL(1)285.5 560 Q 277.2 +547.2 277.2 568.8 DL 298.8 547.2 277.2 547.2 DL 298.8 568.8 298.8 547.2 DL +277.2 568.8 298.8 568.8 DL 320.4 558 298.8 558 DL 320.4 558 313.2 559.8 DL +320.4 558 313.2 556.2 DL(S)328.42 560 Q 320.4 547.2 320.4 568.8 DL 342 547.2 +320.4 547.2 DL 342 568.8 342 547.2 DL 320.4 568.8 342 568.8 DL 363.6 558 342 +558 DL 277.2 594 255.6 594 DL 277.2 594 270 595.8 DL 277.2 594 270 592.2 DL(2) +285.5 596 Q 277.2 583.2 277.2 604.8 DL 298.8 583.2 277.2 583.2 DL 298.8 604.8 +298.8 583.2 DL 277.2 604.8 298.8 604.8 DL 320.4 594 298.8 594 DL 320.4 594 +313.2 595.8 DL 320.4 594 313.2 592.2 DL(R)327.865 596 Q 320.4 583.2 320.4 604.8 +DL 342 583.2 320.4 583.2 DL 342 604.8 342 583.2 DL 320.4 604.8 342 604.8 DL +363.6 594 342 594 DL 421.2 576 399.6 576 DL 421.2 576 414 577.8 DL 421.2 576 +414 574.2 DL(4)429.5 578 Q 421.2 565.2 421.2 586.8 DL 442.8 565.2 421.2 565.2 +DL 442.8 586.8 442.8 565.2 DL 421.2 586.8 442.8 586.8 DL 464.4 576 442.8 576 DL +464.4 576 457.2 577.8 DL 464.4 576 457.2 574.2 DL(msg)466.865 578 Q 255.6 558 +219.6 576 DL 255.6 594 219.6 576 DL 399.6 576 363.6 558 DL 399.6 576 363.6 594 +DL 208.8 522 187.2 522 DL 208.8 522 201.6 523.8 DL 208.8 522 201.6 520.2 DL(0) +217.1 524 Q 208.8 511.2 208.8 532.8 DL 230.4 511.2 208.8 511.2 DL 230.4 532.8 +230.4 511.2 DL 208.8 532.8 230.4 532.8 DL 252 522 230.4 522 DL 252 522 244.8 +523.8 DL 252 522 244.8 520.2 DL(resolv)265.69 524 Q(ed address)-.15 E 187.2 522 +162 576 DL(Figure 1 \212 Re)216.045 624 Q(writing set semantics)-.25 E 2.5 +(D\212s)209.35 636 S(ender domain addition)235.46 636 Q 2.5(S\212m)209.35 648 S +(ailer)237.69 648 Q(-speci\214c sender re)-.2 E(writing)-.25 E 2.5(R\212m) +209.35 660 S(ailer)238.8 660 Q(-speci\214c recipient re)-.2 E(writing)-.25 E 77 +672 72 672 DL 79 672 74 672 DL 84 672 79 672 DL 89 672 84 672 DL 94 672 89 672 +DL 99 672 94 672 DL 104 672 99 672 DL 109 672 104 672 DL 114 672 109 672 DL 119 +672 114 672 DL 124 672 119 672 DL 129 672 124 672 DL 134 672 129 672 DL 139 672 +134 672 DL 144 672 139 672 DL 149 672 144 672 DL 154 672 149 672 DL 159 672 154 +672 DL 164 672 159 672 DL 169 672 164 672 DL 174 672 169 672 DL 179 672 174 672 +DL 184 672 179 672 DL 189 672 184 672 DL 194 672 189 672 DL 199 672 194 672 DL +204 672 199 672 DL 209 672 204 672 DL 214 672 209 672 DL 219 672 214 672 DL 224 +672 219 672 DL 229 672 224 672 DL 234 672 229 672 DL 239 672 234 672 DL 244 672 +239 672 DL 249 672 244 672 DL 254 672 249 672 DL 259 672 254 672 DL 264 672 259 +672 DL 269 672 264 672 DL 274 672 269 672 DL 279 672 274 672 DL 284 672 279 672 +DL 289 672 284 672 DL 294 672 289 672 DL 299 672 294 672 DL 304 672 299 672 DL +309 672 304 672 DL 314 672 309 672 DL 319 672 314 672 DL 324 672 319 672 DL 329 +672 324 672 DL 334 672 329 672 DL 339 672 334 672 DL 344 672 339 672 DL 349 672 +344 672 DL 354 672 349 672 DL 359 672 354 672 DL 364 672 359 672 DL 369 672 364 +672 DL 374 672 369 672 DL 379 672 374 672 DL 384 672 379 672 DL 389 672 384 672 +DL 394 672 389 672 DL 399 672 394 672 DL 404 672 399 672 DL 409 672 404 672 DL +414 672 409 672 DL 419 672 414 672 DL 424 672 419 672 DL 429 672 424 672 DL 434 +672 429 672 DL 439 672 434 672 DL 444 672 439 672 DL 449 672 444 672 DL 454 672 +449 672 DL 459 672 454 672 DL 464 672 459 672 DL 469 672 464 672 DL 474 672 469 +672 DL 479 672 474 672 DL 484 672 479 672 DL 489 672 484 672 DL 494 672 489 672 +DL 499 672 494 672 DL 504 672 499 672 DL 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-Roman@0 SF 1.266 +(Ruleset four is applied to all addresses in the message.)142 96 R 1.265 +(It is typically used to translate)6.265 F(internal to e)117 108 Q +(xternal form.)-.15 E F0 2.5(5.1.4. IPC)102 132 R(mailers)2.5 E F1 1.332 +(Some special processing occurs if the ruleset zero resolv)142 148.2 R 1.333 +(es to an IPC mailer \(that is, a)-.15 F 1.179 +(mailer that has \231[IPC]\232 listed as the P)117 160.2 R 1.179(ath in the) +-.15 F F0(M)3.679 E F1 1.179(con\214guration line.)3.679 F 1.178 +(The host name passed)6.178 F .168(after \231$@\232 has MX e)117 172.2 R .168 +(xpansion performed; this looks the name up in DNS to \214nd alternate deli) +-.15 F(v-)-.25 E(ery sites.)117 184.2 Q(The host name can also be pro)142 200.4 +Q(vided as a dotted quad in square brack)-.15 E(ets; for e)-.1 E(xample:)-.15 E +([128.32.149.78])157 216.6 Q(This causes direct con)117 232.8 Q -.15(ve)-.4 G +(rsion of the numeric v).15 E(alue to a TCP/IP host address.)-.25 E .214(The h\ +ost name passed in after the \231$@\232 may also be a colon-separated list of \ +hosts.)142 249 R(Each)5.213 E .484(is separately MX e)117 261 R .484 +(xpanded and the results are concatenated to mak)-.15 F 2.985(e\()-.1 G .485 +(essentially\) one long MX)401.165 261 R 3.465(list. The)117 273 R .964 +(intent here is to create \231f)3.465 F(ak)-.1 E .964 +(e\232 MX records that are not published in DNS for pri)-.1 F -.25(va)-.25 G +(te).25 E(internal netw)117 285 Q(orks.)-.1 E +(As a \214nal special case, the host name can be passed in as a te)142 301.2 Q +(xt string in square brack)-.15 E(ets:)-.1 E([ucb)157 317.4 Q -.25(va)-.15 G +(x.berk).25 E(ele)-.1 E -.65(y.)-.15 G(edu]).65 E .312(This form a)117 333.6 R +-.2(vo)-.2 G .312(ids the MX mapping.).2 F F0(N.B.:)5.312 E/F2 10 +/Times-Italic@0 SF .313(This is intended only for situations wher)2.812 F 2.813 +(ey)-.37 G .313(ou have a)464.494 333.6 R .338(network \214r)117 345.6 R -.15 +(ew)-.37 G .337(all or other host that will do special pr).15 F .337 +(ocessing for all your mail, so that your MX)-.45 F -.37(re)117 357.6 S(cor).37 +E 3.958(dp)-.37 G 1.458(oints to a gate)151.878 357.6 R 1.458(way mac)-.15 F +1.458(hine; this mac)-.15 F 1.459(hine could then do dir)-.15 F 1.459 +(ect delivery to mac)-.37 F(hines)-.15 E .09(within your local domain.)117 +369.6 R .09(Use of this featur)5.09 F 2.59(ed)-.37 G(ir)306.8 369.6 Q .09 +(ectly violates RFC 1123 section 5.3.5: it should)-.37 F(not be used lightly) +117 381.6 Q(.)-.55 E F0 2.5(5.2. D)87 405.6 R 2.5<8a44>2.5 G(e\214ne Macr) +136.44 405.6 Q(o)-.18 E F1 .081 +(Macros are named with a single character or with a w)127 421.8 R .082 +(ord in {braces}.)-.1 F .082(Single character names)5.082 F .45 +(may be selected from the entire ASCII set, b)102 433.8 R .45(ut user)-.2 F .45 +(-de\214ned macros should be selected from the set)-.2 F .446 +(of upper case letters only)102 445.8 R 5.446(.L)-.65 G -.25(ow)217.72 445.8 S +.446(er case letters and special symbols are used internally).25 F 5.446(.L) +-.65 G .446(ong names)460.504 445.8 R(be)102 457.8 Q .913(ginning with a lo) +-.15 F .913(wer case letter or a punctuation character are reserv)-.25 F .912 +(ed for use by sendmail, so)-.15 F(user)102 469.8 Q +(-de\214ned long macro names should be)-.2 E(gin with an upper case letter)-.15 +E(.)-.55 E(The syntax for macro de\214nitions is:)127 486 Q F0(D)142 502.2 Q F2 +1.666(xv)C(al)-1.666 E F1(where)102 518.4 Q F2(x)3.068 E F1 .568 +(is the name of the macro \(which may be a single character or a w)3.068 F .569 +(ord in braces\) and)-.1 F F2(val)3.069 E F1(is)3.069 E .479(the v)102 530.4 R +.479(alue it should ha)-.25 F -.15(ve)-.2 G 5.479(.T).15 G .478 +(here should be no spaces gi)212.395 530.4 R -.15(ve)-.25 G 2.978(nt).15 G .478 +(hat do not actually belong in the macro)344.284 530.4 R -.25(va)102 542.4 S +(lue.).25 E .494(Macros are interpolated using the construct)127 558.6 R F0($) +2.994 E F2(x)A F1 2.994(,w)C(here)327.638 558.6 Q F2(x)2.994 E F1 .494 +(is the name of the macro to be inter)2.994 F(-)-.2 E 2.933(polated. This)102 +570.6 R .433(interpolation is done when the con\214guration \214le is read, e) +2.933 F .432(xcept in)-.15 F F0(M)2.932 E F1 2.932(lines. The)2.932 F(spe-) +2.932 E(cial construct)102 582.6 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:)127 598.8 Q($?x te)142 615 Q +(xt1 $| te)-.15 E(xt2 $.)-.15 E 1.127(This interpolates)102 631.2 R F2(te)3.627 +E(xt1)-.2 E F1 1.127(if the macro)3.627 F F0($x)3.627 E F1 1.128(is set, and) +3.628 F F2(te)3.628 E(xt2)-.2 E F1 3.628(otherwise. The)3.628 F 1.128 +(\231else\232 \()3.628 F F0($|)A F1 3.628(\)c)C 1.128(lause may be)449.534 +631.2 R(omitted.)102 643.2 Q(Lo)127 659.4 Q .58 +(wer case macro names are reserv)-.25 F .58(ed to ha)-.15 F .88 -.15(ve s)-.2 H +.58(pecial semantics, used to pass information in).15 F 1.56(or out of)102 +671.4 R F2(sendmail)4.06 E F1 4.06(,a)C 1.561(nd special characters are reserv) +190.73 671.4 R 1.561(ed to pro)-.15 F 1.561(vide conditionals, etc.)-.15 F +1.561(Upper case)6.561 F(names \(that is,)102 683.4 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)232.82 683.4 Q +(ed for con\214guration \214le authors.)-.15 E 1.303(The follo)127 699.6 R +1.303(wing macros are de\214ned and/or used internally by)-.25 F F2(sendmail) +3.802 E F1 1.302(for interpolation into)3.802 F 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(ar)102 98 Q(gv') +-.18 E 2.792(sf)-.55 G .292(or mailers or for other conte)132.382 98 R 2.793 +(xts. The)-.15 F .293(ones mark)2.793 F .293 +(ed \207 are information passed into sendmail)-.1 F/F2 7/Times-Roman@0 SF(15) +494.5 94 Q F1(,)501.5 98 Q .036(the ones mark)102 110 R .036 +(ed \210 are information passed both in and out of sendmail, and the unmark)-.1 +F .035(ed macros are)-.1 F(passed out of sendmail b)102 122 Q +(ut are not otherwise used internally)-.2 E 5(.T)-.65 G(hese macros are:)354.45 +122 Q 13.06($a The)102 138.2 R(origination date in RFC 822 format.)2.5 E +(This is e)5 E(xtracted from the Date: line.)-.15 E 12.5($b The)102 154.4 R +(current date in RFC 822 format.)2.5 E 13.06($c The)102 170.6 R .002 +(hop count.)2.502 F .002(This is a count of the number of Recei)5.002 F -.15 +(ve)-.25 G .003(d: lines plus the v).15 F .003(alue of the)-.25 F F0<ad68>2.503 +E F1(com-)2.503 E(mand line \215ag.)127 182.6 Q 12.5($d The)102 198.8 R +(current date in UNIX \(ctime\) format.)2.5 E 8.06($e\207 \(Obsolete;)102 215 R +1.814(use SmtpGreetingMessage option instead.\))4.314 F 1.814 +(The SMTP entry message.)6.814 F 1.814(This is)6.814 F 2.008 +(printed out when SMTP starts up.)127 227 R 2.008(The \214rst w)7.008 F 2.008 +(ord must be the)-.1 F F0($j)4.508 E F1 2.009(macro as speci\214ed by)4.508 F +2.732(RFC821. Def)127 239 R .232(aults to \231$j Sendmail $v ready at $b\232.) +-.1 F .231(Commonly rede\214ned to include the con-)5.231 F(\214guration v)127 +251 Q(ersion number)-.15 E 2.5(,e)-.4 G +(.g., \231$j Sendmail $v/$Z ready at $b\232)239.77 251 Q 14.17($f The)102 267.2 +R(en)2.5 E -.15(ve)-.4 G(lope sender \(from\) address.).15 E 12.5($g The)102 +283.4 R .017(sender address relati)2.517 F .317 -.15(ve t)-.25 H 2.517(ot).15 G +.017(he recipient.)251.375 283.4 R -.15(Fo)5.017 G 2.517(re).15 G .018 +(xample, if)326.386 283.4 R F0($f)2.518 E F1 .018(is \231foo\232,)2.518 F F0 +($g)2.518 E F1 .018(will be \231host!foo\232,)2.518 F +(\231foo@host.domain\232, or whate)127 295.4 Q -.15(ve)-.25 G 2.5(ri).15 G 2.5 +(sa)264.95 295.4 S(ppropriate for the recei)275.78 295.4 Q(ving mailer)-.25 E +(.)-.55 E 12.5($h The)102 311.6 R(recipient host.)2.5 E +(This is set in ruleset 0 from the $# \214eld of a parsed address.)5 E 14.72 +($i The)102 327.8 R(queue id, e.g., \231HAA12345\232.)2.5 E 9.72($j\210 The)102 +344 R(\231of)2.747 E .247(\214cial\232 domain name for this site.)-.25 F .247 +(This is fully quali\214ed if the full quali\214cation can be)5.247 F 3.093 +(found. It)127 356 R/F3 10/Times-Italic@0 SF(must)3.093 E F1 .594(be rede\214n\ +ed to be the fully quali\214ed domain name if your system is not con-)3.093 F +(\214gured so that information can \214nd it automatically)127 368 Q(.)-.65 E +12.5($k The)102 384.2 R(UUCP node name \(from the uname system call\).)2.5 E +9.72($l\207 \(Obsolete;)102 400.4 R 1.282(use UnixFromLine option instead.\)) +3.782 F 1.282(The format of the UNIX from line.)6.282 F(Unless)6.281 E 1.409 +(you ha)127 412.4 R 1.709 -.15(ve c)-.2 H 1.409 +(hanged the UNIX mailbox format, you should not change the def).15 F 1.41 +(ault, which is)-.1 F(\231From $g)127 424.4 Q($d\232.)5 E 9.72($m The)102 440.6 +R .719(domain part of the)3.219 F F3 -.1(ge)3.219 G(thostname).1 E F1 .718 +(return v)3.219 F 3.218(alue. Under)-.25 F .718(normal circumstances,)3.218 F +F0($j)3.218 E F1 .718(is equi)3.218 F(v-)-.25 E(alent to)127 452.6 Q F0($w)2.5 +E(.$m)-.7 E F1(.)A 7.5($n\207 The)102 468.8 R +(name of the daemon \(for error messages\).)2.5 E(Def)5 E +(aults to \231MAILER-D)-.1 E(AEMON\232.)-.4 E 7.5($o\207 \(Obsolete:)102 485 R +.65(use OperatorChars option instead.\))3.15 F .651 +(The set of \231operators\232 in addresses.)5.651 F 3.151(Al)5.651 G .651 +(ist of)483.069 485 R .582(characters which will be considered tok)127 497 R +.581(ens and which will separate tok)-.1 F .581(ens when doing pars-)-.1 F +3.277(ing. F)127 509 R .777(or e)-.15 F .777(xample, if \231@\232 were in the) +-.15 F F0($o)3.278 E F1 .778(macro, then the input \231a@b\232 w)3.278 F .778 +(ould be scanned as)-.1 F .628(three tok)127 521 R .628(ens: \231a,)-.1 F 3.128 +<9a99>-.7 G(@,)204.724 521 Q 3.128<9a61>-.7 G .628(nd \231b)227.742 521 R 4.527 +-.7(.\232 D)-.4 H(ef).7 E .627 +(aults to \231.:@[]\232, which is the minimum set necessary to)-.1 F .856(do R\ +FC 822 parsing; a richer set of operators is \231.:%@!/[]\232, which adds supp\ +ort for UUCP)127 533 R(,)-1.11 E(the %-hack, and X.400 addresses.)127 545 Q +12.5($p Sendmail')102 561.2 R 2.5(sp)-.55 G(rocess id.)178.95 561.2 Q 7.5 +($q\207 Def)102 577.4 R .404(ault format of sender address.)-.1 F(The)5.404 E +F0($q)2.903 E F1 .403(macro speci\214es ho)2.903 F 2.903(wa)-.25 G 2.903(na) +388.955 577.4 S .403(ddress should appear in a)401.298 577.4 R 1.18 +(message when it is def)127 589.4 R 3.681(aulted. Def)-.1 F 1.181 +(aults to \231<$g>\232.)-.1 F 1.181(It is commonly rede\214ned to be \231$?x$x) +6.181 F(<$g>$|$g$.)127 601.4 Q 5<9a6f>-.7 G 2.5<7299>186.52 601.4 S +($g$?x \($x\)$.)196.79 601.4 Q(\232, corresponding to the follo)-.7 E(wing tw) +-.25 E 2.5(of)-.1 G(ormats:)403.21 601.4 Q(Eric Allman <eric@CS.Berk)167 617.6 +Q(ele)-.1 E -.65(y.)-.15 G(EDU>).65 E(eric@CS.Berk)167 629.6 Q(ele)-.1 E -.65 +(y.)-.15 G(EDU \(Eric Allman\)).65 E F3(Sendmail)127 645.8 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 14.17($r Protocol)102 662 +R .977(used to recei)3.477 F 1.277 -.15(ve t)-.25 H .976(he message.).15 F .976 +(Set from the)5.976 F F0<ad70>3.476 E F1 .976 +(command line \215ag or by the SMTP)3.476 F(serv)127 674 Q(er code.)-.15 E .32 +LW 76 688.4 72 688.4 DL 80 688.4 76 688.4 DL 84 688.4 80 688.4 DL 88 688.4 84 +688.4 DL 92 688.4 88 688.4 DL 96 688.4 92 688.4 DL 100 688.4 96 688.4 DL 104 +688.4 100 688.4 DL 108 688.4 104 688.4 DL 112 688.4 108 688.4 DL 116 688.4 112 +688.4 DL 120 688.4 116 688.4 DL 124 688.4 120 688.4 DL 128 688.4 124 688.4 DL +132 688.4 128 688.4 DL 136 688.4 132 688.4 DL 140 688.4 136 688.4 DL 144 688.4 +140 688.4 DL 148 688.4 144 688.4 DL 152 688.4 148 688.4 DL 156 688.4 152 688.4 +DL 160 688.4 156 688.4 DL 164 688.4 160 688.4 DL 168 688.4 164 688.4 DL 172 +688.4 168 688.4 DL 176 688.4 172 688.4 DL 180 688.4 176 688.4 DL 184 688.4 180 +688.4 DL 188 688.4 184 688.4 DL 192 688.4 188 688.4 DL 196 688.4 192 688.4 DL +200 688.4 196 688.4 DL 204 688.4 200 688.4 DL 208 688.4 204 688.4 DL 212 688.4 +208 688.4 DL 216 688.4 212 688.4 DL/F4 5/Times-Roman@0 SF(15)93.6 698.8 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 702 S(e\214ned.) +434.28 702 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 13.61($s Sender')102 96 R 2.5(sh) +-.55 G(ost name.)168.94 96 Q(Set from the)5 E F0<ad70>2.5 E F1 +(command line \215ag or by the SMTP serv)2.5 E(er code.)-.15 E 14.72($t A)102 +112.2 R(numeric representation of the current time.)2.5 E 12.5($u The)102 128.4 +R(recipient user)2.5 E(.)-.55 E 12.5($v The)102 144.6 R -.15(ve)2.5 G +(rsion number of the).15 E/F2 10/Times-Italic@0 SF(sendmail)2.5 E F1(binary)2.5 +E(.)-.65 E 5.28($w\210 The)102 160.8 R(hostname of this site.)2.5 E +(This is the root name of this host \(b)5 E(ut see belo)-.2 E 2.5(wf)-.25 G +(or ca)432.64 160.8 Q -.15(ve)-.2 G(ats\).).15 E 12.5($x The)102 177 R +(full name of the sender)2.5 E(.)-.55 E 13.06($z The)102 193.2 R +(home directory of the recipient.)2.5 E 12.5($_ The)102 209.4 R -.25(va)2.5 G +(lidated sender address.).25 E .749 +(There are three types of dates that can be used.)127 225.6 R(The)5.749 E F0 +($a)3.249 E F1(and)3.249 E F0($b)3.249 E F1 .749(macros are in RFC 822 for) +3.249 F(-)-.2 E(mat;)102 237.6 Q F0($a)3.214 E F1 .714(is the time as e)3.214 F +.713(xtracted from the \231Date:\232 line of the message \(if there w)-.15 F +.713(as one\), and)-.1 F F0($b)3.213 E F1(is)3.213 E .056 +(the current date and time \(used for postmarks\).)102 249.6 R .057 +(If no \231Date:\232 line is found in the incoming message,)5.056 F F0($a)102 +261.6 Q F1 .305(is set to the current time also.)2.805 F(The)5.305 E F0($d) +2.805 E F1 .304(macro is equi)2.805 F -.25(va)-.25 G .304(lent to the).25 F F0 +($b)2.804 E F1 .304(macro in UNIX \(ctime\) for)2.804 F(-)-.2 E(mat.)102 273.6 +Q .238(The macros)127 289.8 R F0($w)2.738 E F1(,)A F0($j)2.738 E F1 2.738(,a)C +(nd)212.372 289.8 Q F0($m)2.738 E F1 .238 +(are set to the identity of this host.)2.738 F F2(Sendmail)5.239 E F1 .239 +(tries to \214nd the fully)2.739 F .335 +(quali\214ed name of the host if at all possible; it does this by calling)102 +301.8 R F2 -.1(ge)2.834 G(thostname).1 E F1 .334(\(2\) to get the current)B +.457(hostname and then passing that to)102 313.8 R F2 -.1(ge)2.957 G +(thostbyname).1 E F1 .457(\(3\) which is supposed to return the canonical v)B +(er)-.15 E(-)-.2 E .279(sion of that host name.)102 327.8 R/F3 7/Times-Roman@0 +SF(16)193.946 323.8 Q F1 .279(Assuming this is successful,)203.725 327.8 R F0 +($j)2.778 E F1 .278(is set to the fully quali\214ed name and)2.778 F F0($m) +2.778 E F1(is)2.778 E .706(set to the domain part of the name \(e)102 339.8 R +-.15(ve)-.25 G .706(rything after the \214rst dot\).).15 F(The)5.706 E F0($w) +3.206 E F1 .706(macro is set to the \214rst)3.206 F -.1(wo)102 351.8 S .359 +(rd \(e).1 F -.15(ve)-.25 G .358(rything before the \214rst dot\) if you ha).15 +F .658 -.15(ve a l)-.2 H -2.15 -.25(ev e).15 H 2.858(l5o).25 G 2.858(rh)345 +351.8 S .358(igher con\214guration \214le; otherwise, it)356.188 351.8 R .404 +(is set to the same v)102 363.8 R .405(alue as)-.25 F F0($j)2.905 E F1 5.405 +(.I)C 2.905(ft)229.965 363.8 S .405 +(he canoni\214cation is not successful, it is imperati)238.98 363.8 R .705 -.15 +(ve t)-.25 H .405(hat the con\214g).15 F(\214le set)102 377.8 Q F0($j)2.5 E F1 +(to the fully quali\214ed domain name)2.5 E F3(17)279.77 373.8 Q F1(.)286.77 +377.8 Q(The)127 394 Q F0($f)2.833 E F1 .333(macro is the id of the sender as o\ +riginally determined; when mailing to a speci\214c host)2.833 F(the)102 406 Q +F0($g)3.224 E F1 .724(macro is set to the address of the sender)3.224 F F2 -.37 +(re)3.225 G .725(lative to the r).37 F(ecipient.)-.37 E F1 -.15(Fo)5.725 G +3.225(re).15 G .725(xample, if I send to)423.61 406 R +(\231bollard@matisse.CS.Berk)102 418 Q(ele)-.1 E -.65(y.)-.15 G .425 +(EDU\232 from the machine \231v).65 F(angogh.CS.Berk)-.25 E(ele)-.1 E -.65(y.) +-.15 G .424(EDU\232 the).65 F F0($f)2.924 E F1(macro)2.924 E +(will be \231eric\232 and the)102 430 Q 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)127 446.2 Q F0($x)2.562 E F1 .062 +(macro is set to the full name of the sender)2.562 F 5.062(.T)-.55 G .062 +(his can be determined in se)338.824 446.2 R -.15(ve)-.25 G .063(ral w).15 F +2.563(ays. It)-.1 F .63(can be passed as \215ag to)102 458.2 R F2(sendmail)3.13 +E F1 5.629(.I)C 3.129(tc)249.439 458.2 S .629(an be de\214ned in the)259.788 +458.2 R/F4 9/Times-Roman@0 SF -.315(NA)3.129 G(ME).315 E F1(en)3.129 E .629 +(vironment v)-.4 F 3.129(ariable. The)-.25 F(third)3.129 E .948 +(choice is the v)102 470.2 R .948 +(alue of the \231Full-Name:\232 line in the header if it e)-.25 F .949 +(xists, and the fourth choice is the)-.15 F .526 +(comment \214eld of a \231From:\232 line.)102 482.2 R .526(If all of these f) +5.526 F .526(ail, and if the message is being originated locally)-.1 F(,)-.65 E +(the full name is look)102 494.2 Q(ed up in the)-.1 E F2(/etc/passwd)2.5 E F1 +(\214le.)2.5 E 1.32(When sending, the)127 510.4 R F0($h)3.82 E F1(,)A F0($u) +3.82 E F1 3.82(,a)C(nd)246.37 510.4 Q F0($z)3.82 E F1 1.321 +(macros get set to the host, user)3.82 F 3.821(,a)-.4 G 1.321 +(nd home directory \(if)414.777 510.4 R .517(local\) of the recipient.)102 +522.4 R .517(The \214rst tw)5.517 F 3.016(oa)-.1 G .516(re set from the)256.878 +522.4 R F0($@)3.016 E F1(and)3.016 E F0($:)3.016 E F1 .516(part of the re)3.016 +F .516(writing rules, respec-)-.25 F(ti)102 534.4 Q -.15(ve)-.25 G(ly).15 E(.) +-.65 E(The)127 550.6 Q F0($p)3.806 E F1(and)3.806 E F0($t)3.806 E F1 1.306(mac\ +ros are used to create unique strings \(e.g., for the \231Message-Id:\232 \214\ +eld\).)3.806 F(The)102 562.6 Q F0($i)3.252 E F1 .751(macro is set to the queue\ + id on this host; if put into the timestamp line it can be e)3.252 F(xtremely) +-.15 E .164(useful for tracking messages.)102 574.6 R(The)5.164 E F0($v)2.664 E +F1 .164(macro is set to be the v)2.664 F .165(ersion number of)-.15 F F2 +(sendmail)2.665 E F1 2.665(;t)C .165(his is nor)463.87 574.6 R(-)-.2 E +(mally put in timestamps and has been pro)102 586.6 Q -.15(ve)-.15 G 2.5(ne).15 +G(xtremely useful for deb)289.31 586.6 Q(ugging.)-.2 E(The)127 602.8 Q F0($c) +3.548 E F1 1.048(\214eld is set to the \231hop count,)3.548 F 3.548<9a69>-.7 G +1.048(.e., the number of times this message has been pro-)290.162 602.8 R 2.856 +(cessed. This)102 614.8 R .356(can be determined by the)2.856 F F0<ad68>2.856 E +F1 .357(\215ag on the command line or by counting the timestamps)2.856 F +(in the message.)102 626.8 Q(The)127 643 Q F0($r)2.833 E F1(and)2.833 E F0($s) +2.833 E F1 .333(\214elds are set to the protocol used to communicate with)2.833 +F F2(sendmail)2.833 E F1 .333(and the send-)2.833 F .194(ing hostname.)102 655 +R(The)5.194 E 2.694(yc)-.15 G .194(an be set together using the)191.032 655 R +F0<ad70>2.694 E F1 .194(command line \215ag or separately using the)2.694 F F0 +<ad4d>2.695 E F1(or)102 667 Q F0(\255oM)2.5 E F1(\215ags.)2.5 E .32 LW 76 676.6 +72 676.6 DL 80 676.6 76 676.6 DL 84 676.6 80 676.6 DL 88 676.6 84 676.6 DL 92 +676.6 88 676.6 DL 96 676.6 92 676.6 DL 100 676.6 96 676.6 DL 104 676.6 100 +676.6 DL 108 676.6 104 676.6 DL 112 676.6 108 676.6 DL 116 676.6 112 676.6 DL +120 676.6 116 676.6 DL 124 676.6 120 676.6 DL 128 676.6 124 676.6 DL 132 676.6 +128 676.6 DL 136 676.6 132 676.6 DL 140 676.6 136 676.6 DL 144 676.6 140 676.6 +DL 148 676.6 144 676.6 DL 152 676.6 148 676.6 DL 156 676.6 152 676.6 DL 160 +676.6 156 676.6 DL 164 676.6 160 676.6 DL 168 676.6 164 676.6 DL 172 676.6 168 +676.6 DL 176 676.6 172 676.6 DL 180 676.6 176 676.6 DL 184 676.6 180 676.6 DL +188 676.6 184 676.6 DL 192 676.6 188 676.6 DL 196 676.6 192 676.6 DL 200 676.6 +196 676.6 DL 204 676.6 200 676.6 DL 208 676.6 204 676.6 DL 212 676.6 208 676.6 +DL 216 676.6 212 676.6 DL/F5 5/Times-Roman@0 SF(16)93.6 687 Q/F6 8 +/Times-Roman@0 SF -.12(Fo)3.2 K 2(re).12 G(xample, on some systems)115.024 +690.2 Q/F7 8/Times-Italic@0 SF -.08(ge)2 G(thostname).08 E F6 +(might return \231foo\232 which w)2 E(ould be mapped to \231foo.bar)-.08 E +(.com\232 by)-.44 E F7 -.08(ge)2 G(thostbyname).08 E F6(.)A F5(17)93.6 700.6 Q +F6(Older v)3.2 I(ersions of sendmail didn')-.12 E 2(tp)-.144 G(re-de\214ne) +211.88 703.8 Q/F8 8/Times-Bold@0 SF($j)2 E F6 +(at all, so up until 8.6, con\214g \214les)2 E F7(always)2 E F6 +(had to de\214ne)2 E F8($j)2 E F6(.)A 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(The)127 96 Q F0 +($_)2.967 E F1 .467(is set to a v)2.967 F .467(alidated sender host name.)-.25 +F .466(If the sender is running an RFC 1413 compli-)5.467 F .384 +(ant IDENT serv)102 108 R .384(er and the recei)-.15 F -.15(ve)-.25 G 2.884(rh) +.15 G .384(as the IDENT protocol turned on, it will include the user name) +249.254 108 R(on that host.)102 120 Q F0 2.5(5.3. C)87 144 R +(and F \212 De\214ne Classes)2.5 E F1 .66 +(Classes of phrases may be de\214ned to match on the left hand side of re)127 +160.2 R .659(writing rules, where a)-.25 F .192(\231phrase\232 is a sequence o\ +f characters that do not contain space characters.)102 172.2 R -.15(Fo)5.192 G +2.692(re).15 G .192(xample a class of all)421.582 172.2 R 1.428(local names fo\ +r this site might be created so that attempts to send to oneself can be elimin\ +ated.)102 184.2 R .041(These can either be de\214ned directly in the con\214gu\ +ration \214le or read in from another \214le.)102 196.2 R .041(Classes are) +5.041 F .649(named as a single letter or a w)102 208.2 R .649(ord in {braces}.) +-.1 F .649(Class names be)5.649 F .649(ginning with lo)-.15 F .648 +(wer case letters and)-.25 F .638(special characters are reserv)102 220.2 R +.638(ed for system use.)-.15 F .639 +(Classes de\214ned in con\214g \214les may be gi)5.639 F -.15(ve)-.25 G 3.139 +(nn).15 G(ames)483.45 220.2 Q 1.05 +(from the set of upper case letters for short names or be)102 232.2 R 1.05 +(ginning with an upper case letter for long)-.15 F(names.)102 244.2 Q +(The syntax is:)127 260.4 Q F0(C)142 276.6 Q/F2 10/Times-Italic@0 SF 1.666(cp)C +(hr)-1.666 E(ase1 phr)-.15 E(ase2...)-.15 E F0(F)142 288.6 Q F2 1.666<638c>C +(le)-1.666 E F1 .661(The \214rst form de\214nes the class)102 304.8 R F2(c) +3.161 E F1 .661(to match an)3.161 F 3.161(yo)-.15 G 3.161(ft)300.1 304.8 S .661 +(he named w)309.371 304.8 R 3.161(ords. It)-.1 F .661 +(is permissible to split them)3.161 F(among multiple lines; for e)102 316.8 Q +(xample, the tw)-.15 E 2.5(of)-.1 G(orms:)280.07 316.8 Q(CHmonet ucbmonet)142 +333 Q(and)102 349.2 Q(CHmonet)142 365.4 Q(CHucbmonet)142 377.4 Q(are equi)102 +393.6 Q -.25(va)-.25 G 2.5(lent. The).25 F -.74(``)2.5 G(F').74 E 2.5('f)-.74 G +(orm reads the elements of the class)206.65 393.6 Q F2(c)2.5 E F1 +(from the named)2.5 E F2(\214le)2.5 E F1(.)A 1.339 +(Elements of classes can be accessed in rules using)127 409.8 R F0($=)3.839 E +F1(or)3.839 E F0($~)3.839 E F1 6.339(.T)C(he)392.048 409.8 Q F0($~)3.839 E F1 +1.338(\(match entries not in)3.839 F(class\) only matches a single w)102 421.8 +Q(ord; multi-w)-.1 E(ord entries in the class are ignored in this conte)-.1 E +(xt.)-.15 E 1.098(The class)127 438 R F0($=w)3.598 E F1 1.098 +(is set to be the set of all names this host is kno)3.598 F 1.098(wn by)-.25 F +6.098(.T)-.65 G 1.098(his can be used to)428.506 438 R(match local hostnames.) +102 450 Q(The class)127 466.2 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.)297.69 466.2 Q(The class) +127 482.4 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 .239(The class)127 498.6 R F0 +($=t)2.739 E F1 .239(is set to the set of trusted users by the)2.739 F F0(T) +2.739 E F1 .239(con\214guration line.)2.739 F .239(If you w)5.239 F .239 +(ant to read)-.1 F(trusted users from a \214le use)102 510.6 Q F0(Ft)2.5 E F2 +(/\214le/name)A F1(.)A .635(The class)127 526.8 R F0($=n)3.135 E F1 .635 +(can be set to the set of MIME body types that can ne)3.135 F -.15(ve)-.25 G +3.136(rb).15 G 3.136(ee)426.306 526.8 S .636(ight to se)438.322 526.8 R -.15 +(ve)-.25 G 3.136(nb).15 G(it)498.44 526.8 Q 2.76(encoded. It)102 538.8 R(def) +2.76 E .26(aults to \231multipart/signed\232.)-.1 F .26 +(Message types \231message/*\232 and \231multipart/*\232 are ne)5.26 F -.15(ve) +-.25 G(r).15 E .942(encoded directly)102 550.8 R 5.942(.M)-.65 G .943 +(ultipart messages are al)185.994 550.8 R -.1(wa)-.1 G .943(ys handled recursi) +.1 F -.15(ve)-.25 G(ly).15 E 5.943(.T)-.65 G .943(he handling of message/*) +399.241 550.8 R .658(messages are controlled by class)102 562.8 R F0($=s)3.158 +E F1 5.658(.T)C .657(he class)266.618 562.8 R F0($=e)3.157 E F1 .657 +(contains the Content-T)3.157 F(ransfer)-.35 E .657(-Encodings that)-.2 F .007 +(can be 8)102 574.8 R/F3 10/Symbol SF<ae>A F1 2.507(7b)C .007(it encoded.) +157.711 574.8 R .007 +(It is prede\214ned to contain \2317bit\232, \2318bit\232, and \231binary\232.) +5.007 F .007(The class)5.007 F F0($=s)2.507 E F1(con-)2.508 E 1.52 +(tains the set of subtypes of message that can be treated recursi)102 586.8 R +-.15(ve)-.25 G(ly).15 E 6.52(.B)-.65 G 4.02(yd)398.58 586.8 S(ef)412.6 586.8 Q +1.52(ault it contains only)-.1 F 3.213(\231rfc822\232. Other)102 598.8 R .713 +(\231message/*\232 types cannot be 8)3.213 F F3<ae>A F1 3.214(7b)C .714 +(it encoded.)319.862 598.8 R .714(If a message containing eight bit)5.714 F +1.714(data is sent to a se)102 610.8 R -.15(ve)-.25 G 4.214(nb).15 G 1.714 +(it host, and that message cannot be encoded into se)206.314 610.8 R -.15(ve) +-.25 G 4.213(nb).15 G 1.713(its, it will be)448.851 610.8 R +(stripped to 7 bits.)102 622.8 Q F2(Sendmail)127 639 Q F1 .182 +(can be compiled to allo)2.682 F 2.682(wa)-.25 G F2(scanf)A F1 .182 +(\(3\) string on the)B F0(F)2.682 E F1 2.683(line. This)2.683 F .183 +(lets you do simplistic)2.683 F .555(parsing of te)102 651 R .555(xt \214les.) +-.15 F -.15(Fo)5.555 G 3.055(re).15 G .554 +(xample, to read all the user names in your system)209.595 651 R F2 +(/etc/passwd)3.054 E F1 .554(\214le into a)3.054 F(class, use)102 663 Q +(FL/etc/passwd %[^:])142 679.2 Q(which reads e)102 695.4 Q -.15(ve)-.25 G +(ry line up to the \214rst colon.).15 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 2.5(5.4. M)87 96 R 2.5<8a44>2.5 G(e\214ne Mailer)138.66 +96 Q/F1 10/Times-Roman@0 SF(Programs and interf)127 112.2 Q +(aces to mailers are de\214ned in this line.)-.1 E(The format is:)5 E F0(M)142 +128.4 Q/F2 10/Times-Italic@0 SF(name)A F1 2.5(,{)C F2(\214eld)182.9 128.4 Q F1 +(=)A F2(value)A F1(}*)1.666 E(where)102 144.6 Q F2(name)4.244 E F1 1.744(is th\ +e name of the mailer \(used internally only\) and the \231\214eld=name\232 pai\ +rs de\214ne)4.244 F(attrib)102 156.6 Q(utes of the mailer)-.2 E 5(.F)-.55 G +(ields are:)205.13 156.6 Q -.15(Pa)142 172.8 S 51.87(th The).15 F +(pathname of the mailer)2.5 E 47.83(Flags Special)142 184.8 R +(\215ags for this mailer)2.5 E 41.73(Sender Re)142 196.8 R +(writing set\(s\) for sender addresses)-.25 E 31.17(Recipient Re)142 208.8 R +(writing set\(s\) for recipient addresses)-.25 E(Ar)142 220.8 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)142 232.8 R(end-of-line string for this mailer)2.5 E 35.62 +(Maxsize The)142 244.8 R(maximum message length to this mailer)2.5 E 32.27 +(Linelimit The)142 256.8 R(maximum line length in the message body)2.5 E 31.18 +(Directory The)142 268.8 R -.1(wo)2.5 G(rking directory for the mailer).1 E +42.84(Userid The)142 280.8 R(def)2.5 E(ault user and group id to run as)-.1 E +50.62(Nice The)142 292.8 R(nice\(2\) increment for the mailer)2.5 E 38.95 +(Charset The)142 304.8 R(def)2.5 E(ault character set for 8-bit characters)-.1 +E -.8(Ty)142 316.8 S 49.75(pe The).8 F +(MTS type information \(used for error messages\))2.5 E +(Only the \214rst character of the \214eld name is check)102 333 Q(ed.)-.1 E +.397(The follo)127 349.2 R .396 +(wing \215ags may be set in the mailer description.)-.25 F(An)5.396 E 2.896(yo) +-.15 G .396(ther \215ags may be used freely)386.77 349.2 R .075 +(to conditionally assign headers to messages destined for particular mailers.) +102 361.2 R .075(Flags mark)5.075 F .075(ed with \207 are)-.1 F 1.193 +(not interpreted by the)102 373.2 R F2(sendmail)3.693 E F1 1.193 +(binary; these are the con)3.693 F -.15(ve)-.4 G 1.192 +(ntionally used to correlate to the \215ags).15 F .737(portion of the)102 385.2 +R F0(H)3.237 E F1 3.237(line. Flags)3.237 F(mark)3.237 E .737 +(ed with \210 apply to the mailers for the sender address rather than)-.1 F +(the usual recipient mailers.)102 397.2 Q 15.56(aR)102 413.4 S .987(un Extende\ +d SMTP \(ESMTP\) protocol \(de\214ned in RFCs 1651, 1652, and 1653\).)128.67 +413.4 R .986(This \215ag)5.987 F(def)122 425.4 Q +(aults on if the SMTP greeting message includes the w)-.1 E(ord \231ESMTP\232.) +-.1 E 12.78(AL)102 441.6 S .762 +(ook up the user part of the address in the alias database.)128.11 441.6 R .763 +(Normally this is only set for local)5.762 F(mailers.)122 453.6 Q 15(bF)102 +469.8 S .456(orce a blank line on the end of a message.)127.41 469.8 R .456 +(This is intended to w)5.456 F .456(ork around some stupid v)-.1 F(er)-.15 E(-) +-.2 E .361(sions of /bin/mail that require a blank line, b)122 481.8 R .362 +(ut do not pro)-.2 F .362(vide it themselv)-.15 F 2.862(es. It)-.15 F -.1(wo) +2.862 G .362(uld not nor).1 F(-)-.2 E(mally be used on netw)122 493.8 Q +(ork mail.)-.1 E 15.56(cD)102 510 S 2.663(on)129.22 510 S .163 +(ot include comments in addresses.)141.883 510 R .163 +(This should only be used if you ha)5.163 F .463 -.15(ve t)-.2 H 2.663(ow).15 G +.163(ork around a)453.135 510 R 1.846 +(remote mailer that gets confused by comments.)122 522 R 1.846 +(This strips addresses of the form \231Phrase)6.846 F +(<address>\232 or \231address \(Comment\)\232 do)122 534 Q +(wn to just \231address\232.)-.25 E 5.83(C\210 If)102 550.2 R .214(mail is) +2.714 F F2 -.37(re)2.714 G(ceived).37 E F1 .213 +(from a mailer with this \215ag set, an)2.713 F 2.713(ya)-.15 G .213 +(ddresses in the header that do not ha)348.169 550.2 R -.15(ve)-.2 G .97 +(an at sign \(\231@\232\) after being re)122 562.2 R .97 +(written by ruleset three will ha)-.25 F 1.27 -.15(ve t)-.2 H .97 +(he \231@domain\232 clause from).15 F(the sender en)122 574.2 Q -.15(ve)-.4 G +(lope address tack).15 E(ed on.)-.1 E(This allo)5 E +(ws mail with headers of the form:)-.25 E(From: usera@hosta)162 590.4 Q -.8(To) +162 602.4 S 2.5(:u).8 G(serb@hostb, userc)182.59 602.4 Q(to be re)122 618.6 Q +(written as:)-.25 E(From: usera@hosta)162 634.8 Q -.8(To)162 646.8 S 2.5(:u).8 +G(serb@hostb, userc@hosta)182.59 646.8 Q(automatically)122 663 Q 5(.H)-.65 G +-.25(ow)190.51 663 S -2.15 -.25(ev e).25 H .8 -.4(r, i).25 H 2.5(td).4 G(oesn') +236.95 663 Q 2.5(tr)-.18 G(eally w)267.04 663 Q(ork reliably)-.1 E(.)-.65 E +5.28(D\207 This)102 679.2 R(mailer w)2.5 E(ants a \231Date:\232 header line.) +-.1 E 15.56(eT)102 695.4 S .174(his mailer is e)128.11 695.4 R(xpensi)-.15 E +.474 -.15(ve t)-.25 H 2.674(oc).15 G .173(onnect to, so try to a)237.03 695.4 R +-.2(vo)-.2 G .173(id connecting normally; an).2 F 2.673(yn)-.15 G .173 +(ecessary con-)449.687 695.4 R(nection will occur during a queue run.)122 707.4 +Q 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 13.89(EE)102 96 +S(scape lines be)128.11 96 Q +(ginning with \231From\232 in the message with a `>' sign.)-.15 E 16.67(fT)102 +112.2 S .19(he mailer w)128.11 112.2 R .19(ants a)-.1 F F0<ad66>2.69 E/F2 10 +/Times-Italic@0 SF(fr)2.69 E(om)-.45 E F1 .19(\215ag, b)2.69 F .19 +(ut only if this is a netw)-.2 F .19(ork forw)-.1 F .19 +(ard operation \(i.e., the mailer)-.1 F(will gi)122 124.2 Q .3 -.15(ve a)-.25 H +2.5(ne).15 G(rror if the e)175.76 124.2 Q -.15(xe)-.15 G +(cuting user does not ha).15 E .3 -.15(ve s)-.2 H(pecial permissions\).).15 E +6.94(F\207 This)102 140.4 R(mailer w)2.5 E(ants a \231From:\232 header line.) +-.1 E 15(gN)102 156.6 S(ormally)129.22 156.6 Q(,)-.65 E F2(sendmail)4.893 E F1 +2.393(sends internally generated email \(e.g., error messages\) using the null) +4.893 F 1.327(return address as required by RFC 1123.)122 168.6 R(Ho)6.327 E +(we)-.25 E -.15(ve)-.25 G 2.127 -.4(r, s).15 H 1.327(ome mailers don').4 F +3.827(ta)-.18 G 1.328(ccept a null return)427.537 168.6 R 3.311(address. If)122 +180.6 R(necessary)3.311 E 3.311(,y)-.65 G .811(ou can set the)219.303 180.6 R +F0(g)3.311 E F1 .811(\215ag to pre)3.311 F -.15(ve)-.25 G(nt).15 E F2(sendmail) +3.31 E F1 .81(from obe)3.31 F .81(ying the standards;)-.15 F 1.57 +(error messages will be sent as from the MAILER-D)122 192.6 R 1.57 +(AEMON \(actually)-.4 F 4.07(,t)-.65 G 1.57(he v)425.76 192.6 R 1.57 +(alue of the)-.25 F F0($n)4.07 E F1(macro\).)122 204.6 Q 15(hU)102 220.8 S +(pper case should be preserv)129.22 220.8 Q(ed in host names for this mailer) +-.15 E(.)-.55 E 16.67(IT)102 237 S .475 +(his mailer will be speaking SMTP to another)128.11 237 R F2(sendmail)2.974 E +F1 2.974<8a61>2.974 G 2.974(ss)370.066 237 S .474 +(uch it can use special protocol)380.82 237 R 3.632(features. This)122 249 R +1.133(option is not required \(i.e., if this option is omitted the transmissio\ +n will still)3.632 F(operate successfully)122 261 Q 2.5(,a)-.65 G +(lthough perhaps not as ef)211.6 261 Q(\214ciently as possible\).)-.25 E 15(kN) +102 277.2 S 1.03(ormally when)129.22 277.2 R F2(sendmail)3.53 E F1 1.03 +(connects to a host via SMTP)3.53 F 3.529(,i)-1.11 G 3.529(tc)356.257 277.2 S +1.029(hecks to mak)367.006 277.2 R 3.529(es)-.1 G 1.029(ure that this isn') +433.593 277.2 R(t)-.18 E .562(accidently the same host name as might happen if) +122 289.2 R F2(sendmail)3.062 E F1 .562(is miscon\214gured or if a long-haul) +3.062 F(netw)122 301.2 Q 1.074(ork interf)-.1 F 1.074 +(ace is set in loopback mode.)-.1 F 1.073 +(This \215ag disables the loopback check.)6.074 F 1.073(It should)6.073 F +(only be used under v)122 313.2 Q(ery unusual circumstances.)-.15 E 12.78(KC) +102 329.4 S(urrently unimplemented.)128.67 329.4 Q(Reserv)5 E(ed for chunking.) +-.15 E 17.22(lT)102 345.6 S(his mailer is local \(i.e., \214nal deli)128.11 +345.6 Q -.15(ve)-.25 G(ry will be performed\).).15 E 13.89(LL)102 361.8 S .819 +(imit the line lengths as speci\214ed in RFC821.)128.11 361.8 R .82 +(This deprecated option should be replaced by)5.819 F(the)122 373.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) +245.04 373.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)102 390 S .464 +(his mailer can send to multiple users on the same host in one transaction.) +128.11 390 R .463(When a)5.463 F F0($u)2.963 E F1(macro)2.963 E .731 +(occurs in the)122 402 R F2(ar)3.231 E(gv)-.37 E F1 .732(part of the mailer de\ +\214nition, that \214eld will be repeated as necessary for all)3.231 F +(qualifying users.)122 414 Q 3.61(M\207 This)102 430.2 R(mailer w)2.5 E +(ants a \231Message-Id:\232 header line.)-.1 E 15(nD)102 446.4 S 2.5(on)129.22 +446.4 S(ot insert a UNIX-style \231From\232 line on the front of the message.) +141.72 446.4 Q 15(oA)102 462.6 S -.1(lwa)129.22 462.6 S .816(ys run as the o).1 +F .816(wner of the recipient mailbox.)-.25 F(Normally)5.816 E F2(sendmail)3.316 +E F1 .816(runs as the sender for)3.316 F .198 +(locally generated mail or as \231daemon\232 \(actually)122 474.6 R 2.698(,t) +-.65 G .198(he user speci\214ed in the)321.576 474.6 R F0(u)2.698 E F1 .198 +(option\) when deli)2.698 F(v-)-.25 E .981(ering netw)122 486.6 R .981 +(ork mail.)-.1 F .981(The normal beha)5.981 F .981 +(viour is required by most local mailers, which will not)-.2 F(allo)122 498.6 Q +2.52(wt)-.25 G .02(he en)149.27 498.6 R -.15(ve)-.4 G .021 +(lope sender address to be set unless the mailer is running as daemon.).15 F +.021(This \215ag is)5.021 F(ignored if the)122 510.6 Q F0(S)2.5 E F1 +(\215ag is set.)2.5 E 15(pU)102 526.8 S .498(se the route-addr style re)129.22 +526.8 R -.15(ve)-.25 G .498(rse-path in the SMTP \231MAIL FR).15 F .497 +(OM:\232 command rather than just)-.4 F .385 +(the return address; although this is required in RFC821 section 3.1, man)122 +538.8 R 2.886(yh)-.15 G .386(osts do not process)427.012 538.8 R(re)122 550.8 Q +-.15(ve)-.25 G(rse-paths properly).15 E 5(.R)-.65 G -2.15 -.25(ev e)224.81 +550.8 T(rse-paths are of).25 E(\214cially discouraged by RFC 1123.)-.25 E 6.94 +(P\207 This)102 567 R(mailer w)2.5 E(ants a \231Return-P)-.1 E(ath:\232 line.) +-.15 E 16.67(rS)102 583.2 S(ame as)127.56 583.2 Q F0(f)2.5 E F1 2.5(,b)C +(ut sends a)170.68 583.2 Q F0<ad72>2.5 E F1(\215ag.)2.5 E 16.11(sS)102 599.4 S +(trip quote characters \(" and \\\) of)127.56 599.4 Q 2.5(fo)-.25 G 2.5(ft) +266.07 599.4 S(he address before calling the mailer)274.68 599.4 Q(.)-.55 E +14.44(SD)102 615.6 S(on')129.22 615.6 Q 3.332(tr)-.18 G .832 +(eset the userid before calling the mailer)151.812 615.6 R 5.831(.T)-.55 G .831 +(his w)328.433 615.6 R .831(ould be used in a secure en)-.1 F(vironment)-.4 E +(where)122 627.6 Q F2(sendmail)3.317 E F1 .817(ran as root.)3.317 F .817 +(This could be used to a)5.817 F -.2(vo)-.2 G .817(id for).2 F .817 +(ged addresses.)-.18 F .817(If the)5.817 F F0(U=)3.317 E F1 .818(\214eld is) +3.317 F .974(also speci\214ed, this \215ag causes the user id to al)122 639.6 R +-.1(wa)-.1 G .974(ys be set to that user and group \(instead of).1 F(lea)122 +651.6 Q(ving it as root\).)-.2 E 15(uU)102 667.8 S(pper case should be preserv) +129.22 667.8 Q(ed in user names for this mailer)-.15 E(.)-.55 E 12.78(UT)102 +684 S(his mailer w)128.11 684 Q(ants UUCP-style \231From\232 lines with the ug\ +ly \231remote from <host>\232 on the end.)-.1 E 12.78(wT)102 700.2 S .565 +(he user must ha)128.11 700.2 R .865 -.15(ve a v)-.2 H .566 +(alid account on this machine, i.e., getpwnam must succeed.)-.1 F .566 +(If not, the)5.566 F(mail is bounced.)122 712.2 Q +(This is required to get \231.forw)5 E(ard\232 capability)-.1 E(.)-.65 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 7.5(x\207 This)102 96 R(mailer w) +2.5 E(ants a \231Full-Name:\232 header line.)-.1 E 12.78(XT)102 112.2 S .972 +(his mailer w)128.11 112.2 R .972 +(ant to use the hidden dot algorithm as speci\214ed in RFC821; basically)-.1 F +3.472(,a)-.65 G 1.272 -.15(ny l)475.678 112.2 T(ine).15 E(be)122 124.2 Q .796 +(ginning with a dot will ha)-.15 F 1.096 -.15(ve a)-.2 H 3.296(ne).15 G .797 +(xtra dot prepended \(to be stripped at the other end\).)267.742 124.2 R(This) +5.797 E(insures that lines in the message containing a dot will not terminate \ +the message prematurely)122 136.2 Q(.)-.65 E 15(5I)102 152.4 S 2.717(fn)125.33 +152.4 S 2.717(oa)136.377 152.4 S .217(liases are found for this address, pass \ +the address through ruleset 5 for possible alternate)148.534 152.4 R 2.5 +(resolution. This)122 164.4 R(is intended to forw)2.5 E +(ard the mail to an alternate deli)-.1 E -.15(ve)-.25 G(ry spot.).15 E 15(7S) +102 180.6 S 1.14(trip all output to se)127.56 180.6 R -.15(ve)-.25 G 3.64(nb) +.15 G 3.64(its. This)230.36 180.6 R 1.14(is the def)3.64 F 1.141(ault if the) +-.1 F F0(L)3.641 E F1 1.141(\215ag is set.)3.641 F 1.141 +(Note that clearing this)6.141 F .295(option is not suf)122 192.6 R .295 +(\214cient to get full eight bit data passed through)-.25 F/F2 10 +/Times-Italic@0 SF(sendmail)2.795 E F1 5.295(.I)C 2.795(ft)423.635 192.6 S(he) +432.54 192.6 Q F0(7)2.795 E F1 .295(option is set,)2.795 F .716 +(this is essentially al)122 204.6 R -.1(wa)-.1 G .717 +(ys set, since the eighth bit w).1 F .717(as stripped on input.)-.1 F .717 +(Note that this option)5.717 F(will only impact messages that didn')122 216.6 Q +2.5(th)-.18 G -2.25 -.2(av e)279.04 216.6 T(8)2.7 E/F3 10/Symbol SF<ae>A F1 2.5 +(7b)C(it MIME con)322.44 216.6 Q -.15(ve)-.4 G(rsions performed.).15 E 15(8I) +102 232.8 S 3.783(fs)125.33 232.8 S 1.283(et, it is acceptable to send eight b\ +it data to this mailer; the usual attempt to do 8)136.333 232.8 R F3<ae>A F1 +3.782(7b)C(it)498.44 232.8 Q(MIME con)122 244.8 Q -.15(ve)-.4 G +(rsions will be bypassed.).15 E 17.22(:C)102 261 S .982 +(heck addresses to see if the)128.67 261 R 3.482(yb)-.15 G -.15(eg)255.492 261 +S .982(in \231:include:\232; if the).15 F 3.482(yd)-.15 G .982(o, con)361.33 +261 R -.15(ve)-.4 G .982(rt them to the \231*include*\232).15 F(mailer)122 273 +Q(.)-.55 E 18(|C)102 289.2 S(heck addresses to see if the)128.67 289.2 Q 2.5 +(yb)-.15 G -.15(eg)249.6 289.2 S(in with a `|'; if the).15 E 2.5(yd)-.15 G +(o, con)343.51 289.2 Q -.15(ve)-.4 G(rt them to the \231prog\232 mailer).15 E +(.)-.55 E 17.22(/C)102 305.4 S(heck addresses to see if the)128.67 305.4 Q 2.5 +(yb)-.15 G -.15(eg)249.6 305.4 S(in with a `/'; if the).15 E 2.5(yd)-.15 G +(o, con)344.29 305.4 Q -.15(ve)-.4 G(rt them to the \231*\214le*\232 mailer).15 +E(.)-.55 E 10.79(@L)102 321.6 S(ook up addresses in the user database.)128.11 +321.6 Q .268(Con\214guration \214les prior to le)127 337.8 R -.15(ve)-.25 G +2.768(l6a).15 G .268(ssume the `)271.538 337.8 R -1.11(A')-.8 G 2.768(,`)1.11 G +.268(w', `5', `:', `|', `/', and `@' options on the)334.862 337.8 R +(mailer named \231local\232.)102 349.8 Q .306(The mailer with the special name\ + \231error\232 can be used to generate a user error)127 366 R 5.306(.T)-.55 G +.306(he \(optional\))452.314 366 R .324(host \214eld is an e)102 378 R .323 +(xit status to be returned, and the user \214eld is a message to be printed.) +-.15 F .323(The e)5.323 F .323(xit sta-)-.15 F .891 +(tus may be numeric or one of the v)102 390 R .891(alues USA)-.25 F .891 +(GE, NOUSER, NOHOST)-.4 F 3.391(,U)-.74 G -.35(NA)409.869 390 S -1.35(VA)-1 G +.891(ILABLE, SOFT)1.35 F(-)-.92 E -1.2(WA)102 402 S 1.573(RE, TEMPF)1.2 F 1.573 +(AIL, PR)-.74 F -1.88 -.4(OT O)-.4 H 1.573 +(COL, or CONFIG to return the corresponding EX_ e).4 F 1.572(xit code.)-.15 F +-.15(Fo)6.572 G(r).15 E -.15(ex)102 414 S(ample, the entry:).15 E +($#error $@ NOHOST $: Host unkno)142 430.2 Q(wn in this domain)-.25 E .145(on \ +the RHS of a rule will cause the speci\214ed error to be generated and the \ +\231Host unkno)102 446.4 R .146(wn\232 e)-.25 F .146(xit sta-)-.15 F +(tus to be returned if the LHS matches.)102 458.4 Q +(This mailer is only functional in rulesets zero or \214v)5 E(e.)-.15 E .468 +(The mailer named \231local\232)127 474.6 R F2(must)2.968 E F1 .468 +(be de\214ned in e)2.968 F -.15(ve)-.25 G .468(ry con\214guration \214le.).15 F +.468(This is used to deli)5.468 F -.15(ve)-.25 G(r).15 E .25 +(local mail, and is treated specially in se)102 486.6 R -.15(ve)-.25 G .25 +(ral w).15 F 2.75(ays. Additionally)-.1 F 2.75(,t)-.65 G .25 +(hree other mailers named \231prog\232,)369.43 486.6 R .942 +(\231*\214le*\232, and \231*include*\232 may be de\214ned to tune the deli)102 +498.6 R -.15(ve)-.25 G .942(ry of messages to programs, \214les, and).15 F +(:include: lists respecti)102 510.6 Q -.15(ve)-.25 G(ly).15 E 5(.T)-.65 G(he) +219 510.6 Q 2.5(yd)-.15 G(ef)240.79 510.6 Q(ault to:)-.1 E +(Mprog, P=/bin/sh, F=lsD, A=sh \255c $u)142 526.8 Q(M*\214le*, P=/de)142 538.8 +Q(v/null, F=lsDFMPEu, A=FILE)-.25 E(M*include*, P=/de)142 550.8 Q +(v/null, F=su, A=INCLUDE)-.25 E .615(The Sender and Recipient re)127 571.2 R +.615(writing sets may either be a simple ruleset id or may be tw)-.25 F 3.116 +(oi)-.1 G(ds)495.11 571.2 Q .576(separated by a slash; if so, the \214rst re) +102 583.2 R .575(writing set is applied to en)-.25 F -.15(ve)-.4 G .575 +(lope addresses and the second is).15 F(applied to headers.)102 595.2 Q .196 +(The Directory is actually a colon-separated path of directories to try)127 +611.4 R 5.197(.F)-.65 G .197(or e)413.019 611.4 R .197(xample, the de\214ni-) +-.15 F .104(tion \231D=$z:/\232 \214rst tries to e)102 623.4 R -.15(xe)-.15 G +.104(cute in the recipient').15 F 2.604(sh)-.55 G .104 +(ome directory; if that is not a)315.196 623.4 R -.25(va)-.2 G .103 +(ilable, it tries to).25 F -.15(exe)102 635.4 S .816 +(cute in the root of the \214lesystem.).15 F .816 +(This is intended to be used only on the \231prog\232 mailer)5.816 F 3.317(,s) +-.4 G(ince)487.34 635.4 Q .368(some shells \(such as)102 647.4 R F2(csh)2.868 E +F1 2.868(\)r)C .368(efuse to e)210.21 647.4 R -.15(xe)-.15 G .368(cute if the) +.15 F 2.868(yc)-.15 G .367(annot read the home directory)311.29 647.4 R 5.367 +(.S)-.65 G .367(ince the queue)445.506 647.4 R +(directory is not normally readable by unpri)102 659.4 Q(vile)-.25 E(ged users) +-.15 E F2(csh)2.5 E F1(scripts as recipients can f)2.5 E(ail.)-.1 E 1.862 +(The Userid speci\214es the def)127 675.6 R 1.863 +(ault user and group id to run as, o)-.1 F -.15(ve)-.15 G 1.863(rriding the).15 +F F0(DefaultUser)4.363 E F1 .287(option \(q.v)102 687.6 R 2.787(.\). If)-.65 F +(the)2.787 E F0(S)2.787 E F1 .287(mailer \215ag is also speci\214ed, this is t\ +he user and group to run as in all circum-)2.787 F 2.587(stances. This)102 +699.6 R .088(may be gi)2.587 F -.15(ve)-.25 G 2.588(na).15 G(s)219.518 699.6 Q +F2(user:gr)2.588 E(oup)-.45 E F1 .088 +(to set both the user and group id; either may be an inte)2.588 F(ger)-.15 E +.541(or a symbolic name to be look)102 711.6 R .541(ed up in the)-.1 F F2 +(passwd)3.041 E F1(and)3.041 E F2(gr)3.041 E(oup)-.45 E F1 .541 +(\214les respecti)3.041 F -.15(ve)-.25 G(ly).15 E 5.541(.I)-.65 G 3.041(fo) +432.657 711.6 S .541(nly a symbolic)444.028 711.6 R +(user name is speci\214ed, the group id in the)102 723.6 Q F2(passwd)2.5 E F1 +(\214le for that user is used as the group id.)2.5 E 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 .545 +(The Charset \214eld is used when con)127 96 R -.15(ve)-.4 G .545 +(rting a message to MIME; this is the character set used).15 F .466 +(in the Content-T)102 108 R .466(ype: header)-.8 F 5.466(.I)-.55 G 2.966(ft) +225.824 108 S .466(his is not set, the)234.9 108 R F0(DefaultCharset)2.966 E F1 +.465(option is used, and if that is not)2.965 F .257(set, the v)102 120 R .257 +(alue \231unkno)-.25 F .257(wn-8bit\232 is used.)-.25 F F0 -1.2(WA)5.257 G +(RNING:)1.2 E F1 .257(this \214eld applies to the sender')2.757 F 2.758(sm)-.55 +G(ailer)453.614 120 Q 2.758(,n)-.4 G .258(ot the)481.242 120 R(recipient')102 +132 Q 2.702(sm)-.55 G(ailer)154.142 132 Q 5.202(.F)-.55 G .202(or e)184.474 132 +R .202(xample, if the en)-.15 F -.15(ve)-.4 G .201 +(lope sender address lists an address on the local netw).15 F(ork)-.1 E .48 +(and the recipient is on an e)102 144 R .48(xternal netw)-.15 F .48 +(ork, the character set will be set from the Charset= \214eld for)-.1 F +(the local netw)102 156 Q(ork mailer)-.1 E 2.5(,n)-.4 G(ot that of the e)208.98 +156 Q(xternal netw)-.15 E(ork mailer)-.1 E(.)-.55 E .795(The T)127 172.2 R .795 +(ype= \214eld sets the type information used in MIME error messages as de\214n\ +ed by RFC)-.8 F .15(XXX \(not yet published\).)102 184.2 R .15 +(It is actually three v)5.15 F .151(alues separated by slashes: the MT)-.25 F +.151(A-type \(that is, the)-.93 F .36(description of ho)102 196.2 R 2.86(wh) +-.25 G .359(osts are named\), the address type \(the description of e-mail add\ +resses\), and the)185.32 196.2 R .221 +(diagnostic type \(the description of error diagnostic codes\).)102 208.2 R +.222(Each of these must be a re)5.221 F .222(gistered v)-.15 F(alue)-.25 E +(or be)102 220.2 Q(gin with \231X\255\232.)-.15 E(The def)5 E +(ault is \231dns/rfc822/smtp\232.)-.1 E F0 2.5(5.5. H)87 244.2 R 2.5<8a44>2.5 G +(e\214ne Header)137 244.2 Q F1 1.136(The format of the header lines that)127 +260.4 R/F2 10/Times-Italic@0 SF(sendmail)3.636 E F1 1.135 +(inserts into the message are de\214ned by the)3.636 F F0(H)3.635 E F1 2.5 +(line. The)102 272.4 R(syntax of this line is:)2.5 E F0(H)142 288.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 +1.058(Continuation lines in this spec are re\215ected directly into the outgoi\ +ng message.)102 304.8 R(The)6.058 E F2(htemplate)3.558 E F1(is)3.558 E 1.098 +(macro e)102 316.8 R 1.098(xpanded before insertion into the message.)-.15 F +1.098(If the)6.098 F F2(m\215a)3.598 E(gs)-.1 E F1 1.097 +(\(surrounded by question marks\))3.597 F .161(are speci\214ed, at least one o\ +f the speci\214ed \215ags must be stated in the mailer de\214nition for this h\ +eader)102 328.8 R .192(to be automatically output.)102 340.8 R .191 +(If one of these headers is in the input it is re\215ected to the output re) +5.192 F -.05(ga)-.15 G(rd-).05 E(less of these \215ags.)102 352.8 Q +(Some headers ha)127 369 Q .3 -.15(ve s)-.2 H +(pecial semantics that will be described later).15 E(.)-.55 E F0 2.5(5.6. O)87 +393 R 2.5<8a53>2.5 G(et Option)135.34 393 Q F1 .962(There are a number of glob\ +al options that can be set from a con\214guration \214le.)127 409.2 R .963 +(Options are)5.963 F .86(represented by full w)102 421.2 R .86 +(ords; some are also representable as single characters for back compatibility) +-.1 F(.)-.65 E(The syntax of this line is:)102 433.2 Q F0(O)142 449.4 Q F2 +(option)7.5 E F0(=)A F2(value)A F1 .562(This sets option)102 465.6 R F2(option) +3.062 E F1 .562(to be)3.062 F F2(value)3.062 E F1 5.562(.N)C .562 +(ote that there)258.434 465.6 R F2(must)3.062 E F1 .562 +(be a space between the letter `O' and the)3.062 F(name of the option.)102 +477.6 Q(An older v)5 E(ersion is:)-.15 E F0(O)142 493.8 Q F2 1.666(ov)C(alue) +-1.666 E F1 .13(where the option)102 510 R F2(o)2.63 E F1 .13 +(is a single character)2.63 F 5.13(.D)-.55 G .13(epending on the option,)273.56 +510 R F2(value)2.63 E F1 .13(may be a string, an inte)2.63 F(ger)-.15 E(,)-.4 E +2.5(ab)102 522 S(oolean \(with le)113.94 522 Q -.05(ga)-.15 G 2.5(lv).05 G +(alues \231t\232, \231T\232, \231f\232, or \231F\232; the def)193.2 522 Q +(ault is TR)-.1 E(UE\), or a time interv)-.4 E(al.)-.25 E +(The options supported \(with the old, one character names in brack)127 538.2 Q +(ets\) are:)-.1 E(AliasFile=)102 554.4 Q F2(spec, spec, ...)A F1 .439 +([A] Specify possible alias \214le\(s\).)174 566.4 R(Each)5.439 E F2(spec)2.939 +E F1 .439(should be in the format `)2.939 F(`)-.74 E F2(class)A F0(:)A F2 +(\214le)2.94 E F1 -.74('')C(where)174 578.4 Q F2(class)3.1 E F0(:)A F1 .599 +(is optional and def)3.099 F .599(aults to `)-.1 F(`implicit')-.74 E 3.099 +('. Depending)-.74 F .599(on ho)3.099 F(w)-.25 E F2(sendmail)3.099 E F1 .186 +(is compiled, v)174 590.4 R .187(alid classes are \231implicit\232 \(search th\ +rough a compiled-in list of alias)-.25 F 2.055 +(\214le types, for back compatibility\), \231hash\232 \(if)174 602.4 R/F3 9 +/Times-Roman@0 SF(NEWDB)4.555 E F1 2.055(is speci\214ed\), \231dbm\232 \(if) +4.555 F F3(NDBM)174 614.4 Q F1 1.588(is speci\214ed\), \231stab\232 \(internal\ + symbol table \212 not normally used unless)4.088 F .075(you ha)174 626.4 R +.375 -.15(ve n)-.2 H 2.575(oo).15 G .075 +(ther database lookup\), or \231nis\232 \(if)230.255 626.4 R F3(NIS)2.574 E F1 +.074(is speci\214ed\).)2.574 F .074(If a list of)5.074 F F2(spec)2.574 E F1(s)A +(are pro)174 638.4 Q(vided,)-.15 E F2(sendmail)2.5 E F1(searches them in order) +2.5 E(.)-.55 E(AliasW)102 654.6 Q(ait=)-.8 E F2(timeout)A F1 .14([a] If set, w) +174 666.6 R .14(ait up to)-.1 F F2(timeout)2.64 E F1 .141(\(units def)2.641 F +.141(ault to minutes\) for an \231@:@\232 entry to e)-.1 F(xist)-.15 E .518 +(in the alias database before starting up.)174 678.6 R .517 +(If it does not appear in the)5.517 F F2(timeout)3.017 E F1(inter)3.017 E(-)-.2 +E -.25(va)174 690.6 S 3.21(lr).25 G(eb)192.51 690.6 Q .71 +(uild the database \(if the)-.2 F F0 -.5(Au)3.21 G(toReb).5 E(uildAliases)-.2 E +F1 .71(option is also set\) or issue a)3.21 F -.1(wa)174 702.6 S(rning.).1 E 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/F1 10/Times-Roman@0 SF(AutoReb)102 96 Q(uildAliases)-.2 E +.128([D] If set, reb)174 108 R .128 +(uild the alias database if necessary and possible.)-.2 F .128 +(If this option is not)5.128 F(set,)174 120 Q/F2 10/Times-Italic@0 SF(sendmail) +4.885 E F1 2.385(will ne)4.885 F -.15(ve)-.25 G 4.885(rr).15 G(eb)283.96 120 Q +2.385(uild the alias database unless e)-.2 F 2.385(xplicitly requested)-.15 F +(using)174 132 Q F0(\255bi)2.5 E F1 5(.N)C +(ot recommended \212 can cause thrashing.)226.93 132 Q(BlankSub=)102 148.2 Q F2 +(c)A F1 1.255([B] Set the blank substitution character to)174 148.2 R F2(c) +3.755 E F1 6.255(.U)C 1.255(nquoted spaces in addresses are)372.35 148.2 R +(replaced by this character)174 160.2 Q 5(.D)-.55 G(ef)290.63 160.2 Q +(aults to space \(i.e., no change is made\).)-.1 E 14.51(CheckAliases [n])102 +176.4 R -1.11(Va)2.5 G(lidate the RHS of aliases when reb)1.11 E +(uilding the alias database.)-.2 E(CheckpointInterv)102 192.6 Q(al=)-.25 E F2 +(N)A F1 1.296([C] Checkpoints the queue e)174 204.6 R -.15(ve)-.25 G(ry).15 E +F2(N)3.797 E F1(\(def)3.797 E 1.297(ault 10\) addresses sent.)-.1 F 1.297 +(If your system)6.297 F .747(crashes during deli)174 216.6 R -.15(ve)-.25 G +.746(ry to a lar).15 F .746(ge list, this pre)-.18 F -.15(ve)-.25 G .746 +(nts retransmission to an).15 F 3.246(yb)-.15 G .746(ut the)480.754 216.6 R +(last recipients.)174 228.6 Q(ClassF)102 244.8 Q(actor=)-.15 E F2(fact)A F1 +1.624([z] The indicated)4.29 F F2(fact)4.124 E F1 1.624 +(or is multiplied by the message class \(determined by the)B .719 +(Precedence: \214eld in the user header and the)174 256.8 R F0(P)3.219 E F1 +.718(lines in the con\214guration \214le\) and)3.218 F 2.637 +(subtracted from the priority)174 268.8 R 7.637(.T)-.65 G 2.637 +(hus, messages with a higher Priority: will be)307.768 268.8 R -.1(fa)174 280.8 +S -.2(vo)-.1 G 2.5(red. Def).2 F(aults to 1800.)-.1 E 3.95(ColonOkInAddr [no) +102 297 R 4.679 +(short name] If set, colons are acceptable in e-mail addresses \(e.g.,)7.18 F +3.54(\231host:user\232\). If)174 309 R 1.04(not set, colons indicate the be) +3.54 F 1.04(ginning of a RFC 822 group con-)-.15 F 1.988 +(struct \(\231groupname: member1, member2, ... memberN;\232\).)174 321 R 1.987 +(Doubled colons are)6.987 F(al)174 333 Q -.1(wa)-.1 G 2.215(ys acceptable \(\ +\231nodename::user\232\) and proper route-addr nesting is under).1 F(-)-.2 E +1.037(stood \(\231<@relay:user@host>\232\).)174 345 R 1.037 +(Furthermore, this option def)6.037 F 1.036(aults on if the con-)-.1 F .853 +(\214guration v)174 357 R .853(ersion le)-.15 F -.15(ve)-.25 G 3.353(li).15 G +3.353(sl)274.059 357 S .853(ess than 6 \(for back compatibility\).)284.082 357 +R(Ho)5.854 E(we)-.25 E -.15(ve)-.25 G 1.654 -.4(r, i).15 H 3.354(tm).4 G(ust) +492.33 357 Q(be of)174 369 Q 2.5(ff)-.25 G(or full compatibility with RFC 822.) +203.18 369 Q(ConnectionCacheSize=)102 385.2 Q F2(N)A F1 .242 +([k] The maximum number of open connections that will be cached at a time.)174 +397.2 R(The)5.242 E(def)174 409.2 Q .385(ault is one.)-.1 F .386 +(This delays closing the current connection until either this in)5.386 F -.2 +(vo)-.4 G(ca-).2 E 1.192(tion of)174 421.2 R F2(sendmail)3.692 E F1 1.191 +(needs to connect to another host or it terminates.)3.692 F 1.191 +(Setting it to)6.191 F 2.046(zero def)174 433.2 R 2.046(aults to the old beha) +-.1 F(vior)-.2 E 4.546(,t)-.4 G 2.047 +(hat is, connections are closed immediately)322.496 433.2 R(.)-.65 E .266 +(Since this consumes \214le descriptors, the connection cache should be k)174 +445.2 R .265(ept small: 4)-.1 F(is probably a practical maximum.)174 457.2 Q +(ConnectionCacheT)102 473.4 Q(imeout=)-.35 E F2(timeout)A F1 .708 +([K] The maximum amount of time a cached connection will be permitted to idle) +174 485.4 R 1.083(without acti)174 497.4 R(vity)-.25 E 6.083(.I)-.65 G 3.583 +(ft)249.156 497.4 S 1.083(his time is e)258.849 497.4 R 1.082 +(xceeded, the connection is immediately closed.)-.15 F .417(This v)174 509.4 R +.418(alue should be small \(on the order of ten minutes\).)-.25 F(Before)5.418 +E F2(sendmail)2.918 E F1 .418(uses a)2.918 F .508(cached connection, it al)174 +521.4 R -.1(wa)-.1 G .507(ys sends a RSET command to check the connection; if) +.1 F .401(this f)174 533.4 R .401(ails, it reopens the connection.)-.1 F .401 +(This k)5.401 F .402(eeps your end from f)-.1 F .402(ailing if the other)-.1 F +1.545(end times out.)174 545.4 R 1.545 +(The point of this option is to be a good netw)6.545 F 1.544(ork neighbor and) +-.1 F -.2(avo)174 557.4 S(id using up e).2 E(xcessi)-.15 E .3 -.15(ve r)-.25 H +(esources on the other end.).15 E(The def)5 E(ault is \214v)-.1 E 2.5(em)-.15 G +(inutes.)470.25 557.4 Q(DaemonPortOptions=)102 573.6 Q F2(options)A F1 +([O] Set serv)174 585.6 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:)490.2 585.6 Q 52.83(Port Name/number)214 601.8 R +(of listening port \(def)2.5 E(aults to "smtp"\))-.1 E 48.95(Addr Address)214 +613.8 R(mask \(def)2.5 E(aults IN)-.1 E(ADDR_ANY\))-.35 E -.15(Fa)214 625.8 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)214 637.8 R(of listen queue \(def)2.5 E(aults to 10\))-.1 E +21.72(SndBufSize Size)214 649.8 R(of TCP send b)2.5 E(uf)-.2 E(fer)-.25 E 21.17 +(RcvBufSize Size)214 661.8 R(of TCP recei)2.5 E .3 -.15(ve b)-.25 H(uf)-.05 E +(fer)-.25 E(The)174 678 Q F2(Addr)2.5 E F1 +(ess mask may be a numeric address in dot notation or a netw)A(ork name.)-.1 E +(Def)102 694.2 Q(aultCharSet=)-.1 E F2 -.15(ch)C(ar).15 E(set)-.1 E F1 .16 +([no short name] When a message that has 8-bit characters b)174 706.2 R .161 +(ut is not in MIME for)-.2 F(-)-.2 E .495(mat is con)174 718.2 R -.15(ve)-.4 G +.495(rted to MIME \(see the EightBitMode option\) a character set must be).15 F +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 .487 +(included in the Content-T)174 96 R .487(ype: header)-.8 F 5.487(.T)-.55 G .488 +(his character set is normally set from the)338.115 96 R .133 +(Charset= \214eld of the mailer descriptor)174 108 R 5.133(.I)-.55 G 2.633(ft) +337.64 108 S .133(hat is not set, the v)346.383 108 R .133 +(alue of this option is)-.25 F 2.5(used. If)174 120 R +(this option is not set, the v)2.5 E(alue \231unkno)-.25 E +(wn-8bit\232 is used.)-.25 E(Def)102 136.2 Q(aultUser=)-.1 E/F2 10 +/Times-Italic@0 SF(user:gr)A(oup)-.45 E F1 .013([u] Set the def)174 148.2 R +.013(ault userid for mailers to)-.1 F F2(user:gr)2.513 E(oup)-.45 E F1 5.013 +(.I)C(f)386.587 148.2 Q F2(gr)2.513 E(oup)-.45 E F1 .014(is omitted and)2.514 F +F2(user)2.514 E F1(is)2.514 E 4.307(au)174 160.2 S 1.807 +(ser name \(as opposed to a numeric user id\) the def)187.747 160.2 R 1.806 +(ault group listed in the)-.1 F 1.153 +(/etc/passwd \214le for that user is used as the def)174 172.2 R 1.153 +(ault group.)-.1 F(Both)6.153 E F2(user)3.653 E F1(and)3.653 E F2(gr)3.653 E +(oup)-.45 E F1 1.153(may be numeric.)174 184.2 R 1.152(Mailers without the) +6.152 F F2(S)3.652 E F1 1.152(\215ag in the mailer de\214nition will run as) +3.652 F .142(this user)174 198.2 R 5.142(.D)-.55 G(ef)222.064 198.2 Q .142 +(aults to 1:1.)-.1 F .142(The v)5.142 F .142(alue can also be gi)-.25 F -.15 +(ve)-.25 G 2.642(na).15 G 2.642(sas)400.612 198.2 S .142(ymbolic user name.) +418.116 198.2 R/F3 7/Times-Roman@0 SF(18)497 194.2 Q F1(Deli)102 214.4 Q -.15 +(ve)-.25 G(ryMode=).15 E F2(x)A F1([d] Deli)4 E -.15(ve)-.25 G 2.5(ri).15 G 2.5 +(nm)223.03 214.4 S(ode)238.31 214.4 Q F2(x)2.5 E F1 5(.L)C -2.25 -.15(eg a) +273.3 214.4 T 2.5(lm).15 G(odes are:)300.04 214.4 Q 17.22(iD)214 230.6 S(eli) +241.22 230.6 Q -.15(ve)-.25 G 2.5(ri).15 G(nteracti)268.87 230.6 Q -.15(ve)-.25 +G(ly \(synchronously\)).15 E 15(bD)214 242.6 S(eli)241.22 242.6 Q -.15(ve)-.25 +G 2.5(ri).15 G 2.5(nb)268.87 242.6 S(ackground \(asynchronously\))281.37 242.6 +Q 15(qJ)214 254.6 S(ust queue the message \(deli)237.89 254.6 Q -.15(ve)-.25 G +2.5(rd).15 G(uring queue run\))367.74 254.6 Q 15(dD)214 266.6 S(efer deli) +241.22 266.6 Q -.15(ve)-.25 G(ry and all map lookups \(deli).15 E -.15(ve)-.25 +G 2.5(rd).15 G(uring queue run\))415.66 266.6 Q(Def)174 282.8 Q .712 +(aults to `)-.1 F(`b')-.74 E 3.212('i)-.74 G 3.212(fn)244.816 282.8 S 3.211(oo) +256.358 282.8 S .711(ption is speci\214ed, `)269.569 282.8 R(`i')-.74 E 3.211 +('i)-.74 G 3.211(fi)365.093 282.8 S 3.211(ti)374.414 282.8 S 3.211(ss)383.185 +282.8 S .711(peci\214ed b)394.176 282.8 R .711(ut gi)-.2 F -.15(ve)-.25 G 3.211 +(nn).15 G 3.211(oa)474.869 282.8 S -.18(rg)487.52 282.8 S(u-).18 E .094 +(ment \(i.e., `)174 294.8 R(`Od')-.74 E 2.594('i)-.74 G 2.594(se)246.672 294.8 +S(qui)257.596 294.8 Q -.25(va)-.25 G .094(lent to `).25 F(`Odi')-.74 E 2.594 +('\). The)-.74 F F0<ad76>2.594 E F1 .094(command line \215ag sets this to)2.594 +F F0(i)2.594 E F1(.)A(DialDelay=)102 311 Q F2(sleeptime)A F1 .799 +([no short name] Dial-on-demand netw)174 323 R .798 +(ork connections can see timeouts if a con-)-.1 F .665 +(nection is opened before the call is set up.)174 335 R .665 +(If this is set to an interv)5.665 F .665(al and a con-)-.25 F .743 +(nection times out on the \214rst connection being attempted)174 347 R F2 +(sendmail)3.242 E F1 .742(will sleep for)3.242 F .31 +(this amount of time and try ag)174 359 R 2.81(ain. This)-.05 F .31(should gi) +2.81 F .61 -.15(ve y)-.25 H .31(our system time to establish).15 F 1.543 +(the connection to your service pro)174 371 R(vider)-.15 E 6.543(.U)-.55 G +1.543(nits def)354.188 371 R 1.542(ault to seconds, so \231DialDe-)-.1 F +(lay=5\232 uses a \214v)174 383 Q 2.5(es)-.15 G(econd delay)251.7 383 Q 5(.D) +-.65 G(ef)313.81 383 Q(aults to zero \(no retry\).)-.1 E(DontExpandCnames)102 +399.2 Q .559([no short name] The standards say that all host addresses used in\ + a mail message)174 411.2 R 1.408(must be fully canonical.)174 423.2 R -.15(Fo) +6.407 G 3.907(re).15 G 1.407(xample, if your host is named \231Cruft.F)302.668 +423.2 R(oo.ORG\232)-.15 E 1.462(and also has an alias of \231FTP)174 435.2 R +(.F)-1.11 E 1.462(oo.ORG\232, the former name must be used at all)-.15 F 2.631 +(times. This)174 447.2 R .131 +(is enforced during host name canoni\214cation \($[ ... $] lookups\).)2.631 F +.13(If this)5.13 F .661 +(option is set, the protocols are ignored and the \231wrong\232 thing is done.) +174 459.2 R(Ho)5.662 E(we)-.25 E -.15(ve)-.25 G -.4(r,).15 G .455 +(the IETF is mo)174 471.2 R .455(ving to)-.15 F -.1(wa)-.25 G .455 +(rd changing this standard, so the beha).1 F .455(viour may become)-.2 F 3.009 +(acceptable. Please)174 483.2 R .509(note that hosts do)3.009 F .509 +(wnstream may still re)-.25 F .509(write the address to be)-.25 F +(the true canonical name ho)174 495.2 Q(we)-.25 E -.15(ve)-.25 G -.55(r.).15 G +6.17(DontInitGroups [no)102 511.4 R .25(short name] If set,)2.75 F F2(sendmail) +2.75 E F1 .25(will a)2.75 F -.2(vo)-.2 G .25 +(id using the initgroups\(3\) call.).2 F .25(If you are)5.25 F .583(running NI\ +S, this causes a sequential scan of the groups.byname map, which can)174 523.4 +R .436(cause your NIS serv)174 535.4 R .436(er to be badly o)-.15 F -.15(ve) +-.15 G .435(rloaded in a lar).15 F .435(ge domain.)-.18 F .435 +(The cost of this)5.435 F .697(is that the only group found for users will be \ +their primary group \(the one in the)174 547.4 R(passw)174 559.4 Q 1.189 +(ord \214le\), which will mak)-.1 F 3.689<658c>-.1 G 1.189 +(le access permissions some)315.845 559.4 R 1.189(what more restric-)-.25 F(ti) +174 571.4 Q -.15(ve)-.25 G 5(.H).15 G(as no ef)203.32 571.4 Q +(fect on systems that don')-.25 E 2.5(th)-.18 G -2.25 -.2(av e)344.26 571.4 T +(group lists.)2.7 E -1.61(DontPruneRoutes [R])102 587.6 R(Normally)3.905 E(,) +-.65 E F2(sendmail)3.905 E F1 1.405(tries to eliminate an)3.905 F 3.905(yu)-.15 +G 1.405(nnecessary e)372.465 587.6 R 1.405(xplicit routes when)-.15 F .155 +(sending an error message \(as discussed in RFC 1123 \247 5.2.6\).)174 599.6 R +-.15(Fo)5.154 G 2.654(re).15 G .154(xample, when)447.746 599.6 R +(sending an error message to)174 611.6 Q(<@kno)214 627.8 Q(wn1,@kno)-.25 E +(wn2,@kno)-.25 E(wn3:user@unkno)-.25 E(wn>)-.25 E F2(sendmail)174 644 Q F1 +1.155(will strip of)3.655 F 3.655(ft)-.25 G 1.155(he \231@kno)272.26 644 R +(wn1,@kno)-.25 E 1.155(wn2\232 in order to mak)-.25 F 3.655(et)-.1 G 1.155 +(he route as)458.37 644 R .813(direct as possible.)174 656 R(Ho)5.813 E(we)-.25 +E -.15(ve)-.25 G 1.613 -.4(r, i).15 H 3.313(ft).4 G(he)306.435 656 Q F0(R)3.313 +E F1 .812(option is set, this will be disabled, and the)3.313 F .009 +(mail will be sent to the \214rst address in the route, e)174 668 R -.15(ve) +-.25 G 2.51(ni).15 G 2.51(fl)392.86 668 S .01(ater addresses are kno)401.48 668 +R(wn.)-.25 E(This may be useful if you are caught behind a \214re)174 680 Q -.1 +(wa)-.25 G(ll.).1 E .32 LW 76 689.6 72 689.6 DL 80 689.6 76 689.6 DL 84 689.6 +80 689.6 DL 88 689.6 84 689.6 DL 92 689.6 88 689.6 DL 96 689.6 92 689.6 DL 100 +689.6 96 689.6 DL 104 689.6 100 689.6 DL 108 689.6 104 689.6 DL 112 689.6 108 +689.6 DL 116 689.6 112 689.6 DL 120 689.6 116 689.6 DL 124 689.6 120 689.6 DL +128 689.6 124 689.6 DL 132 689.6 128 689.6 DL 136 689.6 132 689.6 DL 140 689.6 +136 689.6 DL 144 689.6 140 689.6 DL 148 689.6 144 689.6 DL 152 689.6 148 689.6 +DL 156 689.6 152 689.6 DL 160 689.6 156 689.6 DL 164 689.6 160 689.6 DL 168 +689.6 164 689.6 DL 172 689.6 168 689.6 DL 176 689.6 172 689.6 DL 180 689.6 176 +689.6 DL 184 689.6 180 689.6 DL 188 689.6 184 689.6 DL 192 689.6 188 689.6 DL +196 689.6 192 689.6 DL 200 689.6 196 689.6 DL 204 689.6 200 689.6 DL 208 689.6 +204 689.6 DL 212 689.6 208 689.6 DL 216 689.6 212 689.6 DL/F4 5/Times-Roman@0 +SF(18)93.6 700 Q/F5 8/Times-Roman@0 SF(The old)3.2 I/F6 8/Times-Bold@0 SF(g)2 E +F5(option has been combined into the)2 E F6(DefaultUser)2 E F5(option.)2 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(EightBitMode=)102 96 Q/F2 10 +/Times-Italic@0 SF(action)A F1 1.956([8] Set handling of eight-bit data.)174 +108 R 1.955(There are tw)6.955 F 4.455(ok)-.1 G 1.955 +(inds of eight-bit data: that)392.85 108 R 3.334(declared as such using the)174 +120 R F0(BOD)5.834 E(Y=8BITMIME)-.4 E F1 3.335(ESMTP declaration or the)5.835 F +F0(\255B8BITMIME)174 132 Q F1 .948 +(command line \215ag, and undeclared 8-bit data, that is, input that)3.449 F +1.18(just happens to be eight bits.)174 144 R 1.18 +(There are three basic operations that can happen:)6.18 F .996 +(undeclared 8-bit data can be automatically con)174 156 R -.15(ve)-.4 G .995 +(rted to 8BITMIME, undeclared).15 F .887 +(8-bit data can be passed as-is without con)174 168 R -.15(ve)-.4 G .887 +(rsion to MIME \(`).15 F .887(`just send 8')-.74 F .887('\), and)-.74 F 5.989 +(declared 8-bit data can be con)174 180 R -.15(ve)-.4 G 5.989 +(rted to 7-bits for transmission to a).15 F(non-8BITMIME mailer)174 192 Q 5(.T) +-.55 G(he possible)281.77 192 Q F2(action)2.5 E F1 2.5(sa)C(re:)364.82 192 Q +11.11(sR)219 208.2 S(eject undeclared 8-bit data \(`)240.67 208.2 Q(`strict') +-.74 E('\))-.74 E 7.22(mC)219 220.2 S(on)240.67 220.2 Q -.15(ve)-.4 G +(rt undeclared 8-bit data to MIME \(`).15 E(`mime')-.74 E('\))-.74 E 10(pP)219 +232.2 S(ass undeclared 8-bit data \(`)239.41 232.2 Q(`pass')-.74 E('\))-.74 E +2.227(In all cases properly declared 8BITMIME data will be con)174 248.4 R -.15 +(ve)-.4 G 2.228(rted to 7BIT as).15 F(needed.)174 260.4 Q(ErrorHeader=)102 +276.6 Q F2(\214le-or)A(-messa)-.2 E -.1(ge)-.1 G F1 .486 +([E] Prepend error messages with the indicated message.)174 288.6 R .486 +(If it be)5.486 F .486(gins with a slash,)-.15 F .246(it is assumed to be the \ +pathname of a \214le containing a message \(this is the recom-)174 300.6 R .86 +(mended setting\).)174 312.6 R .86(Otherwise, it is a literal message.)5.86 F +.86(The error \214le might contain)5.86 F 1.116 +(the name, email address, and/or phone number of a local postmaster who could) +174 324.6 R(pro)174 336.6 Q .174(vide assistance in to end users.)-.15 F .173 +(If the option is missing or null, or if it names a)5.174 F +(\214le which does not e)174 348.6 Q +(xist or which is not readable, no message is printed.)-.15 E(ErrorMode=)102 +364.8 Q F2(x)A F1([e] Dispose of errors using mode)174 364.8 Q F2(x)2.5 E F1 5 +(.T)C(he v)325.91 364.8 Q(alues for)-.25 E F2(x)2.5 E F1(are:)2.5 E 15(pP)214 +381 S(rint error messages \(def)239.56 381 Q(ault\))-.1 E 15(qN)214 393 S 2.5 +(om)241.22 393 S(essages, just gi)256.5 393 Q .3 -.15(ve ex)-.25 H(it status) +.15 E 12.22(mM)214 405 S(ail back errors)242.89 405 Q 12.78(wW)214 417 S +(rite back errors \(mail if user not logged in\))243.44 417 Q 15.56(eM)214 429 +S(ail back errors and gi)242.89 429 Q .3 -.15(ve z)-.25 H(ero e).15 E +(xit stat al)-.15 E -.1(wa)-.1 G(ys).1 E -.15(Fa)102 449.4 S(llbackMXhost=).15 +E F2(fallbac)A(khost)-.2 E F1 .796([V] If speci\214ed, the)174 461.4 R F2 +(fallbac)3.296 E(khost)-.2 E F1 .796(acts lik)3.296 F 3.296(eav)-.1 G .797 +(ery lo)359.608 461.4 R 3.297(wp)-.25 G .797(riority MX on e)398.722 461.4 R +-.15(ve)-.25 G .797(ry host.).15 F +(This is intended to be used by sites with poor netw)174 473.4 Q(ork connecti) +-.1 E(vity)-.25 E(.)-.65 E -.15(Fo)102 489.6 S 16.88(rkEachJob [Y]).15 F .708 +(If set, deli)3.208 F -.15(ve)-.25 G 3.208(re).15 G .707 +(ach job that is run from the queue in a separate process.)252.792 489.6 R(Use) +5.707 E .274(this option if you are short of memory)174 501.6 R 2.774(,s)-.65 G +.274(ince the def)336.922 501.6 R .275(ault tends to consume consid-)-.1 F +(erable amounts of memory while the queue is being processed.)174 513.6 Q -.15 +(Fo)102 529.8 S(rw).15 E(ardP)-.1 E(ath=)-.15 E F2(path)A F1 4.675 +([J] Set the path for searching for users' .forw)174 541.8 R 4.675 +(ard \214les.)-.1 F 4.675(The def)9.675 F 4.675(ault is)-.1 F(\231$z/.forw)174 +553.8 Q 3.23(ard\232. Some)-.1 F .731 +(sites that use the automounter may prefer to change this to)3.23 F(\231/v)174 +565.8 Q(ar/forw)-.25 E 1.696 +(ard/$u\232 to search a \214le with the same name as the user in a system)-.1 F +(directory)174 577.8 Q 5.487(.I)-.65 G 2.987(tc)220.767 577.8 S .488 +(an also be set to a sequence of paths separated by colons;)230.974 577.8 R F2 +(sendmail)2.988 E F1 4.218 +(stops at the \214rst \214le it can successfully and safely open.)174 589.8 R +-.15(Fo)9.217 G 6.717(re).15 G(xample,)472.06 589.8 Q(\231/v)174 601.8 Q +(ar/forw)-.25 E(ard/$u:$z/.forw)-.1 E .681(ard\232 will search \214rst in /v) +-.1 F(ar/forw)-.25 E(ard/)-.1 E F2(username)A F1 .682(and then)3.182 F(in)174 +613.8 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(HelpFile=)102 +630 Q F2(\214le)A F1([H] Specify the help \214le for SMTP)174 630 Q(.)-1.11 E +(HoldExpensi)102 646.2 Q 8.54 -.15(ve [)-.25 H 1.394 +(c] If an outgoing mailer is mark).15 F 1.393(ed as being e)-.1 F(xpensi)-.15 E +-.15(ve)-.25 G 3.893(,d).15 G(on')415.294 646.2 Q 3.893(tc)-.18 G 1.393 +(onnect immedi-)439.557 646.2 R(ately)174 658.2 Q 5.267(.T)-.65 G .268 +(his requires that queueing be compiled in, since it will depend on a queue) +206.667 658.2 R(run process to actually send the mail.)174 670.2 Q 24.51 +(IgnoreDots [i])102 686.4 R 1.172(Ignore dots in incoming messages.)3.672 F +1.172(This is al)6.172 F -.1(wa)-.1 G 1.171(ys disabled \(that is, dots are).1 +F(al)174 698.4 Q -.1(wa)-.1 G(ys accepted\) when reading SMTP mail.).1 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(LogLe)102 96 Q +-.15(ve)-.25 G(l=).15 E/F2 10/Times-Italic@0 SF(n)A F1([L] Set the def)174 96 Q +(ault log le)-.1 E -.15(ve)-.25 G 2.5(lt).15 G(o)289.04 96 Q F2(n)2.5 E F1 5 +(.D)C(ef)316.26 96 Q(aults to 9.)-.1 E(M)102 112.2 Q F2 1.666(xv)C(alue)-1.666 +E F1 .255([no long v)174 112.2 R .255(ersion] Set the macro)-.15 F F2(x)2.755 E +F1(to)2.755 E F2(value)2.755 E F1 5.255(.T)C .255 +(his is intended only for use from the)357.505 112.2 R(command line.)174 124.2 +Q(The)5 E F0<ad4d>2.5 E F1(\215ag is preferred.)2.5 E 11.17(MatchGECOS [G])102 +140.4 R(Allo)3.334 E 3.334(wf)-.25 G .834(uzzy matching on the GECOS \214eld.) +222.628 140.4 R .833(If this \215ag is set, and the usual)5.833 F .867 +(user name lookups f)174 152.4 R .867 +(ail \(that is, there is no alias with this name and a)-.1 F F2 -.1(ge)3.368 G +(tpwnam).1 E F1 -.1(fa)174 164.4 S 1.155(ils\), sequentially search the passw) +.1 F 1.155(ord \214le for a matching entry in the GECOS)-.1 F 3.696 +(\214eld. This)174 176.4 R 1.196(also requires that MA)3.696 F 1.196 +(TCHGECOS be turned on during compilation.)-1.11 F +(This option is not recommended.)174 188.4 Q(MaxHopCount=)102 204.6 Q F2(N)A F1 +1.238([h] The maximum hop count.)174 216.6 R 1.238(Messages that ha)6.238 F +1.537 -.15(ve b)-.2 H 1.237(een processed more than).15 F F2(N)3.737 E F1 +(times are assumed to be in a loop and are rejected.)174 228.6 Q(Def)5 E +(aults to 25.)-.1 E(MaxHostStatAge=)102 244.8 Q F2 -.1(age)C F1 .438 +([no short name] Not yet implemented.)174 256.8 R .438 +(This option speci\214es ho)5.438 F 2.939(wl)-.25 G .439(ong host status) +443.672 256.8 R .36(information will be retained.)174 268.8 R -.15(Fo)5.36 G +2.86(re).15 G .36(xample, if a host is found to be do)315.76 268.8 R .36 +(wn, connec-)-.25 F .246 +(tions to that host will not be retried for this interv)174 280.8 R 2.746 +(al. The)-.25 F .246(units def)2.746 F .246(ault to minutes.)-.1 F +(MaxQueueRunSize=)102 297 Q F2(N)A F1 .677 +([no short name] The maximum number of jobs that will be processed in a single) +174 309 R .501(queue run.)174 321 R .501 +(If not set, there is no limit on the size.)5.501 F .501(If you ha)5.501 F .802 +-.15(ve ve)-.2 H .502(ry lar).15 F .502(ge queues)-.18 F .445(or a v)174 333 R +.445(ery short queue run interv)-.15 F .445(al this could be unstable.)-.25 F +(Ho)5.445 E(we)-.25 E -.15(ve)-.25 G 1.245 -.4(r, s).15 H .445 +(ince the \214rst).4 F F2(N)174 345 Q F1 1.115 +(jobs in queue directory order are run \(rather than the)3.615 F F2(N)3.615 E +F1 1.115(highest priority jobs\))3.615 F .136 +(this should be set as high as possible to a)174 357 R -.2(vo)-.2 G .136 +(id \231losing\232 jobs that happen to f).2 F .136(all late)-.1 F +(in the queue directory)174 369 Q(.)-.65 E(MeT)102 385.2 Q 40.86(oo [m])-.8 F +(Send to me too, e)2.5 E -.15(ve)-.25 G 2.5(ni).15 G 2.5(fIa)279.98 385.2 S 2.5 +(mi)296.08 385.2 S 2.5(na)309.14 385.2 S 2.5(na)321.08 385.2 S(lias e)333.02 +385.2 Q(xpansion.)-.15 E(MaxMessageSize=)102 401.4 Q F2(N)A F1 2.562 +([no short name] Specify the maximum message size to be adv)174 413.4 R 2.563 +(ertised in the)-.15 F(ESMTP EHLO response.)174 425.4 Q(Messages lar)5 E +(ger than this will be rejected.)-.18 E(MinFreeBlocks=)102 441.6 Q F2(N)A F1 +1.539([b] Insist on at least)174 453.6 R F2(N)4.039 E F1 1.538 +(blocks free on the \214lesystem that holds the queue \214les)4.039 F .845 +(before accepting email via SMTP)174 465.6 R 5.846(.I)-1.11 G 3.346(ft)322.368 +465.6 S .846(here is insuf)331.824 465.6 R .846(\214cient space)-.25 F F2 +(sendmail)3.346 E F1(gi)3.346 E -.15(ve)-.25 G 3.346(sa).15 G +(452 response to the MAIL command.)174 477.6 Q(This in)5 E +(vites the sender to try ag)-.4 E(ain later)-.05 E(.)-.55 E(MinQueueAge=age)102 +493.8 Q .887([no short name] Don')174 505.8 R 3.387(tp)-.18 G .887(rocess an) +274.018 505.8 R 3.387(yq)-.15 G .886(ueued jobs that ha)325.072 505.8 R 1.186 +-.15(ve b)-.2 H .886(een in the queue less).15 F 1.899 +(than the indicated time interv)174 517.8 R 4.399(al. This)-.25 F 1.899 +(is intended to allo)4.399 F 4.399(wy)-.25 G 1.9(ou to get respon-)430.81 517.8 +R(si)174 529.8 Q -.15(ve)-.25 G .665(ness by processing the queue f).15 F .665 +(airly frequently without thrashing your system)-.1 F +(by trying jobs too often.)174 541.8 Q(The def)5 E(ault units are minutes.)-.1 +E(NoRecipientAction)102 558 Q .554([no short name] The action to tak)174 570 R +3.055(ew)-.1 G .555(hen you recei)325.25 570 R .855 -.15(ve a m)-.25 H .555 +(essage that has no v).15 F(alid)-.25 E .062(recipient headers \(T)174 582 R +.062(o:, Cc:, Bcc:\).)-.8 F .062(It can be)5.062 F F0(None)2.561 E F1 .061 +(to pass the message on unmodi-)2.561 F .51 +(\214ed, which violates the protocol,)174 594 R F0(Add-T)3.01 E(o)-.92 E F1 .51 +(to add a T)3.01 F .51(o: header with an)-.8 F 3.01(yr)-.15 G(ecipients)468.45 +594 Q 4.41(it can \214nd in the en)174 606 R -.15(ve)-.4 G 4.41 +(lope \(which might e).15 F 4.41(xpose Bcc: recipients\),)-.15 F F0(Add-)6.91 E +-.25(Ap)174 618 S(par).25 E(ently-T)-.18 E(o)-.92 E F1 4.664 +(to add an Apparently-T)7.164 F 4.664(o: header \(this is only for back-)-.8 F +.875(compatibility and is of)174 630 R .875(\214cially deprecated\),)-.25 F F0 +(Add-T)3.374 E(o-Undisclosed)-.92 E F1 .874(to add a header)3.374 F<9954>174 +642 Q 1.594(o: undisclosed-recipients:;\232 to mak)-.8 F 4.094(et)-.1 G 1.594 +(he header le)339.456 642 R -.05(ga)-.15 G 4.095(lw).05 G 1.595 +(ithout disclosing an)414.29 642 R(y-)-.15 E(thing, or)174 654 Q F0(Add-Bcc)2.5 +E F1(to add an empty Bcc: header)2.5 E(.)-.55 E 1.18(OldStyleHeaders [o])102 +670.2 R 1.713 +(Assume that the headers may be in old format, i.e., spaces delimit names.) +4.214 F 1.068(This actually turns on an adapti)174 682.2 R 1.368 -.15(ve a)-.25 +H 1.068(lgorithm: if an).15 F 3.569(yr)-.15 G 1.069 +(ecipient address contains a)393.873 682.2 R 1.681 +(comma, parenthesis, or angle brack)174 694.2 R 1.681 +(et, it will be assumed that commas already)-.1 F -.15(ex)174 706.2 S 2.825 +(ist. If).15 F .325(this \215ag is not on, only commas delimit names.)2.825 F +.325(Headers are al)5.325 F -.1(wa)-.1 G .325(ys out-).1 F +(put with commas between the names.)174 718.2 Q(Def)5 E(aults to of)-.1 E(f.) +-.25 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(OperatorChars=)102 96 Q/F2 10 +/Times-Italic@0 SF -.15(ch)C(arlist).15 E F1 1.438([$o macro] The list of char\ +acters that are considered to be \231operators\232, that is,)174 108 R .82 +(characters that delimit tok)174 120 R 3.32(ens. All)-.1 F .82 +(operator characters are tok)3.32 F .82(ens by themselv)-.1 F(es;)-.15 E .078 +(sequences of non-operator characters are also tok)174 132 R 2.578(ens. White) +-.1 F .078(space characters sep-)2.578 F .269(arate tok)174 144 R .269(ens b) +-.1 F .269(ut are not tok)-.2 F .269(ens themselv)-.1 F .269(es \212 for e)-.15 +F .269(xample, \231)-.15 F .27(AAA.BBB\232 has three)-.8 F(tok)174 156 Q .433 +(ens, b)-.1 F .433(ut \231)-.2 F .433(AAA BBB\232 has tw)-.8 F 2.933(o. If)-.1 +F .433(not set, OperatorChars def)2.933 F .433(aults to \231.)-.1 F 1.666(:@[]) +1.666 G<9a3b>-1.666 E(additionally)174 168 Q 2.5(,t)-.65 G +(he characters \231\()228.91 168 Q 1.666(\)<>,;)1.666 G 2.5<9a61>-1.666 G +(re al)331.25 168 Q -.1(wa)-.1 G(ys operators.).1 E(PostmasterCop)102 184.2 Q +(y=)-.1 E F2(postmaster)A F1 .003 +([P] If set, copies of error messages will be sent to the named)174 196.2 R F2 +(postmaster)2.504 E F1 5.004(.O)C .004(nly the)476.496 196.2 R .627 +(header of the f)174 208.2 R .627(ailed message is sent.)-.1 F .626 +(Since most errors are user problems, this is)5.626 F .453 +(probably not a good idea on lar)174 220.2 R .453(ge sites, and ar)-.18 F .453 +(guably contains all sorts of pri)-.18 F -.25(va)-.25 G -.15(cy).25 G 1.979 +(violations, b)174 232.2 R 1.978 +(ut it seems to be popular with certain operating systems v)-.2 F(endors.)-.15 +E(Def)174 244.2 Q(aults to no postmaster copies.)-.1 E(Pri)102 260.4 Q -.25(va) +-.25 G -.15(cy).25 G(Options=).15 E F2(opt,opt,...)1.666 E F1 1.191 +([p] Set the pri)174 272.4 R -.25(va)-.25 G -.15(cy).25 G F2(opt)3.841 E F1 +3.691(ions. `)B(`Pri)-.74 E -.25(va)-.25 G -.15(cy).25 G 2.671 -.74('' i).15 H +3.692(sr).74 G 1.192(eally a misnomer; man)352.028 272.4 R 3.692(yo)-.15 G +3.692(ft)460.526 272.4 S 1.192(hese are)470.328 272.4 R .929(just a w)174 284.4 +R .928(ay of insisting on stricter adherence to the SMTP protocol.)-.1 F(The) +5.928 E F2(opt)3.428 E F1(ions)A(can be selected from:)174 296.4 Q 40.26 +(public Allo)214 312.6 R 2.5(wo)-.25 G(pen access)314.01 312.6 Q 11.38 +(needmailhelo Insist)214 324.6 R(on HELO or EHLO command before MAIL)2.5 E +(neede)214 336.6 Q 9.87(xpnhelo Insist)-.15 F +(on HELO or EHLO command before EXPN)2.5 E(noe)214 348.6 Q 35.97(xpn Disallo) +-.15 F 2.5(wE)-.25 G(XPN entirely)326.23 348.6 Q 12.5(needvrfyhelo Insist)214 +360.6 R(on HELO or EHLO command before VRFY)2.5 E(no)214 372.6 Q 38.75 +(vrfy Disallo)-.15 F 2.5(wV)-.25 G(RFY entirely)327.34 372.6 Q 14.71 +(restrictmailq Restrict)214 384.6 R(mailq command)2.5 E 19.16 +(restrictqrun Restrict)214 396.6 R(\255q command line \215ag)2.5 E 24.16 +(noreceipts Don')214 408.6 R 2.5(tr)-.18 G(eturn success DSNs)310.74 408.6 Q +(goa)214 420.6 Q -.1(wa)-.15 G 36.91(yD).1 G(isallo)288.98 420.6 Q 2.5(we)-.25 +G(ssentially all SMTP status queries)324.56 420.6 Q(authw)214 432.6 Q 11.48 +(arnings Put)-.1 F(X-Authentication-W)2.5 E(arning: headers in messages)-.8 E +.485(The \231goa)174 448.8 R -.1(wa)-.15 G .485 +(y\232 pseudo-\215ag sets all \215ags e).1 F .486 +(xcept \231restrictmailq\232 and \231restrictqrun\232.)-.15 F 1.175(If mailq i\ +s restricted, only people in the same group as the queue directory can)174 +460.8 R .207(print the queue.)174 472.8 R .207 +(If queue runs are restricted, only root and the o)5.207 F .208 +(wner of the queue)-.25 F .066(directory can run the queue.)174 484.8 R .066 +(Authentication W)5.066 F .066(arnings add w)-.8 F .066(arnings about v)-.1 F +(arious)-.25 E .77(conditions that may indicate attempts to spoof the mail sys\ +tem, such as using an)174 496.8 R(non-standard queue directory)174 508.8 Q(.) +-.65 E(QueueDirectory=)102 525 Q F2(dir)A F1([Q] Use the named)174 537 Q F2 +(dir)2.5 E F1(as the queue directory)2.5 E(.)-.65 E(QueueF)102 553.2 Q(actor=) +-.15 E F2(factor)A F1 .614([q] Use)174 565.2 R F2(factor)3.114 E F1 .613 +(as the multiplier in the map function to decide when to just queue)3.114 F +.415(up jobs rather than run them.)174 577.2 R .415(This v)5.415 F .415 +(alue is di)-.25 F .415(vided by the dif)-.25 F .415(ference between the)-.25 F +1.004(current load a)174 589.2 R -.15(ve)-.2 G 1.004(rage and the load a).15 F +-.15(ve)-.2 G 1.004(rage limit \().15 F F0(QueueLA)A F1 1.003 +(option\) to determine)3.503 F(the maximum message priority that will be sent.) +174 601.2 Q(Def)5 E(aults to 600000.)-.1 E(QueueLA=)102 617.4 Q F2(LA)A F1 .164 +([x] When the system load a)174 617.4 R -.15(ve)-.2 G .165(rage e).15 F(xceeds) +-.15 E F2(LA)2.665 E F1 2.665(,j)C .165(ust queue messages \(i.e., don')367.265 +617.4 R 2.665(tt)-.18 G(ry)495.67 617.4 Q(to send them\).)174 629.4 Q(Def)5 E +(aults to 8.)-.1 E(QueueSortOrder=)102 645.6 Q F2(algorithm)A F1 .097 +([no short name] Sets the)174 657.6 R F2(algorithm)2.597 E F1 .096 +(used for sorting the queue.)2.597 F .096(Only the \214rst char)5.096 F(-)-.2 E +1.021(acter of the v)174 669.6 R 1.021(alue is used.)-.25 F(Le)6.021 E -.05(ga) +-.15 G 3.521(lv).05 G 1.021 +(alues are \231host\232 \(to order by the name of the)317.357 669.6 R .922(\ +\214rst host name of the \214rst recipient\) and \231priority\232 \(to order s\ +trictly by message)174 681.6 R 2.527(priority\). Host)174 693.6 R .027 +(ordering mak)2.527 F .028(es better use of the connection cache, b)-.1 F .028 +(ut may tend to)-.2 F .323(process lo)174 705.6 R 2.823(wp)-.25 G .322 +(riority messages that go to a single host o)229.386 705.6 R -.15(ve)-.15 G +2.822(rh).15 G .322(igh priority messages)417.806 705.6 R 1.824(that go to se) +174 717.6 R -.15(ve)-.25 G 1.824(ral hosts; it probably shouldn').15 F 4.325 +(tb)-.18 G 4.325(eu)376.345 717.6 S 1.825(sed on slo)390.11 717.6 R 4.325(wn) +-.25 G(etw)450.055 717.6 Q 1.825(ork links.)-.1 F 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/F1 10/Times-Roman@0 SF +(Priority ordering is the def)174 96 Q(ault.)-.1 E(Resolv)102 112.2 Q +(erOptions=)-.15 E/F2 10/Times-Italic@0 SF(options)A F1 .128([I] Set resolv)174 +124.2 R .127(er options.)-.15 F -1.11(Va)5.127 G .127(lues can be set using) +1.11 F F0(+)2.627 E F2<8d61>A(g)-.1 E F1 .127(and cleared using)2.627 F F0<ad> +2.627 E F2<8d61>A(g)-.1 E F1 2.627(;t)C(he)494.56 124.2 Q F2<8d61>174 136.2 Q +(g)-.1 E F1 5.013(sc)C 2.513(an be \231deb)202.243 136.2 R 2.513 +(ug\232, \231aaonly\232, \231use)-.2 F 2.514 +(vc\232, \231primary\232, \231igntc\232, \231recurse\232, \231def-)-.25 F .867 +(names\232, \231stayopen\232, or \231dnsrch\232.)174 148.2 R .867 +(The string \231HasW)5.867 F .867(ildcardMX\232 \(without a)-.4 F F0(+)3.367 E +F1(or)3.367 E F0<ad>174 160.2 Q F1 3.82(\)c)C 1.32 +(an be speci\214ed to turn of)191.29 160.2 R 3.82(fm)-.25 G 1.32(atching ag) +311.72 160.2 R 1.32(ainst MX records when doing name)-.05 F(canoni\214cations.) +174 172.2 Q F0(N.B.)5.918 E F1 .917 +(Prior to 8.7, this option indicated that the name serv)5.918 F .917(er be)-.15 +F 1.025(responding in order to accept addresses.)174 184.2 R 1.025 +(This has been replaced by checking to)6.025 F .078(see if the \231dns\232 met\ +hod is listed in the service switch entry for the \231hosts\232 service.)174 +196.2 R(SmtpGreetingMessage=)102 212.4 Q F2(messa)A -.1(ge)-.1 G F1 .344 +([$e macro] The message printed when the SMTP serv)174 224.4 R .345 +(er starts up.)-.15 F(Def)5.345 E .345(aults to \231$j)-.1 F +(Sendmail $v ready at $b\232.)174 236.4 Q -.35(Ti)102 252.6 S(meout.).35 E F2 +(type)A F1(=)A F2(timeout)1.666 E F1 .297 +([r; subsumes old T option as well] Set timeout v)174 264.6 R 2.796(alues. The) +-.25 F .296(actual timeout is indi-)2.796 F 1.678(cated by the)174 276.6 R F2 +(type)4.178 E F1 6.678(.T)C 1.678(he recognized timeouts and their def)261.802 +276.6 R 1.679(ault v)-.1 F 1.679(alues, and their)-.25 F(minimum v)174 288.6 Q +(alues speci\214ed in RFC 1123 section 5.3.2 are:)-.25 E 23.6(initial w)214 +304.8 R(ait for initial greeting message [5m, 5m])-.1 E 29.72(helo reply)214 +316.8 R(to HELO or EHLO command [5m, none])2.5 E 29.16(mail reply)214 328.8 R +(to MAIL command [10m, 5m])2.5 E 31.39(rcpt reply)214 340.8 R +(to RCPT command [1h, 5m])2.5 E 16.94(datainit reply)214 352.8 R(to D)2.5 E +-1.21 -1.11(AT A)-.4 H(command [5m, 2m])3.61 E 8.06(datablock data)214 364.8 R +(block read [1h, 3m])2.5 E 12.5(data\214nal reply)214 376.8 R(to \214nal `)2.5 +E(`.)-.74 E 1.48 -.74('' i)-.7 H 2.5(nd).74 G(ata [1h, 10m])348.47 376.8 Q 32.5 +(rset reply)214 388.8 R(to RSET command [5m, none])2.5 E 31.38(quit reply)214 +400.8 R(to Q)2.5 E(UIT command [2m, none])-.1 E 28.05(misc reply)214 412.8 R +(to NOOP and VERB commands [2m, none])2.5 E 26.94(ident IDENT)214 424.8 R +(protocol timeout [30s, none])2.5 E 9.72(\214leopen\207 timeout)214 436.8 R +(on opening .forw)2.5 E(ard and :include: \214les [60s, none])-.1 E 2.5 +(command\207 command)214 448.8 R(read [1h, 5m])2.5 E(queuereturn\207ho)214 +460.8 Q 2.5(wl)-.25 G(ong until a message is returned [5d, 5d])289.01 460.8 Q +(queue)214 472.8 Q -.1(wa)-.25 G -1.58(rn\207 ho).1 F 2.5(wl)-.25 G +(ong until a w)285.69 472.8 Q(arning is sent [none, none])-.1 E .893(All b)174 +489 R .893(ut those mark)-.2 F .893 +(ed with a dagger \(\207\) apply to client SMTP)-.1 F 5.892(.I)-1.11 G 3.392 +(ft)437.724 489 S .892(he message is)447.226 489 R .273(submitted using the)174 +501 R/F3 9/Times-Roman@0 SF(NO)2.773 E .523(TIFY SMTP)-.36 F F1 -.15(ex)2.773 G +.273(tension, w).15 F .274(arning messages will only be sent)-.1 F(if)174 513 Q +F3(NO)3.038 E(TIFY=DELA)-.36 E(Y)-.945 E F1 .538(is speci\214ed.)3.038 F .537 +(The queuereturn and queue)5.537 F -.1(wa)-.25 G .537(rn timeouts can be).1 F +1.234(further quali\214ed with a tag based on the Precedence: \214eld in the m\ +essage; the)174 525 R(y)-.15 E 1.9(must be one of \231ur)174 537 R 1.9 +(gent\232 \(indicating a positi)-.18 F 2.2 -.15(ve n)-.25 H 1.9 +(on-zero precedence\) \231normal\232).15 F .251 +(\(indicating a zero precedence\), or \231non-ur)174 549 R .251 +(gent\232 \(indicating ne)-.18 F -.05(ga)-.15 G(ti).05 E .552 -.15(ve p)-.25 H +(recedences\).).15 E -.15(Fo)174 561 S 4.423(re).15 G 1.923 +(xample, setting \231T)196.453 561 R(imeout.queue)-.35 E -.1(wa)-.25 G(rn.ur).1 +E 1.923(gent=1h\232 sets the w)-.18 F 1.922(arning timeout)-.1 F .222(for ur) +174 573 R .223(gent messages only to one hour)-.18 F 5.223(.T)-.55 G .223 +(he def)336.749 573 R .223(ault if no precedence is indicated is)-.1 F +(to set the timeout for all precedences.)174 585 Q(RecipientF)102 601.2 Q +(actor=)-.15 E F2(fact)A F1 .638([y] The indicated)174 613.2 R F2(fact)3.137 E +F1 .637(or is added to the priority \(thus)B F2(lowering)3.137 E F1 .637 +(the priority of the)3.137 F .23(job\) for each recipient, i.e., this v)174 +625.2 R .231(alue penalizes jobs with lar)-.25 F .231(ge numbers of recipi-) +-.18 F 2.5(ents. Def)174 637.2 R(aults to 30000.)-.1 E(RefuseLA=)102 653.4 Q F2 +(LA)A F1 1.012([X] When the system load a)174 653.4 R -.15(ve)-.2 G 1.012 +(rage e).15 F(xceeds)-.15 E F2(LA)3.512 E F1 3.512(,r)C 1.011 +(efuse incoming SMTP connec-)376.816 653.4 R 2.5(tions. Def)174 665.4 R +(aults to 12.)-.1 E(RetryF)102 681.6 Q(actor=)-.15 E F2(fact)A F1 .771([Z] The) +3.74 F F2(fact)3.271 E F1 .771(or is added to the priority e)B -.15(ve)-.25 G +.772(ry time a job is processed.).15 F .772(Thus, each)5.772 F .994 +(time a job is processed, its priority will be decreased by the indicated v)174 +693.6 R 3.493(alue. In)-.25 F 1.107(most en)174 705.6 R 1.107 +(vironments this should be positi)-.4 F -.15(ve)-.25 G 3.608(,s).15 G 1.108 +(ince hosts that are do)357.354 705.6 R 1.108(wn are all too)-.25 F(often do) +174 717.6 Q(wn for a long time.)-.25 E(Def)5 E(aults to 90000.)-.1 E 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(Sa)102 96 Q -.15(ve)-.2 G 10.41 +(FromLine [f]).15 F(Sa)4.909 E 2.709 -.15(ve U)-.2 H 2.408 +(nix-style \231From\232 lines at the front of headers.).15 F 2.408 +(Normally the)7.408 F 4.908(ya)-.15 G(re)496.23 96 Q +(assumed redundant and discarded.)174 108 Q(SendMIMEErrors)102 124.2 Q .815 +([j] If set, send error messages in MIME format \(see RFC1521 and RFC1344 for) +174 136.2 R(details\).)174 148.2 Q(ServiceSwitchFile=)102 164.4 Q/F2 10 +/Times-Italic@0 SF(\214lename)A F1 1.533([no short name] If your host operatin\ +g system has a service switch abstraction)174 176.4 R .003(\(e.g., /etc/nsswit\ +ch.conf on Solaris or /etc/svc.conf on Ultrix and DEC OSF/1\) that)174 188.4 R +.814(service will be consulted and this option is ignored.)174 200.4 R .814 +(Otherwise, this is the name)5.814 F 1.082(of a \214le that pro)174 212.4 R +1.082(vides the list of methods used to implement particular services.)-.15 F +1.069(The syntax is a series of lines, each of which is a sequence of w)174 +224.4 R 3.569(ords. The)-.1 F(\214rst)3.569 E -.1(wo)174 236.4 S 1.363 +(rd is the service name, and follo).1 F 1.363(wing w)-.25 F 1.364 +(ords are service types.)-.1 F 1.364(The services)6.364 F(that)174 248.4 Q F2 +(sendmail)4.11 E F1 1.61(consults directly are \231aliases\232 and \231hosts.) +4.11 F 6.61<9a53>-.7 G 1.61(ervice types can be)422.81 248.4 R 1.754 +(\231dns\232, \231nis\232, \231nisplus\232, or \231\214les\232 \(with the ca) +174 260.4 R -.15(ve)-.2 G 1.755(at that the appropriate support).15 F .791 +(must be compiled in before the service can be referenced\).)174 272.4 R .79 +(If ServiceSwitchFile)5.791 F 1.303(is not speci\214ed, it def)174 284.4 R +1.303(aults to /etc/service.switch.)-.1 F 1.303(If that \214le does not e)6.303 +F 1.304(xist, the)-.15 F(def)174 296.4 Q(ault switch is:)-.1 E 20.28 +(aliases \214les)214 312.6 R 26.38(hosts dns)214 324.6 R(nis \214les)2.5 E +(The def)174 340.8 Q(ault \214le is \231/etc/service.switch\232.)-.1 E(Se)102 +357 Q -.15(ve)-.25 G 12.12(nBitInput [7]).15 F .322(Strip input to se)2.822 F +-.15(ve)-.25 G 2.822(nb).15 G .321(its for compatibility with old systems.) +274.93 357 R .321(This shouldn')5.321 F 2.821(tb)-.18 G(e)499.56 357 Q +(necessary)174 369 Q(.)-.65 E(StatusFile=)102 385.2 Q F2(\214le)A F1 .299 +([S] Log summary statistics in the named)174 385.2 R F2(\214le)2.799 E F1 5.299 +(.I)C 2.799(fn)363.602 385.2 S .3(ot set, no summary statistics are)374.731 +385.2 R(sa)174 397.2 Q -.15(ve)-.2 G 3.775(d. This).15 F 1.275 +(\214le does not gro)3.775 F 3.775(wi)-.25 G 3.775(ns)308.82 397.2 S 3.775 +(ize. It)321.485 397.2 R 1.275(can be printed using the)3.775 F F2(mailstats) +3.775 E F1(\(8\))A(program.)174 409.2 Q 28.4(SuperSafe [s])102 425.4 R .372 +(Be super)2.872 F .372(-safe when running things, i.e., al)-.2 F -.1(wa)-.1 G +.373(ys instantiate the queue \214le, e).1 F -.15(ve)-.25 G(n).15 E .697 +(if you are going to attempt immediate deli)174 437.4 R -.15(ve)-.25 G(ry).15 E +(.)-.65 E F2(Sendmail)5.697 E F1(al)3.197 E -.1(wa)-.1 G .697 +(ys instantiates the).1 F 2.688 +(queue \214le before returning control the client under an)174 449.4 R 5.188 +(yc)-.15 G 5.188(ircumstances. This)423.822 449.4 R(should really)174 461.4 Q +F2(always)2.5 E F1(be set.)2.5 E -.7(Te)102 477.6 S(mpFileMode=).7 E F2(mode)A +F1 .332([F] The \214le mode for queue \214les.)174 489.6 R .331 +(It is interpreted in octal by def)5.331 F 2.831(ault. Def)-.1 F .331(aults to) +-.1 F(0600.)174 501.6 Q -.35(Ti)102 517.8 S(meZoneSpec=).35 E F2(tzinfo)A F1 +.218([t] Set the local time zone info to)174 529.8 R F2(tzinfo)2.718 E F1 2.718 +<8a66>2.718 G .218(or e)351.168 529.8 R .218(xample, \231PST8PDT\232.)-.15 F +(Actually)5.218 E 2.718(,i)-.65 G(f)500.67 529.8 Q 1.346 +(this is not set, the TZ en)174 541.8 R 1.346(vironment v)-.4 F 1.346 +(ariable is cleared \(so the system def)-.25 F 1.345(ault is)-.1 F .208 +(used\); if set b)174 553.8 R .208(ut null, the user')-.2 F 2.708(sT)-.55 G +2.708(Zv)306.916 553.8 S .208(ariable is used, and if set and non-null the TZ) +320.484 553.8 R -.25(va)174 565.8 S(riable is set to this v).25 E(alue.)-.25 E +-.35(Tr)102 582 S 5.96(yNullMXList [w]).35 F .114 +(If this system is the \231best\232 \(that is, lo)2.614 F .114 +(west preference\) MX for a gi)-.25 F -.15(ve)-.25 G 2.613(nh).15 G .113 +(ost, its)477.767 582 R 1.168(con\214guration rules should normally detect thi\ +s situation and treat that condition)174 594 R .258(specially by forw)174 606 R +.258(arding the mail to a UUCP feed, treating it as local, or whate)-.1 F -.15 +(ve)-.25 G -.55(r.).15 G(Ho)174 618 Q(we)-.25 E -.15(ve)-.25 G 1.685 -.4(r, i) +.15 H 3.385(ns).4 G .886(ome cases \(such as Internet \214re)230.54 618 R -.1 +(wa)-.25 G .886(lls\) you may w).1 F .886(ant to try to con-)-.1 F .07 +(nect directly to that host as though it had no MX records at all.)174 630 R +.07(Setting this option)5.07 F(causes)174 642 Q F2(sendmail)3.013 E F1 .514 +(to try this.)3.013 F .514(The do)5.514 F .514 +(wnside is that errors in your con\214guration are)-.25 F(lik)174 654 Q 2.116 +(ely to be diagnosed as \231host unkno)-.1 F 2.116 +(wn\232 or \231message timed out\232 instead of)-.25 F +(something more meaningful.)174 666 Q(This option is disrecommended.)5 E +(UnixFromLine=)102 682.2 Q F2(fr)A(omline)-.45 E F1 .236 +([$l macro] De\214nes the format used when)174 694.2 R F2(sendmail)2.736 E F1 +.236(must add a UNIX-style From_)2.736 F 1.325(line \(that is, a line be)174 +706.2 R 1.325(ginning \231From<space>user\232\).)-.15 F(Def)6.324 E 1.324 +(aults to \231From $g)-.1 F($d\232.)6.324 E(Don')174 718.2 Q 2.645(tc)-.18 G +.146(hange this unless your system uses a dif)204.235 718.2 R .146 +(ferent UNIX mailbox format \(v)-.25 F(ery)-.15 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(unlik)174 96 Q +(ely\).)-.1 E(UseErrorsT)102 112.2 Q 21.15(o[)-.8 G .826 +(l] If there is an \231Errors-T)177.33 112.2 R .826(o:\232 header)-.8 F 3.326 +(,s)-.4 G .826(end error messages to the addresses listed)332.414 112.2 R 3.134 +(there. The)174 124.2 R 3.134(yn)-.15 G .634(ormally go to the en)230.658 124.2 +R -.15(ve)-.4 G .635(lope sender).15 F 5.635(.U)-.55 G .635 +(se of this option causes)383.895 124.2 R/F2 10/Times-Italic@0 SF(send-)3.135 E +(mail)174 136.2 Q F1(to violate RFC 1123.)2.5 E +(This option is disrecommended and deprecated.)5 E(UserDatabaseSpec=)102 152.4 +Q F2(udbspec)A F1([U] The user database speci\214cation.)174 164.4 Q -1.11(Ve) +102 180.6 S 37.29(rbose [v])1.11 F .561(Run in v)3.061 F .561(erbose mode.)-.15 +F .561(If this is set,)5.561 F F2(sendmail)3.061 E F1 .56(adjusts options)3.061 +F F0(HoldExpensi)3.06 E -.1(ve)-.1 G F1(\(old)174 192.6 Q F0(c)2.635 E F1 2.635 +(\)a)C(nd)207.59 192.6 Q F0(Deli)2.635 E -.1(ve)-.1 G(ryMode).1 E F1(\(old) +2.635 E F0(d)2.635 E F1 2.635(\)s)C 2.635(ot)317.36 192.6 S .135 +(hat all mail is deli)327.775 192.6 R -.15(ve)-.25 G .136 +(red completely in a sin-).15 F 1.244 +(gle job so that you can see the entire deli)174 204.6 R -.15(ve)-.25 G 1.244 +(ry process.).15 F(Option)6.244 E F0 -1(Ve)3.743 G(rbose)1 E F1(should)3.743 E +F2(ne)174 216.6 Q(ver)-.15 E F1(be set in the con\214guration \214le; it is in\ +tended for command line use only)2.5 E(.)-.65 E .108(All options can be speci\ +\214ed on the command line using the \255O or \255o \215ag, b)102 232.8 R .109 +(ut most will cause)-.2 F F2(send-)2.609 E(mail)102 244.8 Q F1 1.135 +(to relinquish its setuid permissions.)3.635 F 1.135 +(The options that will not cause this are MinFreeBlocks)6.135 F .513([b], Deli) +102 256.8 R -.15(ve)-.25 G .513 +(ryMode [d], ErrorMode [e], IgnoreDots [i], LogLe).15 F -.15(ve)-.25 G 3.014 +(l[).15 G .514(L], MeT)369.118 256.8 R .514(oo [m], OldStyleHeaders)-.8 F .53 +([o], Pri)102 268.8 R -.25(va)-.25 G -.15(cy).25 G .53(Options [p], T).15 F .53 +(imeouts [r], SuperSafe [s], V)-.35 F .53(erbose [v], CheckpointInterv)-1.11 F +.53(al [C], and Se)-.25 F(v-)-.25 E(enBitInput [7].)102 280.8 Q(Also, M \(de\ +\214ne macro\) when de\214ning the r or s macros is also considered \231safe\ +\232.)5 E F0 2.5(5.7. P)87 304.8 R 2.5<8a50>2.5 G -.18(re)134.22 304.8 S +(cedence De\214nitions).18 E F1 -1.11(Va)127 321 S .164 +(lues for the \231Precedence:\232 \214eld may be de\214ned using the)1.11 F F0 +(P)2.664 E F1 .164(control line.)2.664 F .164(The syntax of this)5.164 F +(\214eld is:)102 333 Q F0(P)142 349.2 Q F2(name)A F0(=)A F2(num)A F1 .384 +(When the)102 365.4 R F2(name)2.884 E F1 .384 +(is found in a \231Precedence:\232 \214eld, the message class is set to)2.884 F +F2(num)2.883 E F1 5.383(.H)C .383(igher numbers)446.127 365.4 R .85 +(mean higher precedence.)102 377.4 R .85(Numbers less than zero ha)5.85 F 1.15 +-.15(ve t)-.2 H .85(he special property that if an error occurs).15 F 1.551 +(during processing the body of the message will not be returned; this is e)102 +389.4 R 1.551(xpected to be used for)-.15 F<9962>102 401.4 Q .461 +(ulk\232 mail such as through mailing lists.)-.2 F .461(The def)5.461 F .461 +(ault precedence is zero.)-.1 F -.15(Fo)5.461 G 2.962(re).15 G .462 +(xample, our list of)429.284 401.4 R(precedences is:)102 413.4 Q +(P\214rst-class=0)142 429.6 Q(Pspecial-deli)142 441.6 Q -.15(ve)-.25 G(ry=100) +.15 E(Plist=\25530)142 453.6 Q(Pb)142 465.6 Q(ulk=\25560)-.2 E(Pjunk=\255100) +142 477.6 Q 1.059(People writing mailing list e)102 493.8 R 1.058 +(xploders are encouraged to use \231Precedence: list\232.)-.15 F 1.058(Older v) +6.058 F 1.058(ersions of)-.15 F F2(sendmail)102 505.8 Q F1 1.19 +(\(which discarded all error returns for ne)3.69 F -.05(ga)-.15 G(ti).05 E 1.49 +-.15(ve p)-.25 H 1.19(recedences\) didn').15 F 3.69(tr)-.18 G 1.19 +(ecognize this name,)422.47 505.8 R(gi)102 517.8 Q .599(ving it a def)-.25 F +.598(ault precedence of zero.)-.1 F .598(This allo)5.598 F .598 +(ws list maintainers to see error returns on both old)-.25 F(and ne)102 529.8 Q +2.5(wv)-.25 G(ersions of)142.7 529.8 Q F2(sendmail)2.5 E F1(.)A F0 2.5(5.8. V) +87 553.8 R 2.5<8a43>2.5 G(on\214guration V)136.44 553.8 Q(ersion Le)-1 E -.1 +(ve)-.15 G(l).1 E F1 3.181 -.8(To p)127 570 T(ro).8 E 1.581 +(vide compatibility with old con\214guration \214les, the)-.15 F F0(V)4.081 E +F1 1.582(line has been added to de\214ne)4.082 F 1.11(some v)102 582 R 1.11 +(ery basic semantics of the con\214guration \214le.)-.15 F 1.11 +(These are not intended to be long term sup-)6.11 F .033(ports; rather)102 594 +R 2.533(,t)-.4 G(he)158.046 594 Q 2.533(yd)-.15 G .033 +(escribe compatibility features which will probably be remo)179.869 594 R -.15 +(ve)-.15 G 2.533(di).15 G 2.533(nf)435.903 594 S .034(uture releases.)446.766 +594 R F0(N.B.:)127 610.2 Q F1 .197(these v)2.697 F(ersion)-.15 E F2(le)2.697 E +(vels)-.15 E F1(ha)2.697 E .496 -.15(ve n)-.2 H .196(othing to do with the v) +.15 F(ersion)-.15 E F2(number)2.696 E F1 .196(on the \214les.)2.696 F -.15(Fo) +5.196 G 2.696(re).15 G(xam-)483.45 610.2 Q(ple, as of this writing v)102 622.2 +Q(ersion 8 con\214g \214les \(speci\214cally)-.15 E 2.5(,8)-.65 G(.7\) used v) +333.41 622.2 Q(ersion le)-.15 E -.15(ve)-.25 G 2.5(l6c).15 G(on\214gurations.) +432.84 622.2 Q 1.102(\231Old\232 con\214guration \214les are de\214ned as v)127 +638.4 R 1.102(ersion le)-.15 F -.15(ve)-.25 G 3.602(lo).15 G 3.602(ne. V) +353.006 638.4 R 1.102(ersion le)-1.11 F -.15(ve)-.25 G 3.602(lt).15 G 1.302 -.1 +(wo \214)430.622 638.4 T 1.103(les mak).1 F 3.603(et)-.1 G(he)494.56 638.4 Q +(follo)102 650.4 Q(wing changes:)-.25 E 12.5(\(1\) Host)107 666.6 R .727(name \ +canoni\214cation \($[ ... $]\) appends a dot if the name is recognized; this g\ +i)3.227 F -.15(ve)-.25 G 3.226(st).15 G(he)494.56 666.6 Q 1.974 +(con\214g \214le a w)133.66 678.6 R 1.974(ay of \214nding out if an)-.1 F 1.974 +(ything matched.)-.15 F(\(Actually)6.974 E 4.475(,t)-.65 G 1.975 +(his just initializes the)413.345 678.6 R .739 +(\231host\232 map with the \231\255a.)133.66 690.6 R 5.739<9a8d>-.7 G .739 +(ag \212 you can reset it to an)251.445 690.6 R .738 +(ything you prefer by declaring the)-.15 F(map e)133.66 702.6 Q(xplicitly)-.15 +E(.\))-.65 E 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 12.5(\(2\) Def)107 96 R .384 +(ault host name e)-.1 F .385(xtension is consistent throughout processing; v) +-.15 F .385(ersion le)-.15 F -.15(ve)-.25 G 2.885(lo).15 G .385(ne con\214gu-) +458.345 96 R .83(rations turned of)133.66 108 R 3.33(fd)-.25 G .83(omain e) +212.83 108 R .83 +(xtension \(that is, adding the local domain name\) during certain)-.15 F .4 +(points in processing.)133.66 120 R -1.11(Ve)5.4 G .4(rsion le)1.11 F -.15(ve) +-.25 G 2.9(lt).15 G .6 -.1(wo c)280.53 120 T .4(on\214gurations are e).1 F .4 +(xpected to include a trailing dot)-.15 F +(to indicate that the name is already canonical.)133.66 132 Q 12.5(\(3\) Local) +107 148.2 R .072(names that are not aliases are passed through a ne)2.572 F +2.572(wd)-.25 G .072(istinguished ruleset \214v)372.752 148.2 R .072 +(e; this can)-.15 F 1.426(be used to append a local relay)133.66 160.2 R 6.426 +(.T)-.65 G 1.426(his beha)279.902 160.2 R 1.426(viour can be pre)-.2 F -.15(ve) +-.25 G 1.426(nted by resolving the local).15 F .209(name with an initial `@'.) +133.66 172.2 R .209(That is, something that resolv)5.209 F .209 +(es to a local mailer and a user name)-.15 F 1.072 +(of \231vikki\232 will be passed through ruleset \214v)133.66 184.2 R 1.072 +(e, b)-.15 F 1.073(ut a user name of \231@vikki\232 will ha)-.2 F 1.373 -.15 +(ve t)-.2 H(he).15 E .417 +(`@' stripped, will not be passed through ruleset \214v)133.66 196.2 R .417 +(e, b)-.15 F .416(ut will otherwise be treated the same)-.2 F 1.702 +(as the prior e)133.66 208.2 R 4.202(xample. The)-.15 F -.15(ex)4.202 G 1.703 +(pectation is that this might be used to implement a polic).15 F(y)-.15 E .136 +(where mail sent to \231vikki\232 w)133.66 220.2 R .135 +(as handled by a central hub, b)-.1 F .135 +(ut mail sent to \231vikki@localhost\232)-.2 F -.1(wa)133.66 232.2 S 2.5(sd).1 +G(eli)156.61 232.2 Q -.15(ve)-.25 G(red directly).15 E(.)-.65 E -1.11(Ve)127 +248.4 S 1.382(rsion le)1.11 F -.15(ve)-.25 G 3.882(lt).15 G 1.382 +(hree \214les allo)187.134 248.4 R 3.882(w#i)-.25 G 1.382 +(nitiated comments on all lines.)266.292 248.4 R 1.383 +(Exceptions are backslash)6.383 F(escaped # marks and the $# syntax.)102 260.4 +Q -1.11(Ve)127 276.6 S 1.208(rsion le)1.11 F -.15(ve)-.25 G 3.708(lf).15 G +1.208(our con\214gurations are completely equi)187.336 276.6 R -.25(va)-.25 G +1.207(lent to le).25 F -.15(ve)-.25 G 3.707(lt).15 G 1.207 +(hree for historical rea-)411.249 276.6 R(sons.)102 288.6 Q -1.11(Ve)127 304.8 +S 1.234(rsion le)1.11 F -.15(ve)-.25 G 3.734<6c8c>.15 G 1.534 -.15(ve c)189.618 +304.8 T 1.234(on\214guration \214les change the def).15 F 1.234 +(ault de\214nition of)-.1 F F0($w)3.734 E F1 1.234(to be just the \214rst)3.734 +F(component of the hostname.)102 316.8 Q -1.11(Ve)127 333 S 1.589(rsion le)1.11 +F -.15(ve)-.25 G 4.089(ls).15 G 1.589(ix con\214guration \214les change man) +188.658 333 R 4.088(yo)-.15 G 4.088(ft)342.272 333 S 1.588 +(he local processing options \(such as)352.47 333 R .48 +(aliasing and matching the be)102 345 R .481 +(ginning of the address for `|' characters\) to be mailer \215ags; this allo) +-.15 F(ws)-.25 E 1.345(\214ne-grained control o)102 357 R -.15(ve)-.15 G 3.845 +(rt).15 G 1.345(he special local processing.)210.435 357 R(Le)6.345 E -.15(ve) +-.25 G 3.845(ls).15 G 1.344(ix con\214guration \214les may also use)360.34 357 +R 1.221(long option names.)102 369 R(The)6.221 E F0(ColonOkInAddr)3.721 E F1 +1.221(option \(to allo)3.721 F 3.722(wc)-.25 G 1.222 +(olons in the local-part of addresses\))355.42 369 R(def)102 381 Q(aults)-.1 E +F0(on)3.44 E F1 .94(for lo)3.44 F .94(wer numbered con\214guration \214les; th\ +e con\214guration \214le requires some additional)-.25 F +(intelligence to properly handle the RFC 822 group construct.)102 393 Q(The)127 +409.2 Q F0(V)2.677 E F1 .177(line may ha)2.677 F .477 -.15(ve a)-.2 H 2.677(no) +.15 G(ptional)231.022 409.2 Q F0(/)2.677 E/F2 10/Times-Italic@0 SF(vendor)A F1 +.178(to indicate that this con\214guration \214le uses modi\214ca-)2.677 F .865 +(tions speci\214c to a particular v)102 423.2 R(endor)-.15 E/F3 7/Times-Roman@0 +SF(19)246.986 419.2 Q F1 5.866(.Y)253.986 423.2 S .866(ou may use \231/Berk) +268.472 423.2 R(ele)-.1 E .866(y\232 to emphasize that this con\214gura-)-.15 F +(tion \214le uses the Berk)102 435.2 Q(ele)-.1 E 2.5(yd)-.15 G(ialect of)213.13 +435.2 Q F2(sendmail)2.5 E F1(.)A F0 2.5(5.9. K)87 459.2 R 2.5<8a4b>2.5 G +(ey File Declaration)137.31 459.2 Q F1 +(Special maps can be de\214ned using the line:)127 475.4 Q +(Kmapname mapclass ar)142 491.6 Q(guments)-.18 E(The)102 507.8 Q F2(mapname) +2.751 E F1 .251(is the handle by which this map is referenced in the re)2.751 F +.25(writing rules.)-.25 F(The)5.25 E F2(mapclass)2.75 E F1(is)2.75 E 1.889 +(the name of a type of map; these are compiled in to)102 519.8 R F2(sendmail) +4.389 E F1 6.889(.T)C(he)384.013 519.8 Q F2(ar)4.389 E(guments)-.37 E F1 1.889 +(are interpreted)4.389 F .791(depending on the class; typically)102 531.8 R +3.291(,t)-.65 G .791(here w)244.185 531.8 R .791(ould be a single ar)-.1 F .79 +(gument naming the \214le containing the)-.18 F(map.)102 543.8 Q +(Maps are referenced using the syntax:)127 560 Q($\()142 576.2 Q F2(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 .64(where either or both of the)102 592.4 R F2(ar)3.14 E +(guments)-.37 E F1(or)3.141 E F2(default)3.141 E F1 .641 +(portion may be omitted.)3.141 F(The)5.641 E F2 .641($@ ar)3.141 F(guments)-.37 +E F1(may)3.141 E 1.277(appear more than once.)102 604.4 R 1.277(The indicated) +6.277 F F2 -.1(ke)3.777 G(y)-.2 E F1(and)3.776 E F2(ar)3.776 E(guments)-.37 E +F1 1.276(are passed to the appropriate mapping)3.776 F 3.253(function. If)102 +616.4 R .753(it returns a v)3.253 F .753(alue, it replaces the input.)-.25 F +.753(If it does not return a v)5.753 F .753(alue and the)-.25 F F2(default) +3.253 E F1(is)3.253 E(speci\214ed, the)102 628.4 Q F2(default)2.5 E F1 +(replaces the input.)2.5 E(Otherwise, the input is unchanged.)5 E 1.042 +(During replacement of either a map v)127 644.6 R 1.042(alue or def)-.25 F +1.042(ault the string \231%)-.1 F F2(n)A F1 3.542<9a28>C(where)417.414 644.6 Q +F2(n)3.542 E F1 1.041(is a digit\) is)3.541 F .481 +(replaced by the corresponding)102 656.6 R F2(ar)2.981 E(gument)-.37 E F1 5.481 +(.A)C -.18(rg)280.385 656.6 S .482(ument zero is al).18 F -.1(wa)-.1 G .482 +(ys the database k).1 F -.15(ey)-.1 G 5.482(.F)-.5 G .482(or e)456.458 656.6 R +(xample,)-.15 E(the rule)102 668.6 Q .32 LW 76 678.2 72 678.2 DL 80 678.2 76 +678.2 DL 84 678.2 80 678.2 DL 88 678.2 84 678.2 DL 92 678.2 88 678.2 DL 96 +678.2 92 678.2 DL 100 678.2 96 678.2 DL 104 678.2 100 678.2 DL 108 678.2 104 +678.2 DL 112 678.2 108 678.2 DL 116 678.2 112 678.2 DL 120 678.2 116 678.2 DL +124 678.2 120 678.2 DL 128 678.2 124 678.2 DL 132 678.2 128 678.2 DL 136 678.2 +132 678.2 DL 140 678.2 136 678.2 DL 144 678.2 140 678.2 DL 148 678.2 144 678.2 +DL 152 678.2 148 678.2 DL 156 678.2 152 678.2 DL 160 678.2 156 678.2 DL 164 +678.2 160 678.2 DL 168 678.2 164 678.2 DL 172 678.2 168 678.2 DL 176 678.2 172 +678.2 DL 180 678.2 176 678.2 DL 184 678.2 180 678.2 DL 188 678.2 184 678.2 DL +192 678.2 188 678.2 DL 196 678.2 192 678.2 DL 200 678.2 196 678.2 DL 204 678.2 +200 678.2 DL 208 678.2 204 678.2 DL 212 678.2 208 678.2 DL 216 678.2 212 678.2 +DL/F4 5/Times-Roman@0 SF(19)93.6 688.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 701.4 Q(.c) +-.12 E F5 4(.P)C(lease send e-mail to sendmail@CS.Berk)101.656 701.4 Q(ele)-.08 +E -.52(y.)-.12 G(EDU to re).52 E(gister your v)-.12 E(endor dialect.)-.12 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(R$\255 ! $+)142 +96 Q($: $\(uucp $1 $@ $2 $: %1 @ %0 . UUCP $\))250 96 Q 1.269(Looks up the UUC\ +P name in a \(user de\214ned\) UUCP map; if not found it turns it into \231.UU\ +CP\232)102 112.2 R 2.5(form. The)102 124.2 R +(database might contain records lik)2.5 E(e:)-.1 E(decv)142 140.4 Q 77.43 +(ax %1@%0.DEC.COM)-.25 F 72.19(research %1@%0.A)142 152.4 R(TT)-1.11 E(.COM) +-.74 E .741(The b)127 172.8 R .741(uilt in map with both name and class \231ho\ +st\232 is the host name canonicalization lookup.)-.2 F(Thus, the syntax:)102 +184.8 Q($\(host)142 201 Q/F2 10/Times-Italic@0 SF(hostname)2.5 E F1($\))A +(is equi)102 217.2 Q -.25(va)-.25 G(lent to:).25 E($[)142 233.4 Q F2(hostname)A +F1($])A(There are man)127 253.8 Q 2.5(yd)-.15 G(e\214ned classes.)197.1 253.8 Q +51.72(dbm Database)102 270 R 1.623(lookups using the ndbm\(3\) library)4.123 F +(.)-.65 E F2(Sendmail)6.623 E F1 1.623(must be compiled with)4.123 F F0(NDBM) +174 282 Q F1(de\214ned.)2.5 E 49.51(btree Database)102 298.2 R 1.284 +(lookups using the btree interf)3.784 F 1.285(ace to the Berk)-.1 F(ele)-.1 E +3.785(yd)-.15 G 1.285(b\(3\) library)425.99 298.2 R(.)-.65 E F2(Send-)6.285 E +(mail)174 310.2 Q F1(must be compiled with)2.5 E F0(NEWDB)2.5 E F1(de\214ned.) +2.5 E 51.17(hash Database)102 326.4 R .122(lookups using the hash interf)2.622 +F .122(ace to the Berk)-.1 F(ele)-.1 E 2.622(yd)-.15 G .121(b\(3\) library) +413.868 326.4 R(.)-.65 E F2(Sendmail)5.121 E F1(must be compiled with)174 338.4 +Q F0(NEWDB)2.5 E F1(de\214ned.)2.5 E 57.83(nis NIS)102 354.6 R(lookups.)2.5 E +F2(Sendmail)5 E F1(must be compiled with)2.5 E F0(NIS)2.5 E F1(de\214ned.)2.5 E +41.16(nisplus NIS+)102 370.8 R(lookups.)3.733 E F2(Sendmail)6.233 E F1 1.233 +(must be compiled with)3.733 F F0(NISPLUS)3.733 E F1 3.733(de\214ned. The)3.733 +F(ar)3.733 E(gu-)-.18 E .495 +(ment is the name of the table to use for lookups, and the)174 382.8 R F0<ad6b> +2.995 E F1(and)2.995 E F0<ad76>2.995 E F1 .495(\215ags may be)2.995 F +(used to set the k)174 394.8 Q .3 -.15(ey a)-.1 H(nd v).15 E +(alue columns respecti)-.25 E -.15(ve)-.25 G(ly).15 E(.)-.65 E 43.39 +(hesiod Hesiod)102 411 R(lookups.)2.5 E F2(Sendmail)5 E F1 +(must be compiled with)2.5 E F0(HESIOD)2.5 E F1(de\214ned.)2.5 E 41.17 +(netinfo NeXT)102 427.2 R(NetInfo lookups.)2.5 E F2(Sendmail)5 E F1 +(must be compiled with)2.5 E F0(NETINFO)2.5 E F1(de\214ned.)2.5 E(te)102 443.4 +Q 54.65(xt T)-.15 F -.15(ex)-.7 G 2.917<748c>.15 G .417(le lookups.)199.957 +443.4 R .417(The format of the te)5.417 F .418(xt \214le is de\214ned by the) +-.15 F F0<ad6b>2.918 E F1(\(k)2.918 E .718 -.15(ey \214)-.1 H .418(eld num-).15 +F(ber\),)174 455.4 Q F0<ad76>2.5 E F1(\(v)2.5 E(alue \214eld number\), and)-.25 +E F0<ad7a>2.5 E F1(\(\214eld delimiter\) \215ags.)2.5 E 53.39(stab Internal)102 +471.6 R(symbol table lookups.)2.5 E(Used internally for aliasing.)5 E 38.38 +(implicit Really)102 487.8 R .546 +(should be called \231alias\232 \212 this is used to get the def)3.046 F .546 +(ault lookups for alias)-.1 F(\214les, and is the def)174 499.8 Q +(ault if no class is speci\214ed for alias \214les.)-.1 E 52.84(user Looks)102 +516 R .476(up users using)2.976 F F2 -.1(ge)2.976 G(tpwnam).1 E F1 2.976 +(\(3\). The)B F0<ad76>2.976 E F1 .477(\215ag can be used to specify the name) +2.976 F .142 +(of the \214eld to return \(although this is normally used only to check the e) +174 528 R .142(xistence of)-.15 F 2.5(au)174 540 S(ser\).)185.94 540 Q 52.83 +(host Canoni\214es)102 556.2 R .2(host domain names.)2.7 F(Gi)5.2 E -.15(ve) +-.25 G 2.7(nah).15 G .2(ost name it calls the name serv)343.68 556.2 R .2 +(er to \214nd)-.15 F(the canonical name for that host.)174 568.2 Q 32.85 +(sequence The)102 584.4 R(ar)3.35 E .849 +(guments on the `K' line are a list of maps; the resulting map searches the) +-.18 F(ar)174 596.4 Q .438 +(gument maps in order until it \214nds a match for the indicated k)-.18 F -.15 +(ey)-.1 G 5.439(.F)-.5 G .439(or e)456.501 596.4 R(xample,)-.15 E(if the k)174 +608.4 Q .3 -.15(ey d)-.1 H(e\214nition is:).15 E(Kmap1 ...)214 624.6 Q +(Kmap2 ...)214 636.6 Q(Kseqmap sequence map1 map2)214 648.6 Q .968 +(then a lookup ag)174 664.8 R .968 +(ainst \231seqmap\232 \214rst does a lookup in map1.)-.05 F .968 +(If that is found, it)5.968 F(returns immediately)174 676.8 Q 5(.O)-.65 G +(therwise, the same k)268.34 676.8 Q .3 -.15(ey i)-.1 H 2.5(su).15 G +(sed for map2.)375.85 676.8 Q 43.39(switch Much)102 693 R(lik)2.8 E 2.8(et)-.1 +G .3(he \231sequence\232 map e)220.61 693 R .301 +(xcept that the order of maps is determined by the)-.15 F .392(service switch.) +174 705 R .392(The ar)5.392 F .391 +(gument is the name of the service to be look)-.18 F .391(ed up; the v)-.1 F +(al-)-.25 E 1.492 +(ues from the service switch are appended to the map name to create ne)174 717 +R 3.993(wm)-.25 G(ap)494.56 717 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(names. F)174 96 R(or e)-.15 E +(xample, consider the k)-.15 E .3 -.15(ey d)-.1 H(e\214nition:).15 E +(Kali switch aliases)214 112.2 Q(together with the service switch entry:)174 +128.4 Q 78.84(aliases nis)214 144.6 R(\214les)2.5 E 1.633 +(This causes a query ag)174 160.8 R 1.633 +(ainst the map \231ali\232 to search maps named \231ali.nis\232 and)-.05 F +(\231ali.\214les\232 in that order)174 172.8 Q(.)-.55 E 37.84(dequote Strip)102 +189 R .96(double quotes \("\) from a name.)3.46 F .961 +(It does not strip backslashes, and will not)5.961 F .173 +(strip quotes if the resulting string w)174 201 R .172 +(ould contain unscannable syntax \(that is, basic)-.1 F .386(errors lik)174 213 +R 2.886(eu)-.1 G .386(nbalanced angle brack)222.992 213 R .386 +(ets; more sophisticated errors such as unkno)-.1 F(wn)-.25 E .252 +(hosts are not check)174 225 R 2.752(ed\). The)-.1 F .251 +(intent is for use when trying to accept mail from sys-)2.752 F +(tems such as DECnet that routinely quote odd syntax such as)174 237 Q +("49ers::ubell")214 253.2 Q 2.5(At)174 269.4 S +(ypical usage is probably something lik)186.5 269.4 Q(e:)-.1 E +(Kdequote dequote)214 285.6 Q(...)214 309.6 Q 88.19(R$\255 $:)214 333.6 R +($\(dequote $1 $\))2.5 E(R$\255 $+)214 345.6 Q($: $>3 $1 $2)322 345.6 Q +(Care must be tak)174 361.8 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") +214 378 Q 1.31(will ha)174 394.2 R 1.61 -.15(ve q)-.2 H 1.31(uotes stripped, b) +.15 F 1.31(ut the result is probably not what you had in mind.)-.2 F -.15(Fo) +174 406.2 S(rtunately these cases are rare.).15 E .488 +(Most of these accept as ar)127 422.4 R .488 +(guments the same optional \215ags and a \214lename \(or a mapname for)-.18 F +.31(NIS; the \214lename is the root of the database path, so that \231.db\232 \ +or some other e)102 434.4 R .31(xtension appropriate)-.15 F +(for the database type will be added to get the actual database name\).)102 +446.4 Q(Kno)5 E(wn \215ags are:)-.25 E 58.86(\255o Indicates)102 462.6 R 1.147 +(that this map is optional \212 that is, if it cannot be opened, no error is) +3.648 F(produced, and)174 474.6 Q/F2 10/Times-Italic@0 SF(sendmail)2.5 E F1 +(will beha)2.5 E .3 -.15(ve a)-.2 H 2.5(si).15 G 2.5(ft)333.9 474.6 S(he map e) +342.51 474.6 Q(xisted b)-.15 E(ut w)-.2 E(as empty)-.1 E(.)-.65 E .647 +(\255N, \255O)102 490.8 R .647(If neither)174.647 490.8 R F0<ad4e>3.147 E F1 +(or)3.147 E F0<ad4f>3.147 E F1 .647(are speci\214ed,)3.147 F F2(sendmail)3.147 +E F1 .647(uses an adapti)3.147 F .947 -.15(ve a)-.25 H .648(lgorithm to decide) +.15 F .108(whether or not to look for null bytes on the end of k)174 502.8 R +-.15(ey)-.1 G 2.608(s. It).15 F .107(starts by trying both; if)2.608 F .819 +(it \214nds an)174 514.8 R 3.319(yk)-.15 G 1.119 -.15(ey w)228.157 514.8 T .819 +(ith a null byte it ne).15 F -.15(ve)-.25 G 3.319(rt).15 G .82(ries ag)345.83 +514.8 R .82(ain without a null byte and vice)-.05 F -.15(ve)174 526.8 S 2.828 +(rsa. If).15 F F0<ad4e>2.828 E F1 .328(is speci\214ed it ne)2.828 F -.15(ve) +-.25 G 2.828(rt).15 G .328(ries without a null byte and if)311.696 526.8 R F0 +<ad4f>2.827 E F1 .327(is speci\214ed it)2.827 F(ne)174 538.8 Q -.15(ve)-.25 G +2.886(rt).15 G .386(ries with a null byte.)201.476 538.8 R .386 +(Setting one of these can speed matches b)5.386 F .386(ut are ne)-.2 F -.15(ve) +-.25 G(r).15 E(necessary)174 550.8 Q 5.546(.I)-.65 G 3.046(fb)223.596 550.8 S +(oth)234.972 550.8 Q F0<ad4e>3.046 E F1(and)3.046 E F0<ad4f>3.046 E F1 .545 +(are speci\214ed,)3.045 F F2(sendmail)3.045 E F1 .545(will ne)3.045 F -.15(ve) +-.25 G 3.045(rt).15 G .545(ry an)442.52 550.8 R 3.045(ym)-.15 G(atches)479.01 +550.8 Q(at all \212 that is, e)174 562.8 Q -.15(ve)-.25 G +(rything will appear to f).15 E(ail.)-.1 E<ad61>102 579 Q F2(x)A F1 1.356 +(Append the string)174 579 R F2(x)3.856 E F1 1.357(on successful matches.)3.856 +F -.15(Fo)6.357 G 3.857(re).15 G 1.357(xample, the def)382.852 579 R(ault)-.1 E +F2(host)3.857 E F1(map)3.857 E(appends a dot on successful matches.)174 591 Q +60.53(\255f Do)102 607.2 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)102 623.4 R .4(only \(without replacing the v)2.9 F 2.899 +(alue\). If)-.25 F .399(you only care about the e)2.899 F .399(xistence of)-.15 +F 7.306(ak)174 635.4 S 5.107 -.15(ey a)190.646 635.4 T 4.807(nd not the v).15 F +4.807(alue \(as you might when searching the NIS map)-.25 F 1.947 +(\231hosts.byname\232 for e)174 647.4 R 1.947(xample\), this \215ag pre)-.15 F +-.15(ve)-.25 G 1.947(nts the map from substituting the).15 F -.25(va)174 659.4 +S 2.849(lue. Ho).25 F(we)-.25 E -.15(ve)-.25 G 1.149 -.4(r, T).15 H .349 +(he \255a ar).4 F .349(gument is still appended on a match, and the def)-.18 F +.35(ault is)-.1 F(still tak)174 671.4 Q(en if the match f)-.1 E(ails.)-.1 E +<ad6b>102 687.6 Q F2 -.1(ke)C(ycol)-.2 E F1(The k)174 687.6 Q .3 -.15(ey c)-.1 +H(olumn name \(for NIS+\) or number \(for te).15 E(xt lookups\).)-.15 E<ad76> +102 703.8 Q F2(valcol)A F1(The v)174 703.8 Q +(alue column name \(for NIS+\) or number \(for te)-.25 E(xt lookups\).)-.15 E +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<ad7a>102 96 Q/F2 +10/Times-Italic@0 SF(delim)A F1 .219(The column delimiter \(for te)174 96 R +.219(xt lookups\).)-.15 F .218(It can be a single character or one of the)5.219 +F 1.825(special strings \231)174 108 R 1.825(\\n\232 or \231)1.666 F 1.826 +(\\t\232 to indicate ne)1.666 F 1.826(wline or tab respecti)-.25 F -.15(ve)-.25 +G(ly).15 E 6.826(.I)-.65 G 4.326(fo)465.784 108 S(mitted)478.44 108 Q(entirely) +174 120 Q 2.5(,t)-.65 G(he column separator is an)211.68 120 Q 2.5(ys)-.15 G +(equence of whitespace.)325.12 120 Q<ad73>102 136.2 Q F2(spacesub)A F1 -.15(Fo) +174 136.2 S 3.101(rt).15 G .601(he dequote map only)193.621 136.2 R 3.101(,t) +-.65 G .601(he character to use to replace space characters after a)286.755 +136.2 R(successful dequote.)174 148.2 Q(The)127 164.4 Q F2(dbm)3.356 E F1 .856 +(map appends the strings \231.pag\232 and \231.dir\232 to the gi)3.356 F -.15 +(ve)-.25 G 3.356<6e8c>.15 G .856(lename; the tw)399.052 164.4 R(o)-.1 E F2(db) +3.356 E F1(-based)A(maps append \231.db\232.)102 176.4 Q -.15(Fo)5 G 2.5(re).15 +G(xample, the map speci\214cation)206.4 176.4 Q -.15(Ku)142 192.6 S +(ucp dbm \255o \255N /usr/lib/uucpmap).15 E .21 +(speci\214es an optional map named \231uucp\232 of class \231dbm\232; it al)102 +208.8 R -.1(wa)-.1 G .21(ys has null bytes at the end of e).1 F -.15(ve)-.25 G +(ry).15 E(string, and the data is located in /usr/lib/uucpmap.{dir)102 220.8 Q +(,pag}.)-.4 E 1.094(The program)127 237 R F2(mak)3.594 E(emap)-.1 E F1 1.094 +(\(8\) can be used to b)B 1.094(uild an)-.2 F 3.594(yo)-.15 G 3.594(ft)347.736 +237 S 1.095(he three database-oriented maps.)357.44 237 R(It)6.095 E(tak)102 +249 Q(es the follo)-.1 E(wing \215ags:)-.25 E 60.53(\255f Do)102 265.2 R +(not fold upper to lo)2.5 E(wer case in the map.)-.25 E 56.64(\255N Include)102 +281.4 R(null bytes in k)2.5 E -.15(ey)-.1 G(s.).15 E 58.86(\255o Append)102 +297.6 R(to an e)2.5 E(xisting \(old\) \214le.)-.15 E 60.53(\255r Allo)102 313.8 +R 3.669(wr)-.25 G 1.169(eplacement of e)205.749 313.8 R 1.168(xisting k)-.15 F +-.15(ey)-.1 G 1.168(s; normally).15 F 3.668(,r)-.65 G 1.168(e-inserting an e) +371.63 313.8 R 1.168(xisting k)-.15 F 1.468 -.15(ey i)-.1 H 3.668(sa).15 G(n) +499 313.8 Q(error)174 325.8 Q(.)-.55 E 58.86(\255v Print)102 342 R +(what is happening.)2.5 E(The)102 358.2 Q F2(sendmail)3.605 E F1 1.105 +(daemon does not ha)3.605 F 1.405 -.15(ve t)-.2 H 3.605(ob).15 G 3.605(er) +272.975 358.2 S 1.106(estarted to read the ne)284.35 358.2 R 3.606(wm)-.25 G +1.106(aps as long as you change)394.88 358.2 R +(them in place; \214le locking is used so that the maps w)102 372.2 Q(on')-.1 E +2.5(tb)-.18 G 2.5(er)336.71 372.2 S(ead while the)346.98 372.2 Q 2.5(ya)-.15 G +(re being updated.)412.09 372.2 Q/F3 7/Times-Roman@0 SF(20)481.24 368.2 Q F1 +(Ne)127 388.4 Q 2.5(wc)-.25 G(lasses can be added in the routine)152.57 388.4 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.10. The)87 412.4 R(User Database)2.5 E F1 .108(If you ha)127 428.6 R .408 +-.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 440.6 Q +(The location of this database is controlled with the)127 456.8 Q F0 +(UserDatabaseSpec)2.5 E F1(option.)2.5 E F0 2.5(5.10.1. Structur)102 480.8 R +2.5(eo)-.18 G 2.5(ft)182.92 480.8 S(he user database)192.08 480.8 Q F1 +(The database is a sorted \(BT)142 497 Q(ree-based\) structure.)-.35 E +(User records are stored with the k)5 E -.15(ey)-.1 G(:).15 E F2(user)157 513.2 +Q(-name)-.2 E F0(:)A F2(\214eld-name)A F1 .128 +(The sorted database format ensures that user records are clustered together) +117 529.4 R 5.128(.M)-.55 G .128(eta-information is)432.492 529.4 R(al)117 +541.4 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 557.6 Q 2.5 +(alue. De\214ned)-.25 F(\214elds include:)2.5 E 33.39(maildrop The)117 573.8 R +(deli)4.872 E -.15(ve)-.25 G 2.372(ry address for this user).15 F 7.372(.T)-.55 +G 2.373(here may be multiple v)349.472 573.8 R 2.373(alues of this)-.25 F 2.675 +(record. In)189 585.8 R(particular)2.675 E 2.675(,m)-.4 G .175 +(ailing lists will ha)284.095 585.8 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 597.8 Q +30.06(mailname The)117 614 R 1.026(outgoing mailname for this user)3.526 F +6.026(.F)-.55 G 1.027(or each outgoing name, there should)353.336 614 R .08 +(be an appropriate)189 626 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 626 +R .08(See also)5.08 F F2(:default:mailname)189 638 Q F1(.)A 25.62 +(mailsender Changes)117 654.2 R(an)3.447 E 3.447(ym)-.15 G .947 +(ail sent to this address to ha)252.404 654.2 R 1.248 -.15(ve t)-.2 H .948 +(he indicated en).15 F -.15(ve)-.4 G .948(lope sender).15 F(.)-.55 E 2.736 +(This is intended for mailing lists, and will normally be the name of an)189 +666.2 R .32 LW 76 675.8 72 675.8 DL 80 675.8 76 675.8 DL 84 675.8 80 675.8 DL +88 675.8 84 675.8 DL 92 675.8 88 675.8 DL 96 675.8 92 675.8 DL 100 675.8 96 +675.8 DL 104 675.8 100 675.8 DL 108 675.8 104 675.8 DL 112 675.8 108 675.8 DL +116 675.8 112 675.8 DL 120 675.8 116 675.8 DL 124 675.8 120 675.8 DL 128 675.8 +124 675.8 DL 132 675.8 128 675.8 DL 136 675.8 132 675.8 DL 140 675.8 136 675.8 +DL 144 675.8 140 675.8 DL 148 675.8 144 675.8 DL 152 675.8 148 675.8 DL 156 +675.8 152 675.8 DL 160 675.8 156 675.8 DL 164 675.8 160 675.8 DL 168 675.8 164 +675.8 DL 172 675.8 168 675.8 DL 176 675.8 172 675.8 DL 180 675.8 176 675.8 DL +184 675.8 180 675.8 DL 188 675.8 184 675.8 DL 192 675.8 188 675.8 DL 196 675.8 +192 675.8 DL 200 675.8 196 675.8 DL 204 675.8 200 675.8 DL 208 675.8 204 675.8 +DL 212 675.8 208 675.8 DL 216 675.8 212 675.8 DL/F4 5/Times-Roman@0 SF(20)93.6 +686.2 Q/F5 8/Times-Roman@0 SF .466(That is, don')3.2 J 2.466(tc)-.144 G .466 +(reate ne)148.294 689.4 R 2.466(wm)-.2 G .466(aps and then use)188.122 689.4 R +/F6 8/Times-Italic@0 SF(mv)2.466 E F5 .466(\(1\) to mo)B .706 -.12(ve t)-.12 H +.466(hem into place.).12 F .465(Since the maps are already open the ne)4.466 F +2.465(wm)-.2 G(aps)493.336 689.4 Q(will ne)72 699 Q -.12(ve)-.2 G 2(rb).12 G 2 +(es)109.896 699 S(een.)118.56 699 Q 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 .655 +(appropriate -request address.)189 96 R .656(It is v)5.656 F .656 +(ery similar to the o)-.15 F(wner)-.25 E(-)-.2 E/F2 10/Times-Italic@0 SF(list)A +F1 .656(syntax in the)3.156 F(alias \214le.)189 108 Q 33.95(fullname The)117 +124.2 R(full name of the user)2.5 E(.)-.55 E(of)117 140.4 Q 13.66 +(\214ce-address The)-.25 F(of)2.5 E(\214ce address for this user)-.25 E(.)-.55 +E(of)117 156.6 Q 19.21(\214ce-phone The)-.25 F(of)2.5 E +(\214ce phone number for this user)-.25 E(.)-.55 E(of)117 172.8 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 189 R(home address for this user)2.5 E(.)-.55 +E 19.51(home-phone The)117 205.2 R(home phone number for this user)2.5 E(.)-.55 +E(home-f)117 221.4 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 237.6 R .856 +(\(short\) description of the project this person is af)3.356 F .855 +(\214liated with.)-.25 F .855(In the Uni-)5.855 F -.15(ve)189 249.6 S +(rsity this is often just the name of their graduate advisor).15 E(.)-.55 E +52.28(plan A)117 265.8 R +(pointer to a \214le from which plan information can be g)2.5 E(athered.)-.05 E +.924(As of this writing, only a fe)142 282 R 3.424(wo)-.25 G 3.424(ft)273.208 +282 S .925(hese \214elds are actually being used by)282.742 282 R F2(sendmail) +3.425 E F1(:)A F2(mail-)3.425 E(dr)117 294 Q(op)-.45 E F1(and)2.5 E F2 +(mailname)2.5 E F1 5(.A)C F2(\214ng)211.54 294 Q(er)-.1 E F1 +(program that uses the other \214elds is planned.)2.5 E F0 2.5(5.10.2. User)102 +318 R(database semantics)2.5 E F1 .996(When the re)142 334.2 R .995 +(writing rules submit an address to the local mailer)-.25 F 3.495(,t)-.4 G .995 +(he user name is passed)408.93 334.2 R .78(through the alias \214le.)117 346.2 +R .781 +(If no alias is found \(or if the alias points back to the same address\), the) +5.78 F 1.778(name \(with \231:maildrop\232 appended\) is then used as a k)117 +358.2 R 2.077 -.15(ey i)-.1 H 4.277(nt).15 G 1.777(he user database.)375.985 +358.2 R 1.777(If no match)6.777 F +(occurs \(or if the maildrop points at the same address\), forw)117 370.2 Q +(arding is tried.)-.1 E .55(If the \214rst tok)142 386.4 R .551(en of the user\ + name returned by ruleset 0 is an \231@\232 sign, the user database)-.1 F .626 +(lookup is skipped.)117 398.4 R .625 +(The intent is that the user database will act as a set of def)5.626 F .625 +(aults for a cluster)-.1 F 1.533(\(in our case, the Computer Science Di)117 +410.4 R 1.533(vision\); mail sent to a speci\214c machine should ignore)-.25 F +(these def)117 422.4 Q(aults.)-.1 E .351 +(When mail is sent, the name of the sending user is look)142 438.6 R .351 +(ed up in the database.)-.1 F .351(If that user)5.351 F .04 +(has a \231mailname\232 record, the v)117 450.6 R .041 +(alue of that record is used as their outgoing name.)-.25 F -.15(Fo)5.041 G +2.541(re).15 G .041(xample, I)466.189 450.6 R(might ha)117 462.6 Q .3 -.15 +(ve a r)-.2 H(ecord:).15 E 48.29(eric:mailname Eric.Allman@CS.Berk)157 478.8 R +(ele)-.1 E -.65(y.)-.15 G(EDU).65 E(This w)117 495 Q +(ould cause my outgoing mail to be sent as Eric.Allman.)-.1 E .52 +(If a \231maildrop\232 is found for the user)142 511.2 R 3.019(,b)-.4 G .519 +(ut no corresponding \231mailname\232 record e)299.686 511.2 R .519(xists, the) +-.15 F 1.127(record \231:def)117 523.2 R 1.127(ault:mailname\232 is consulted.) +-.1 F 1.127(If present, this is the name of a host to o)6.127 F -.15(ve)-.15 G +1.128(rride the).15 F .625(local host.)117 535.2 R -.15(Fo)5.625 G 3.125(re).15 +G .625(xample, in our case we w)185.515 535.2 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 547.2 Q .881(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 559.2 S 2.5(tp).2 G +(eople not listed in the database use the local hostname.)137.08 559.2 Q F0 2.5 +(5.10.3. Cr)102 585.2 R(eating the database)-.18 E/F3 7/Times-Bold@0 SF(21) +228.2 581.2 Q F1 .375(The user database is b)142 601.4 R .375(uilt from a te) +-.2 F .375(xt \214le using the)-.15 F F2(mak)2.875 E(emap)-.1 E F1 .375 +(utility \(in the distrib)2.875 F .375(ution in)-.2 F 1.039(the mak)117 613.4 R +1.039(emap subdirectory\).)-.1 F 1.039(The te)6.039 F 1.038 +(xt \214le is a series of lines corresponding to userdb records;)-.15 F 1.588 +(each line has a k)117 625.4 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.943 625.4 S 1.589(ys in the format).1 F +(described abo)117 637.4 Q .3 -.15(ve \212 f)-.15 H(or e).15 E(xample:)-.15 E +(eric:maildrop)157 653.6 Q .448 +(This \214le is normally installed in a system directory; for e)117 669.8 R +.447(xample, it might be called)-.15 F F2(/etc/user)2.947 E(db)-.37 E F1(.)A +.32 LW 76 679.4 72 679.4 DL 80 679.4 76 679.4 DL 84 679.4 80 679.4 DL 88 679.4 +84 679.4 DL 92 679.4 88 679.4 DL 96 679.4 92 679.4 DL 100 679.4 96 679.4 DL 104 +679.4 100 679.4 DL 108 679.4 104 679.4 DL 112 679.4 108 679.4 DL 116 679.4 112 +679.4 DL 120 679.4 116 679.4 DL 124 679.4 120 679.4 DL 128 679.4 124 679.4 DL +132 679.4 128 679.4 DL 136 679.4 132 679.4 DL 140 679.4 136 679.4 DL 144 679.4 +140 679.4 DL 148 679.4 144 679.4 DL 152 679.4 148 679.4 DL 156 679.4 152 679.4 +DL 160 679.4 156 679.4 DL 164 679.4 160 679.4 DL 168 679.4 164 679.4 DL 172 +679.4 168 679.4 DL 176 679.4 172 679.4 DL 180 679.4 176 679.4 DL 184 679.4 180 +679.4 DL 188 679.4 184 679.4 DL 192 679.4 188 679.4 DL 196 679.4 192 679.4 DL +200 679.4 196 679.4 DL 204 679.4 200 679.4 DL 208 679.4 204 679.4 DL 212 679.4 +208 679.4 DL 216 679.4 212 679.4 DL/F4 5/Times-Roman@0 SF(21)93.6 689.8 Q/F5 8 +/Times-Roman@0 SF .289(These instructions are kno)3.2 J .289 +(wn to be incomplete.)-.2 F 2.289(Af)4.289 G .289(uture v)266.464 693 R .289 +(ersion of the user database is planned including things such as \214n-)-.12 F +(ger service \212 and good documentation.)72 702.6 Q 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 1.6 -.8(To m)117 +96 T(ak).8 E 2.5(et)-.1 G(he database v)156.65 96 Q +(ersion of the map, run the program:)-.15 E(mak)157 112.2 Q +(emap btree /etc/userdb)-.1 E(.db < /etc/userdb)-.4 E .077 +(Then create a con\214g \214le that uses this.)117 128.4 R -.15(Fo)5.077 G +2.577(re).15 G .077(xample, using the V8 M4 con\214guration, include the) +296.531 128.4 R(follo)117 140.4 Q(wing line in your .mc \214le:)-.25 E +(de\214ne\(\222confUSERDB_SPEC\264, /etc/userdb)157 156.6 Q(.db\))-.4 E F0 2.5 +(6. O)72 184.8 R(THER CONFIGURA)-.4 E(TION)-.95 E F1 .907 +(There are some con\214guration changes that can be made by recompiling)112 201 +R/F2 10/Times-Italic@0 SF(sendmail)3.407 E F1 5.907(.T)C .906(his section) +460.594 201 R 1.139 +(describes what changes can be made and what has to be modi\214ed to mak)87 213 +R 3.639(et)-.1 G 3.639(hem. In)403.894 213 R 1.139(most cases this)3.639 F +(should be unnecessary unless you are porting)87 225 Q F2(sendmail)2.5 E F1 +(to a ne)2.5 E 2.5(we)-.25 G -.4(nv)349.76 225 S(ironment.).4 E F0 2.5(6.1. P) +87 249 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 265.2 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 277.2 Q(e\214le.)-.1 E 39.5 +(NDBM If)102 293.4 R .664(set, the ne)3.164 F 3.164(wv)-.25 G .664 +(ersion of the DBM library that allo)240.406 293.4 R .665 +(ws multiple databases will be)-.25 F 2.543(used. If)174 305.4 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 317.4 Q 32.84(NEWDB If) +102 333.6 R .141(set, use the ne)2.641 F 2.642(wd)-.25 G .142 +(atabase package from Berk)254.436 333.6 R(ele)-.1 E 2.642(y\()-.15 G .142 +(from 4.4BSD\).)385.814 333.6 R .142(This package)5.142 F .267 +(is substantially f)174 345.6 R .267(aster than DBM or NDBM.)-.1 F .267 +(If NEWDB and NDBM are both set,)5.267 F F2(sendmail)174 357.6 Q F1 +(will read DBM \214les, b)2.5 E(ut will create and use NEWDB \214les.)-.2 E +53.39(NIS Include)102 373.8 R .119(support for NIS.)2.619 F .119 +(If set together with)5.119 F F2(both)2.619 E F1 .119(NEWDB and NDBM,)2.619 F +F2(sendmail)2.62 E F1 .947(will create both DBM and NEWDB \214les if and only \ +if an alias \214le includes the)174 385.8 R 3.409 +(substring \231/yp/\232 in the name.)174 397.8 R 3.409 +(This is intended for compatibility with Sun)8.409 F(Microsystems')174 409.8 Q +F2(mkalias)2.5 E F1(program used on YP masters.)2.5 E 28.94(NISPLUS Compile)102 +426 R(in support for NIS+.)2.5 E 26.73(NETINFO Compile)102 442.2 R +(in support for NetInfo \(NeXT stations\).)2.5 E 32.84(HESIOD Compile)102 458.4 +R(in support for Hesiod.)2.5 E(_P)102 474.6 Q -1.11(AT)-.92 G(H_SENDMAILCF)1.11 +E(The pathname of the sendmail.cf \214le.)174 486.6 Q(_P)102 502.8 Q -1.11(AT) +-.92 G(H_SENDMAILPID)1.11 E(The pathname of the sendmail.pid \214le.)174 514.8 +Q 1.44(There are also se)127 531 R -.15(ve)-.25 G 1.439 +(ral compilation \215ags to indicate the en).15 F 1.439 +(vironment such as \231_AIX3\232 and)-.4 F 2.5(\231_SCO_unix_\232. See)102 543 +R(the READ_ME \214le for the latest scoop on these \215ags.)2.5 E F0 2.5 +(6.2. P)87 567 R(arameters in sr)-.1 E(c/conf)-.18 E(.h)-.15 E F1 -.15(Pa)127 +583.2 S .895(rameters and compilation options are de\214ned in conf.h.).15 F +.896(Most of these need not normally)5.895 F .193(be tweak)102 595.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 .492 -.15 +(ve ve)-.25 H(c-).15 E(tors, etc., are included in this \214le.)102 607.2 Q +(The numbers follo)5 E(wing the parameters are their def)-.25 E(ault v)-.1 E +(alue.)-.25 E 1.247(This document is not the best source of information for co\ +mpilation \215ags in conf.h \212 see)127 623.4 R +(src/READ_ME or src/conf.h itself.)102 635.4 Q 1.91(MAXLINE [2048])102 651.6 R +1.909(The maximum line length of an)190.31 651.6 R 4.409(yi)-.15 G 1.909 +(nput line.)338.276 651.6 R 1.909(If message lines e)6.909 F 1.909(xceed this) +-.15 F .575(length the)188.4 663.6 R 3.075(yw)-.15 G .575 +(ill still be processed correctly; ho)243.84 663.6 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 +675.6 Q(MAXN)102 691.8 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 691.8 Q .231(MAXPV [40]) +102 708 R .231(The maximum number of parameters to an)188.631 708 R 2.731(ym) +-.15 G(ailer)376.458 708 Q 5.231(.T)-.55 G .23(his limits the number of)407.519 +708 R .375(recipients that may be passed in one transaction.)188.4 720 R .376 +(It can be set to an)5.376 F 2.876(ya)-.15 G(rbitrary)474.01 720 Q 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 10/Times-Roman@0 SF .876(number abo)188.4 96 R 1.176 +-.15(ve a)-.15 H .876(bout 10, since).15 F/F2 10/Times-Italic@0 SF(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 108 R 3.386(Ah)5.886 G +.887(igher number may reduce load on your system, ho)285.804 108 R(w-)-.25 E +-2.15 -.25(ev e)188.4 120 T -.55(r.).25 G(MAXA)102 136.2 Q -.18(TO)-1.11 G +2.559(M[).18 G 8.26(100] The)159.369 136.2 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 136.2 R +(address \231eric@CS.Berk)188.4 148.2 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 148.2 Q .112(MAXMAILERS [25])102 +164.4 R .112(The maximum number of mailers that may be de\214ned in the con\ +\214guration \214le.).02 F(MAXR)102 180.6 Q .401(WSETS [200])-.55 F .401 +(The maximum number of re).01 F .401(writing sets that may be de\214ned.)-.25 F +.4(The \214rst half of)5.4 F .034(these are reserv)188.4 192.6 R .034 +(ed for numeric speci\214cation \(e.g., `)-.15 F(`S92')-.74 E .035 +('\), while the upper half)-.74 F .492(are reserv)188.4 204.6 R .492 +(ed for auto-numbering \(e.g., `)-.15 F(`Sfoo')-.74 E 2.992('\). Thus,)-.74 F +.492(with a v)2.992 F .491(alue of 200 an)-.25 F(attempt to use `)188.4 216.6 Q +(`S99')-.74 E 2.5('w)-.74 G(ill succeed, b)284.13 216.6 Q(ut `)-.2 E(`S100') +-.74 E 2.5('w)-.74 G(ill f)388.82 216.6 Q(ail.)-.1 E(MAXPRIORITIES [25])102 +232.8 Q 2.481(The maximum number of v)188.4 244.8 R 2.482 +(alues for the \231Precedence:\232 \214eld that may be)-.25 F +(de\214ned \(using the)188.4 256.8 Q F0(P)2.5 E F1(line in sendmail.cf\).)2.5 E +(MAXUSERENVIR)102 273 Q(ON [100])-.4 E .399 +(The maximum number of items in the user en)188.4 285 R .399 +(vironment that will be passed to)-.4 F(subordinate mailers.)188.4 297 Q +(MAXMXHOSTS [20])102 313.2 Q +(The maximum number of MX records we will accept for an)188.4 325.2 Q 2.5(ys) +-.15 G(ingle host.)439.03 325.2 Q .712(MAXALIASDB [12])102 341.4 R .712 +(The maximum number of alias databases that can be open at an).58 F 3.213(yt) +-.15 G 3.213(ime. Note)461.347 341.4 R +(that there may also be an open \214le limit.)188.4 353.4 Q(MAXMAPST)102 369.6 +Q -.4(AC)-.93 G 2.5(K[).4 G(12])184.28 369.6 Q 1.65 +(The maximum number of maps that may be "stack)188.4 381.6 R 1.65(ed" in a)-.1 +F F0(sequence)4.15 E F1(class)4.15 E(map.)188.4 393.6 Q(MAXMIMEARGS [20])102 +409.8 Q .718(The maximum number of ar)188.4 421.8 R .718 +(guments in a MIME Content-T)-.18 F .718(ype: header; addi-)-.8 F(tional ar) +188.4 433.8 Q(guments will be ignored.)-.18 E(MAXMIMENESTING [20])102 450 Q .4 +(The maximum depth to which MIME messages may be nested \(that is, nested)188.4 +462 R 1.344 +(Message or Multipart documents; this does not limit the number of compo-)188.4 +474 R(nents in a single Multipart document\).)188.4 486 Q 2.851(An)102 502.2 S +.351(umber of other compilation options e)117.071 502.2 R 2.851(xist. These) +-.15 F .35(specify whether or not speci\214c code should be)2.851 F +(compiled in.)102 514.2 Q(Ones mark)5 E(ed with \207 are 0/1 v)-.1 E(alued.) +-.25 E 36.69(NETINET\207 If)102 530.4 R .829 +(set, support for Internet protocol netw)3.329 F .829(orking is compiled in.) +-.1 F(Pre)5.829 E .83(vious v)-.25 F(er)-.15 E(-)-.2 E .178(sions of)188.4 +542.4 R F2(sendmail)2.678 E F1 .178(referred to this as)2.678 F/F3 9 +/Times-Roman@0 SF -.36(DA)2.678 G(EMON).36 E F1 2.677(;t)C .177 +(his old usage is no)381.715 542.4 R 2.677(wi)-.25 G(ncorrect.)468.74 542.4 Q +(Def)188.4 554.4 Q 1.87(aults on; turn it of)-.1 F 4.37(fi)-.25 G 4.37(nt) +292.67 554.4 S 1.87(he Mak)304.82 554.4 R 1.87(e\214le if your system doesn') +-.1 F 4.37(ts)-.18 G 1.87(upport the)461.3 554.4 R(Internet protocols.)188.4 +566.4 Q 43.35(NETISO\207 If)102 582.6 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 594.6 Q(e\214le instead of conf.h\).) +-.1 E 63.35(LOG If)102 610.8 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 622.8 R +.504(es a higher priority log)-.1 F .052(record for internal system errors.) +188.4 634.8 R F0(STR)5.052 E(ONGL)-.3 E 2.552(YR)-.92 G(ECOMMENDED)389.682 +634.8 Q F1 2.553<8a69>2.552 G 2.553(fy)483.117 634.8 S(ou)494 634.8 Q -.1(wa) +188.4 646.8 S(nt no logging, turn it of).1 E 2.5(fi)-.25 G 2.5(nt)301.66 646.8 +S(he con\214guration \214le.)311.94 646.8 Q(MA)102 663 Q 11.12 +(TCHGECOS\207 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 663 S 3.555 +(he GECOS \214eld in)418.055 663 R 2.5(/etc/passwd. This)188.4 675 R +(also requires that the)2.5 E F0(MatchGECOS)2.5 E F1(option be turned on.)2.5 E +-.35(NA)102 691.2 S 13.15(MED_BIND\207 Compile).35 F .412 +(in code to use the Berk)2.912 F(ele)-.1 E 2.913(yI)-.15 G .413 +(nternet Name Domain \(BIND\) serv)342.405 691.2 R .413(er to)-.15 F(resolv) +188.4 703.2 Q 2.5(eT)-.15 G(CP/IP host names.)225.74 703.2 Q 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(NO)102 96 Q +38.76(TUNIX If)-.4 F .248 +(you are using a non-UNIX mail format, you can set this \215ag to turn of)2.748 +F 2.747(fs)-.25 G(pe-)491.23 96 Q +(cial processing of UNIX-style \231From \232 lines.)188.4 108 Q -.1(QU)102 +124.2 S 50.12(EUE This).1 F 1.559 +(\215ag should be set to compile in the queueing code.)4.059 F 1.56 +(If this is not set,)6.56 F +(mailers must accept the mail immediately or it will be returned to the sender) +188.4 136.2 Q(.)-.55 E 57.78(SMTP If)102 152.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 +164.4 R(means most machines e)188.4 176.4 Q -.15(ve)-.25 G(rywhere\).).15 E +39.45(USERDB\207 Include)102 192.6 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 192.6 R(This)5.948 E .27(adds a ne)188.4 204.6 R 2.77(wl)-.25 G -2.15 +-.25(ev e)238.67 204.6 T 2.77(lo).25 G 2.77(fl)262.7 204.6 S .27(ocal name e) +271.58 204.6 R .27(xpansion between aliasing and forw)-.15 F 2.77(arding. It) +-.1 F(also uses the NEWDB package.)188.4 216.6 Q +(This may change in future releases.)5 E(The follo)102 232.8 Q +(wing options are normally turned on in per)-.25 E +(-operating-system clauses in conf.h.)-.2 E(IDENTPR)102 249 Q -1.88 -.4(OT O) +-.4 H 19.61<8743>.4 G .376 +(ompile in the IDENT protocol as de\214ned in RFC 1413.)195.07 249 R .375 +(This def)5.375 F .375(aults on for)-.1 F 1.053(all systems e)188.4 261 R 1.053 +(xcept Ultrix, which apparently has the interesting \231feature\232 that)-.15 F +.83(when it recei)188.4 273 R -.15(ve)-.25 G 3.33(sa\231).15 G .83 +(host unreachable\232 message it closes all open connections)270.18 273 R 1.921 +(to that host.)188.4 285 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 297 R(recei)188.4 309 Q .3 -.15(ve e)-.25 H(mail from such hosts.).15 E +39.45(SYSTEM5 Set)102 325.2 R +(all of the compilation parameters appropriate for System V)2.5 E(.)-1.29 E +26.12(HASFLOCK\207 Use)102 341.4 R(Berk)2.844 E(ele)-.1 E(y-style)-.15 E F0 +(\215ock)2.844 E F1 .344(instead of System V)2.844 F F0(lockf)2.845 E F1 .345 +(to do \214le locking.)2.845 F .345(Due to)5.345 F .184 +(the highly unusual semantics of locks across forks in)188.4 353.4 R F0(lockf) +2.684 E F1 2.684(,t)C .184(his should al)432.722 353.4 R -.1(wa)-.1 G(ys).1 E +(be used if at all possible.)188.4 365.4 Q(HASINITGR)102 381.6 Q 4.86(OUPS Set) +-.4 F 1.284(this if your system has the)3.783 F/F2 10/Times-Italic@0 SF(initgr) +3.784 E(oups\(\))-.45 E F1 1.284(call \(if you ha)3.784 F 1.584 -.15(ve m)-.2 H +1.284(ultiple group).15 F 4.417(support\). This)188.4 393.6 R 1.917(is the def) +4.417 F 1.917(ault if SYSTEM5 is)-.1 F F2(not)4.416 E F1 1.916 +(de\214ned or if you are on)4.416 F(HPUX.)188.4 405.6 Q(HASUN)102 421.8 Q 27.59 +(AME Set)-.35 F 1.148(this if you ha)3.648 F 1.448 -.15(ve t)-.2 H(he).15 E F2 +(uname)3.648 E F1 1.149(\(2\) system call \(or corresponding library rou-)B 2.5 +(tine\). Set)188.4 433.8 R(by def)2.5 E(ault if SYSTEM5 is set.)-.1 E(HASGETDT) +102 450 Q(ABLESIZE)-.93 E(Set this if you ha)188.4 462 Q .3 -.15(ve t)-.2 H(he) +.15 E F2 -.1(ge)2.5 G(tdtablesize).1 E F1(\(2\) system call.)A(HASW)102 478.2 Q +22.89(AITPID Set)-1.2 F(this if you ha)2.5 E .3 -.15(ve t)-.2 H(he).15 E F2 +(haswaitpid)2.5 E F1(\(2\) system call.)A 37.22(SFS_TYPE The)102 494.4 R .517 +(mechanism that can be used to get \214le system capacity information.)3.017 F +(The)5.516 E -.25(va)188.4 506.4 S .214(lues can be one of SFS_UST).25 F 2.435 +-1.11(AT \()-.93 H .215(use the ustat\(2\) syscall\), SFS_4ARGS \(use)1.11 F +.415(the four ar)188.4 518.4 R .415 +(gument statfs\(2\) syscall\), SFS_VFS \(use the tw)-.18 F 2.915(oa)-.1 G -.18 +(rg)435.165 518.4 S .415(ument statfs\(2\)).18 F .716 +(syscall including <sys/vfs.h>\), SFS_MOUNT \(use the tw)188.4 530.4 R 3.217 +(oa)-.1 G -.18(rg)434.863 530.4 S .717(ument statfs\(2\)).18 F 4.32 +(syscall including <sys/mount.h>\), SFS_ST)188.4 542.4 R -1.11(AT)-.93 G 4.32 +(FS \(use the tw)1.11 F 6.82(oa)-.1 G -.18(rg)470.85 542.4 S(ument).18 E 1.108 +(statfs\(2\) syscall including <sys/statfs.h>\), SFS_ST)188.4 554.4 R -1.11(AT) +-.93 G 1.109(VFS \(use the tw)1.11 F 3.609(oa)-.1 G -.18(rg)487.52 554.4 S(u-) +.18 E 1.511 +(ment statfs\(2\) syscall including <sys/statvfs.h>\), or SFS_NONE \(no w)188.4 +566.4 R 1.511(ay to)-.1 F(get this information\).)188.4 578.4 Q 40.57 +(LA_TYPE The)102 594.6 R(load a)2.5 E -.15(ve)-.2 G(rage type.).15 E +(Details are described belo)5 E -.65(w.)-.25 G .342(The are se)102 610.8 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 .343(tries to auto-con\214gure them)2.842 F .267 +(based on imperfect guesses; you can select one using the)102 622.8 R F2(cc) +2.766 E F1(option)2.766 E F0(\255DLA_TYPE=)2.766 E F2(type)A F1 2.766(,w)C +(here)467.364 622.8 Q F2(type)2.766 E F1(is:)102 634.8 Q 48.91(LA_INT The)102 +651 R -.1(ke)3.452 G .952(rnel stores the load a).1 F -.15(ve)-.2 G .952 +(rage in the k).15 F .952(ernel as an array of long inte)-.1 F(gers.)-.15 E +(The actual v)188.4 663 Q(alues are scaled by a f)-.25 E(actor FSCALE \(def)-.1 +E(ault 256\).)-.1 E(LA_SHOR)102 679.2 Q 35.89(TT)-.6 G .794(he k)194.51 679.2 R +.794(ernel stores the load a)-.1 F -.15(ve)-.2 G .794(rage in the k).15 F .793 +(ernel as an array of short inte)-.1 F(gers.)-.15 E(The actual v)188.4 691.2 Q +(alues are scaled by a f)-.25 E(actor FSCALE \(def)-.1 E(ault 256\).)-.1 E +(LA_FLO)102 707.4 Q 37.03 -1.11(AT T)-.35 H .088(he k)1.11 F .088 +(ernel stores the load a)-.1 F -.15(ve)-.2 G .089(rage in the k).15 F .089 +(ernel as an array of double precision)-.1 F(\215oats.)188.4 719.4 Q 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/F1 10/Times-Roman@0 SF(LA_MA)102 96 Q 35.97(CH Use)-.4 F +(MA)2.5 E(CH-style load a)-.4 E -.15(ve)-.2 G(rages.).15 E 39.45(LA_SUBR Call) +102 112.2 R(the)2.5 E/F2 10/Times-Italic@0 SF -.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 128.4 Q 42.36(OA)-.4 G -.1(lwa)195.62 128.4 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 .494(If type)102 144.6 R/F3 9/Times-Roman@0 SF +(LA_INT)2.994 E F1(,)A F3(LA_SHOR)2.994 E(T)-.54 E F1 2.994(,o)C(r)224.806 +144.6 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.993 E -.999(AT) +-.828 G(H_UNIX).999 E F1 .948(\(the path to your system binary\) and)102 156.6 +R F3(LA_A)3.448 E(VENR)-1.215 E(UN)-.36 E F1 .949(\(the name of the v)3.448 F +.949(ariable containing the load)-.25 F -2.25 -.2(av e)102 168.6 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 F0 2.5 +(6.3. Con\214guration)87 192.6 R(in sr)2.5 E(c/conf)-.18 E(.c)-.15 E F1 +(The follo)127 208.8 Q(wing changes can be made in conf.c.)-.25 E F0 2.5 +(6.3.1. Built-in)102 232.8 R(Header Semantics)2.5 E F1 1.248 +(Not all header semantics are de\214ned in the con\214guration \214le.)142 249 +R 1.247(Header lines that should)6.247 F .305(only be included by certain mail\ +ers \(as well as other more obscure semantics\) must be speci\214ed)117 261 R +.047(in the)117 273 R F2(HdrInfo)2.547 E F1 .047(table in)2.547 F F2(conf)2.547 +E(.c)-.15 E F1 5.047(.T)C .046 +(his table contains the header name \(which should be in all lo)246.842 273 R +(wer)-.25 E(case\) and a set of header control \215ags \(described belo)117 285 +Q(w\), The \215ags are:)-.25 E(H_A)117 301.2 Q 30.97(CHECK Normally)-.4 F .007 +(when the check is made to see if a header line is compatible with)2.507 F +2.941(am)203.4 313.2 S(ailer)218.561 313.2 Q(,)-.4 E F2(sendmail)2.941 E F1 +.441(will not delete an e)2.941 F .441(xisting line.)-.15 F .44 +(If this \215ag is set,)5.441 F F2(send-)2.94 E(mail)203.4 325.2 Q F1 .152 +(will delete e)2.652 F -.15(ve)-.25 G 2.652(ne).15 G .152 +(xisting header lines.)293.998 325.2 R .152 +(That is, if this bit is set and the)5.152 F 1.425(mailer does not ha)203.4 +337.2 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 +349.2 R F2(always)4.704 E F1(deleted.)203.4 361.2 Q 51.13(H_EOH If)117 377.4 R +.206(this header \214eld is set, treat it lik)2.706 F 2.706(eab)-.1 G .206 +(lank line, i.e., it will signal the end)363.95 377.4 R +(of the header and the be)203.4 389.4 Q(ginning of the message te)-.15 E(xt.) +-.15 E 39.45(H_FORCE Add)117 405.6 R 2.038(this header entry e)4.538 F -.15(ve) +-.25 G 4.538(ni).15 G 4.538(fo)326.22 405.6 S 2.038(ne e)339.088 405.6 R 2.039 +(xisted in the message before.)-.15 F 2.039(If a)7.039 F 2.189 +(header entry does not ha)203.4 417.6 R 2.488 -.15(ve t)-.2 H 2.188 +(his bit set,).15 F F2(sendmail)4.688 E F1 2.188(will not add another)4.688 F +.62(header line if a header line of this name already e)203.4 429.6 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 441.6 Q -.15(ve)-.25 G +(ryone who handled it.).15 E(H_TRA)117 457.8 Q 39.3(CE If)-.4 F 1.044 +(set, this is a timestamp \(trace\) \214eld.)3.544 F 1.043 +(If the number of trace \214elds in a)6.043 F .705(message e)203.4 469.8 R .705 +(xceeds a preset amount the message is returned on the assump-)-.15 F +(tion that it has an aliasing loop.)203.4 481.8 Q 46.67(H_RCPT If)117 498 R +.332(set, this \214eld contains recipient addresses.)2.833 F .332 +(This is used by the)5.332 F F0<ad74>2.832 E F1 .332(\215ag to)2.832 F 1.349 +(determine who to send to when it is collecting recipients from the mes-)203.4 +510 R(sage.)203.4 522 Q(H_FR)117 538.2 Q 43.74(OM This)-.4 F 1.673 +(\215ag indicates that this \214eld speci\214es a sender)4.174 F 6.673(.T)-.55 +G 1.673(he order of these)432.061 538.2 R .898(\214elds in the)203.4 550.2 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 562.2 Q(H_ERR)117 578.4 Q(ORST)-.4 E 22.53 +(OA)-.18 G(ddresses in this header should recei)210.62 578.4 Q .3 -.15(ve e) +-.25 H(rror messages.).15 E 52.79(H_CTE This)117 594.6 R(header is a Content-T) +2.5 E(ransfer)-.35 E(-Encoding header)-.2 E(.)-.55 E 40.01(H_CTYPE This)117 +610.8 R(header is a Content-T)2.5 E(ype header)-.8 E(.)-.55 E(H_STRIPV)117 627 +Q 25.25(AL Strip)-1.35 F(the v)2.5 E(alue from the header \(for Bcc:\).)-.25 E +(Let')117 643.2 Q 2.5(sl)-.55 G(ook at a sample)142.28 643.2 Q F2(HdrInfo)2.5 E +F1(speci\214cation:)2.5 E 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/F1 10/Times-Roman@0 SF(struct hdrinfo) +157 96 Q(HdrInfo[] =)295.76 96 Q({)157 108 Q +(/* originator \214elds, most to least signi\214cant)189.5 120 Q(*/)5 E 52.29 +("resent-sender", H_FR)177 132 R(OM,)-.4 E 58.95("resent-from", H_FR)177 144 R +(OM,)-.4 E 79.5("sender", H_FR)177 156 R(OM,)-.4 E 86.16("from", H_FR)177 168 R +(OM,)-.4 E 66.72("full-name", H_A)177 180 R(CHECK,)-.4 E 71.17 +("errors-to", H_FR)177 192 R -1.667(OM | H_ERR)-.4 F(ORST)-.4 E(O,)-.18 E +(/* destination \214elds */)189.5 204 Q 97.82("to", H_RCPT)177 216 R(,)-.74 E +70.61("resent-to", H_RCPT)177 228 R(,)-.74 E 96.72("cc", H_RCPT)177 240 R(,) +-.74 E 91.72("bcc", H_RCPT)177 252 R .833(|H).833 G(_STRIPV)-.833 E(AL,)-1.35 E +(/* message identi\214cation and control */)189.5 264 Q 71.72 +("message", H_EOH,)177 276 R("te)177 288 Q 90.75(xt", H_EOH,)-.15 F +(/* trace \214elds */)189.5 300 Q("recei)177 312 Q -.15(ve)-.25 G 72.13 +(d", H_TRA).15 F -1.667(CE | H_FORCE,)-.4 F(/* miscellaneous \214elds */)189.5 +324 Q("content-transfer)177 336 Q 2.5(-encoding", H_CTE,)-.2 F 55.61 +("content-type", H_CTYPE,)177 348 R 87.1(NULL, 0,)177 372 R(};)157 384 Q 2.435 +(This structure indicates that the \231T)117 400.2 R 2.435 +(o:\232, \231Resent-T)-.8 F 2.435 +(o:\232, and \231Cc:\232 \214elds all specify recipient)-.8 F 3.161 +(addresses. An)117 412.2 R 3.161<7999>-.15 G .662(Full-Name:\232 \214eld will \ +be deleted unless the required mailer \215ag \(indicated in)188.152 412.2 R +.246(the con\214guration \214le\) is speci\214ed.)117 424.2 R .245 +(The \231Message:\232 and \231T)5.246 F -.15(ex)-.7 G .245 +(t:\232 \214elds will terminate the header;).15 F 1.936 +(these are used by random dissenters around the netw)117 436.2 R 1.936(ork w) +-.1 F 4.436(orld. The)-.1 F(\231Recei)4.436 E -.15(ve)-.25 G 1.937 +(d:\232 \214eld will).15 F(al)117 448.2 Q -.1(wa)-.1 G +(ys be added, and can be used to trace messages.).1 E .446 +(There are a number of important points here.)142 464.4 R .445 +(First, header \214elds are not added automati-)5.446 F .656 +(cally just because the)117 476.4 R 3.156(ya)-.15 G .656(re in the)216.674 +476.4 R/F2 10/Times-Italic@0 SF(HdrInfo)3.157 E F1 .657(structure; the)3.157 F +3.157(ym)-.15 G .657(ust be speci\214ed in the con\214guration)358.225 476.4 R +.728(\214le in order to be added to the message.)117 488.4 R(An)5.727 E 3.227 +(yh)-.15 G .727(eader \214elds mentioned in the con\214guration \214le)312.988 +488.4 R -.2(bu)117 500.4 S 3.24(tn).2 G .74(ot mentioned in the)137.82 500.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 500.4 Q +1.375(added unless the)117 512.4 R 3.875(yw)-.15 G 1.375 +(ere in the message already)201.795 512.4 R 6.375(.S)-.65 G 1.374(econd, the) +326.6 512.4 R F2(HdrInfo)3.874 E F1 1.374(structure only speci\214es)3.874 F +.324 +(cliched processing; certain headers are processed specially by ad hoc code re) +117 524.4 R -.05(ga)-.15 G .325(rdless of the sta-).05 F .481 +(tus speci\214ed in)117 536.4 R F2(HdrInfo)2.981 E F1 5.481(.F)C .481(or e) +226.554 536.4 R .481 +(xample, the \231Sender:\232 and \231From:\232 \214elds are al)-.15 F -.1(wa) +-.1 G .48(ys scanned on).1 F(ARP)117 550.4 Q .751 +(ANET mail to determine the sender)-.92 F/F3 7/Times-Roman@0 SF(22)282.315 +546.4 Q F1 3.251(;t)289.315 550.4 S .75 +(his is used to perform the \231return to sender\232 func-)298.126 550.4 R +2.976(tion. The)117 562.4 R .476(\231From:\232 and \231Full-Name:\232 \214elds\ + are used to determine the full name of the sender if)2.976 F +(possible; this is stored in the macro)117 574.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 598.4 +R(Use of Email)2.5 E F1 .15 +(If it is necessary to restrict mail through a relay)142 614.6 R 2.649(,t)-.65 +G(he)339.755 614.6 Q F2 -.15(ch)2.649 G(ec).15 E(kcompat)-.2 E F1 .149 +(routine can be modi\214ed.)2.649 F .163(This routine is called for e)117 626.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 638.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 .263(later try)117 650.6 R 2.763(,a)-.65 G +.263(nd other v)157.696 650.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.372 650.6 R .264(It is up to)5.264 F F2 -.15(ch)2.764 G(ec).15 E(k-)-.2 E +(compat)117 662.6 Q F1 2.477(to print an error message \(using)4.978 F F2(usr) +4.977 E(err)-.37 E F1 4.977(\)i)C 4.977(ft)331.418 662.6 S 2.477 +(he message is rejected.)342.505 662.6 R -.15(Fo)7.477 G 4.977(re).15 G +(xample,)472.06 662.6 Q .32 LW 76 672.2 72 672.2 DL 80 672.2 76 672.2 DL 84 +672.2 80 672.2 DL 88 672.2 84 672.2 DL 92 672.2 88 672.2 DL 96 672.2 92 672.2 +DL 100 672.2 96 672.2 DL 104 672.2 100 672.2 DL 108 672.2 104 672.2 DL 112 +672.2 108 672.2 DL 116 672.2 112 672.2 DL 120 672.2 116 672.2 DL 124 672.2 120 +672.2 DL 128 672.2 124 672.2 DL 132 672.2 128 672.2 DL 136 672.2 132 672.2 DL +140 672.2 136 672.2 DL 144 672.2 140 672.2 DL 148 672.2 144 672.2 DL 152 672.2 +148 672.2 DL 156 672.2 152 672.2 DL 160 672.2 156 672.2 DL 164 672.2 160 672.2 +DL 168 672.2 164 672.2 DL 172 672.2 168 672.2 DL 176 672.2 172 672.2 DL 180 +672.2 176 672.2 DL 184 672.2 180 672.2 DL 188 672.2 184 672.2 DL 192 672.2 188 +672.2 DL 196 672.2 192 672.2 DL 200 672.2 196 672.2 DL 204 672.2 200 672.2 DL +208 672.2 204 672.2 DL 212 672.2 208 672.2 DL 216 672.2 212 672.2 DL/F5 5 +/Times-Roman@0 SF(22)93.6 682.6 Q/F6 8/Times-Roman@0 SF(Actually)3.2 I 2.631 +(,t)-.52 G .631 +(his is no longer true in SMTP; this information is contained in the en)132.487 +685.8 R -.12(ve)-.32 G 2.632(lope. The).12 F .632(older ARP)2.632 F .632 +(ANET protocols did)-.736 F(not completely distinguish en)72 695.4 Q -.12(ve) +-.32 G(lope from header).12 E(.)-.44 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/F1 10/Times-Italic@0 SF -.15(ch)117 96 S(ec).15 E +(kcompat)-.2 E/F2 10/Times-Roman@0 SF(could read:)2.5 E/F3 9/Times-Roman@0 SF +(int)157 111 Q(checkcompat\(to, e\))157 121.8 Q(re)175 132.6 Q +(gister ADDRESS *to;)-.135 E(re)175 143.4 Q(gister ENVELOPE *e;)-.135 E({)157 +154.2 Q(re)175 165 Q(gister ST)-.135 E(AB *s;)-.837 E 2.25(s=s)175 186.6 S +(tab\("pri)191.578 186.6 Q -.225(va)-.225 G(te", ST_MAILER, ST_FIND\);).225 E +(if \(s != NULL && e\255>e_from.q_mailer != LocalMailer &&)175 197.4 Q +(to->q_mailer == s->s_mailer\))184 208.2 Q({)175 219 Q(usrerr\("No pri)193 +229.8 Q -.225(va)-.225 G(te net mail allo).225 E(wed through this machine"\);) +-.225 E(return \(EX_UN)193 240.6 Q -1.215(AVA)-.315 G(ILABLE\);)1.215 E(})175 +251.4 Q(if \(MsgSize > 50000 && bitnset\(M_LOCALMAILER, to\255>q_mailer\)\))175 +262.2 Q({)175 273 Q(usrerr\("Message too lar)193 283.8 Q(ge for non-local deli) +-.162 E -.135(ve)-.225 G(ry"\);).135 E(e\255>e_\215ags |= EF_NORETURN;)193 +294.6 Q(return \(EX_UN)193 305.4 Q -1.215(AVA)-.315 G(ILABLE\);)1.215 E(})175 +316.2 Q(return \(EX_OK\);)175 327 Q(})157 337.8 Q F2 5.146(This w)117 354 R +5.147(ould reject messages greater than 50000 bytes unless the)-.1 F 7.647(yw) +-.15 G 5.147(ere local.)436.506 354 R(The)488.45 354 Q F1(EF_NORETURN)117 366 Q +F2 .942(\215ag can be set in)3.442 F F1(e)3.441 E/F4 10/Symbol SF<ae>A F1 +(e_\215a)A(gs)-.1 E F2 .941(to suppress the return of the actual body of the) +3.441 F .128(message in the error return.)117 378 R .129 +(The actual use of this routine is highly dependent on the implemen-)5.129 F +(tation, and use should be limited.)117 390 Q F0 2.5(6.3.3. Load)102 414 R -.6 +-1(Av e)2.5 H(rage Computation)1 E F2 .18(The routine)142 430.2 R F1 -.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 442.2 Q(ger)-.15 E 5(.T)-.55 G(here are se) +157.68 442.2 Q -.15(ve)-.25 G(ral v).15 E +(ersions included on compilation \215ags as described abo)-.15 E -.15(ve)-.15 G +(.).15 E F0 2.5(6.3.4. New)102 466.2 R(Database Map Classes)2.5 E F2(Ne)142 +482.4 Q 2.875(wk)-.25 G .675 -.15(ey m)168.405 482.4 T .375(aps can be added b\ +y creating a class initialization function and a lookup func-).15 F 2.5 +(tion. These)117 494.4 R(are then added to the routine)2.5 E F1(setupmaps.)2.5 +E F2(The initialization function is called as)142 510.6 Q F1(xxx)157 526.8 Q F2 +(_map_init\(MAP *map, char *mapname, char *ar)A(gs\))-.18 E(The)117 543 Q F1 +(map)2.555 E F2 .055(is an internal data structure.)2.555 F(The)5.055 E F1 +(mapname)2.555 E F2 .054(is the name of the map \(used for error mes-)2.554 F +2.819(sages\). The)117 555 R F1(ar)2.819 E(gs)-.37 E F2 .32(is a pointer to th\ +e rest of the con\214guration \214le line; \215ags and \214lenames can be)2.819 +F -.15(ex)117 567 S .675(tracted from this line.).15 F .675 +(The initialization function must return)5.675 F F3(TR)3.175 E(UE)-.36 E F2 +.674(if it successfully opened)3.174 F(the map,)117 579 Q F3 -.666(FA)2.5 G +(LSE).666 E F2(otherwise.)2.5 E(The lookup function is called as)142 595.2 Q F1 +(xxx)157 611.4 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 627.6 Q +F1(map)3.475 E F2 .975(de\214nes the map internally)3.475 F 5.975(.T)-.65 G +.975(he parameters)277.18 627.6 R F1 -.2(bu)3.475 G(f).2 E F2(and)3.475 E F1 +-.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 627.6 Q .043 +(may be \(and often is\) used destructi)117 639.6 R -.15(ve)-.25 G(ly).15 E +5.043(.T)-.65 G(he)289.831 639.6 Q F1(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 +651.6 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 651.6 R 1.155(the map lookup f)3.655 F(ails,) +-.1 E F1(*statp)117 663.6 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 663.6 S +1.271(hould be set to)368.093 663.6 R F3(EX_TEMPF)3.771 E(AIL)-.666 E F2(if) +3.771 E(reco)117 675.6 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 675.6 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 2.5(6.3.5. Queueing)102 96 R(Function) +2.5 E/F1 10/Times-Roman@0 SF .782(The routine)142 112.2 R/F2 10/Times-Italic@0 +SF(shouldqueue)3.282 E F1 .783 +(is called to decide if a message should be queued or processed)3.283 F +(immediately)117 124.2 Q 6.619(.T)-.65 G 1.618 +(ypically this compares the message priority to the current load a)180.779 +124.2 R -.15(ve)-.2 G 4.118(rage. The).15 F(def)117 136.2 Q +(ault de\214nition is:)-.1 E(bool)157 152.4 Q(shouldqueue\(pri, ctime\))157 +164.4 Q(long pri;)175 176.4 Q(time_t ctime;)175 188.4 Q({)157 200.4 Q +(if \(CurrentLA < QueueLA\))175 212.4 Q(return \(F)193 224.4 Q(ALSE\);)-.74 E +(return \(pri > \(QueueF)175 236.4 Q +(actor / \(CurrentLA \255 QueueLA + 1\)\)\);)-.15 E(})157 248.4 Q 2.062 +(If the current load a)117 264.6 R -.15(ve)-.2 G 2.062(rage \(global v).15 F +(ariable)-.25 E F2(Curr)4.562 E(entLA)-.37 E F1 4.562(,w)C 2.062 +(hich is set before this function is)361.636 264.6 R 1.058 +(called\) is less than the lo)117 276.6 R 3.558(wt)-.25 G 1.058 +(hreshold load a)234.198 276.6 R -.15(ve)-.2 G 1.058(rage \(option).15 F F0(x) +3.557 E F1 3.557(,v)C(ariable)375.526 276.6 Q F2(QueueLA)3.557 E F1(\),)A F2 +(shouldqueue)3.557 E F1(returns)117 288.6 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 +300.6 R -.15(ve)-.2 G .588(rage \(option).15 F F0(X)3.087 E F1 3.087(,v)C +(ariable)281.846 300.6 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 312.6 Q +7.125(.O)-.65 G 2.125 +(therwise, it computes the function based on the message priority)152.635 312.6 +R 4.626(,t)-.65 G 2.126(he queue f)438.208 312.6 R(actor)-.1 E(\(option)117 +324.6 Q F0(q)2.5 E F1 2.5(,g)C(lobal v)163.95 324.6 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 340.8 R 3.567(et)-.1 G +1.066(he actual age of the message into account can also)293.625 340.8 R 1.41 +(use the)117 352.8 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 352.8 R 1.41 +(as \214rst submitted to)-.1 F F2(sendmail)3.91 E F1(.)A .929(Note that the)117 +364.8 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 376.8 R .395 +(wer the priority of the message with time\); the e)-.25 F .395 +(xpectation is that)-.15 F(the)117 388.8 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 412.8 R +(Incoming SMTP Connections)2.5 E F1 1.148(The function)142 429 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 441 +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 453 Q -.15(ve)-.2 G(rage option \(option).15 E F0(X)2.5 E F1 +2.5(,g)C(lobal v)273.56 453 Q(ariable)-.25 E F2(RefuseLA)2.5 E F1(\):)A(bool) +157 469.2 Q(refuseconnections\(\))157 481.2 Q({)157 493.2 Q +(return \(CurrentLA >= RefuseLA\);)175 505.2 Q(})157 517.2 Q 2.5(Am)117 533.4 S +(ore cle)134.5 533.4 Q -.15(ve)-.25 G 2.5(ri).15 G +(mplementation could look at more system resources.)179.08 533.4 Q F0 2.5 +(6.3.7. Load)102 557.4 R -.6 -1(Av e)2.5 H(rage Computation)1 E F1 .243 +(The routine)142 573.6 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 1.157(includes se)117 585.6 R -.15(ve)-.25 G 1.157 +(ral possible implementations.).15 F 1.157(If you are porting to a ne)6.157 F +3.657(we)-.25 G -.4(nv)418.757 585.6 S 1.157(ironment you may).4 F +(need to add some ne)117 599.6 Q 2.5(wt)-.25 G(weaks.)210.9 599.6 Q/F4 7 +/Times-Roman@0 SF(23)238.39 595.6 Q F0 2.5(6.4. Con\214guration)87 623.6 R +(in sr)2.5 E(c/daemon.c)-.18 E F1 .4(The \214le)127 639.8 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 651.8 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 668 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 680 S 1.918 +(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.904 680 T 1.918 +(ecommend that you create a ne).25 F 4.419(wk)-.25 G -.15(ey)463.631 680 S +1.919(ed map).15 F .32 LW 76 689.6 72 689.6 DL 80 689.6 76 689.6 DL 84 689.6 80 +689.6 DL 88 689.6 84 689.6 DL 92 689.6 88 689.6 DL 96 689.6 92 689.6 DL 100 +689.6 96 689.6 DL 104 689.6 100 689.6 DL 108 689.6 104 689.6 DL 112 689.6 108 +689.6 DL 116 689.6 112 689.6 DL 120 689.6 116 689.6 DL 124 689.6 120 689.6 DL +128 689.6 124 689.6 DL 132 689.6 128 689.6 DL 136 689.6 132 689.6 DL 140 689.6 +136 689.6 DL 144 689.6 140 689.6 DL 148 689.6 144 689.6 DL 152 689.6 148 689.6 +DL 156 689.6 152 689.6 DL 160 689.6 156 689.6 DL 164 689.6 160 689.6 DL 168 +689.6 164 689.6 DL 172 689.6 168 689.6 DL 176 689.6 172 689.6 DL 180 689.6 176 +689.6 DL 184 689.6 180 689.6 DL 188 689.6 184 689.6 DL 192 689.6 188 689.6 DL +196 689.6 192 689.6 DL 200 689.6 196 689.6 DL 204 689.6 200 689.6 DL 208 689.6 +204 689.6 DL 212 689.6 208 689.6 DL 216 689.6 212 689.6 DL/F5 5/Times-Roman@0 +SF(23)93.6 700 Q/F6 8/Times-Roman@0 SF +(If you do, please send updates to sendmail@CS.Berk)3.2 I(ele)-.08 E -.52(y.) +-.12 G(EDU.).52 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/F1 10/Times-Roman@0 SF(instead.)102 96 Q F0 2.5 +(7. CHANGES)72 120 R(IN VERSION 8)2.5 E F1 .196(The follo)112 136.2 R .196 +(wing summarizes changes since the last commonly a)-.25 F -.25(va)-.2 G .196 +(ilable v).25 F .196(ersion of)-.15 F/F2 10/Times-Italic@0 SF(sendmail)2.695 E +F1(\(5.67\).)2.695 E -.15(Fo)87 148.2 S 2.702(rad).15 G .202 +(etailed list, consult the \214le RELEASE_NO)115.584 148.2 R .203 +(TES in the root directory of the)-.4 F F2(sendmail)2.703 E F1(distrib)2.703 E +(ution.)-.2 E F0 2.5(7.1. Connection)87 172.2 R(Caching)2.5 E F1 .398 +(Instead of closing SMTP connections immediately)127 188.4 R 2.897(,t)-.65 G +.397(hose connections are cached for possible)339.005 188.4 R .597(future use.) +102 200.4 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 212.4 Q +-.15(ve)-.15 G(ments can be e).15 E(xpected for queue processing.)-.15 E F0 2.5 +(7.2. MX)87 236.4 R(Piggybacking)2.5 E F1 1.258(If tw)127 252.6 R 3.757(oh)-.1 +G 1.257(osts with dif)161.075 252.6 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 264.6 R 3.44(yc)-.15 G .94 +(an be sent in the same transaction.)153.45 264.6 R -1.11(Ve)5.94 G .94 +(rsion 8 notices this and tries to batch the mes-)1.11 F(sages.)102 276.6 Q F0 +2.5(7.3. RFC)87 300.6 R(1123 Compliance)2.5 E F1 3.463(An)127 316.8 S .963 +(umber of changes ha)142.683 316.8 R 1.262 -.15(ve b)-.2 H .962 +(een made to mak).15 F(e)-.1 E F2(sendmail)3.462 E F1 .962 +(\231conditionally compliant\232 \(that is,)3.462 F F2(sendmail)102 328.8 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 340.8 Q +(The major areas of change are \(numbers are RFC 1123 section numbers\):)127 +357 Q 15(5.2.7 Response)102 373.2 R(to RCPT command is f)2.5 E(ast.)-.1 E 15 +(5.2.8 Numeric)102 389.4 R(IP addresses are logged in Recei)2.5 E -.15(ve)-.25 +G(d: lines.).15 E 10(5.2.17 Self)102 405.6 R +(domain literal is properly handled.)2.5 E 15(5.3.2 Better)102 421.8 R +(control o)2.5 E -.15(ve)-.15 G 2.5(ri).15 G(ndi)220.02 421.8 Q +(vidual timeouts.)-.25 E 15(5.3.3 Error)102 438 R +(messages are sent as \231From:<>\232.)2.5 E 15(5.3.3 Error)102 454.2 R +(messages are ne)2.5 E -.15(ve)-.25 G 2.5(rs).15 G(ent to \231<>\232.)246.28 +454.2 Q 15(5.3.3 Route-addrs)102 470.4 R(are pruned.)2.5 E(The areas in which) +102 486.6 Q F2(sendmail)2.5 E F1(is not \231unconditionally compliant\232 are:) +2.5 E(5.2.6)102 502.8 Q F2(Sendmail)139.5 502.8 Q F1(does do header munging.) +2.5 E(5.2.10)102 519 Q F2(Sendmail)139.5 519 Q F1(doesn')2.5 E 2.5(ta)-.18 G +-.1(lwa)215.42 519 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 535.2 Q F2(Sendmail)139.5 535.2 Q +F1(doesn')2.5 E 2.5(tg)-.18 G +(uarantee only one connect for each host in queue runs.)215.98 535.2 Q(5.3.1.1) +102 551.4 Q F2(Sendmail)139.5 551.4 Q F1(doesn')2.5 E 2.5(ta)-.18 G -.1(lwa) +215.42 551.4 S(ys pro).1 E(vide adequate concurrenc)-.15 E 2.5(yl)-.15 G +(imits.)366.54 551.4 Q F0 2.5(7.4. Extended)87 575.4 R(SMTP Support)2.5 E F1 +-1.11(Ve)127 591.6 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 1651 \(basi\ +c\) and RFC 1653 \(SIZE\); and limited support for RFC 1652 \(BOD)102 603.6 Q +(Y\).)-.55 E F0 2.5(7.5. Eight-Bit)87 627.6 R(Clean)2.5 E F1(Pre)127 643.8 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 655.8 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 655.8 Q(Indi)127 672 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 672 Q F0 2.5(7.6. User)87 696 R +(Database)2.5 E F1 1.073(The user database is an as-yet e)127 712.2 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 724.2 R 2.5(ea)-.8 G +(re installing it at Berk)145.63 724.2 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 +724.2 Q EP +%%Page: 60 55 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-60 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E 2.5(7.7. Impr)87 96 R -.1(ove)-.18 G +2.5(dB).1 G(IND Support)158.01 96 Q/F1 10/Times-Roman@0 SF .489 +(The BIND support, particularly for MX records, had a number of anno)127 112.2 +R .49(ying \231features\232 which)-.1 F(ha)102 124.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 124.2 S .912 +(his release.)198.308 124.2 R .912(In particular)5.912 F 3.412(,t)-.4 G .912 +(hese more tightly bind \(pun intended\) the name)307.916 124.2 R(serv)102 +136.2 Q(er to)-.15 E/F2 10/Times-Italic@0 SF(sendmail)2.5 E F1 2.5(,s)C 2.5(ot) +184.06 136.2 S(hat the name serv)194.34 136.2 Q +(er resolution rules are incorporated directly into)-.15 E F0(sendmail)2.5 E F1 +(.)A F0 2.5(7.8. K)87 160.2 R(ey)-.25 E(ed Files)-.1 E F1 .365(Generalized k) +127 176.4 R -.15(ey)-.1 G .365(ed \214les is an idea tak).15 F .365 +(en directly from)-.1 F/F3 9/Times-Roman@0 SF(ID)2.866 E(A)-.36 E F2(sendmail) +2.866 E F1 .366(\(albeit with a completely)2.866 F(dif)102 188.4 Q +(ferent implementation\).)-.25 E(The)5 E 2.5(yc)-.15 G(an be useful on lar) +239.63 188.4 Q(ge sites.)-.18 E -1.11(Ve)127 204.6 S +(rsion 8 also understands YP)1.11 E(.)-1.11 E F0 2.5(7.9. Multi-W)87 228.6 R +(ord Classes)-.75 E F1(Classes can no)127 244.8 Q 2.5(wb)-.25 G 2.5(em)200.35 +244.8 S(ultiple w)215.07 244.8 Q 2.5(ords. F)-.1 F(or e)-.15 E(xample,)-.15 E +(CShofmann.CS.Berk)142 261 Q(ele)-.1 E -.65(y.)-.15 G(EDU).65 E(allo)102 277.2 +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 +289.2 Q F0 2.5(7.10. Deferr)87 313.2 R(ed Macr)-.18 E 2.5(oE)-.18 G(xpansion) +189.94 313.2 Q F1(The)127 329.4 Q F0($&)2.5 E F2(x)A F1 +(construct has been adopted from)2.5 E F3(ID)2.5 E(A)-.36 E F1(.)A F0 2.5 +(7.11. IDENT)87 353.4 R(Pr)2.5 E(otocol Support)-.18 E F1 +(The IDENT protocol as de\214ned in RFC 1413 is supported.)127 369.6 Q F0 2.5 +(7.12. P)87 393.6 R(arsing Bug Fixes)-.1 E F1 4.03(An)127 409.8 S 1.53 +(umber of small b)143.25 409.8 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 409.8 R(comments ha)102 421.8 Q .3 +-.15(ve b)-.2 H(een \214x).15 E(ed.)-.15 E F0 2.5(7.13. Separate)87 445.8 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 462 R -.15(ve)-.4 +G .854(lope sender).15 F 3.354(,t)-.4 G .854(hese ha)420.978 462 R 1.154 -.15 +(ve b)-.2 H .854(oth been).15 F .427(made visible; the)102 474 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 486 Q .085 +(It is also possible to specify separate per)127 502.2 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 514.2 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 F2(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 526.2 +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 550.2 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 566.4 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 578.4 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 602.4 R(Header Allocation)2.5 E F1(The \214x)127 618.6 Q +(ed size limit on header lines has been eliminated.)-.15 E F0 2.5(7.16. New)87 +642.6 R(Command Line Flags)2.5 E F1(The)127 658.8 Q F0<ad42>2.5 E F1 +(\215ag has been added to pass in body type information.)2.5 E(The)127 675 Q F0 +<ad70>2.5 E F1(\215ag has been added to pass in protocol information.)2.5 E +(The)127 691.2 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 691.2 R F2(sendmail) +2.6 E F1 .1(for deb)2.6 F(ug-)-.2 E(ging.)102 703.2 Q 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(The)127 96 Q F0<ad4f>2.5 E F1 +(\215ag simplies setting long-form options.)2.5 E F0 2.5(7.17. Enhanced)87 120 +R(Command Line Flags)2.5 E F1(The)127 136.2 Q F0<ad71>4.007 E F1 1.507(\215ag \ +can limit limit a queue run to speci\214c recipients, senders, or queue ids us\ +ing)4.007 F F0(\255qR)102 148.2 Q/F2 10/Times-Italic@0 SF(substring)A F0 2.5 +<2cad>C(qS)168.41 148.2 Q F2(substring)A F0 2.5(,o)C 2.5<72ad>226.76 148.2 S +(qI)239.4 148.2 Q F2(substring)A F0 -.18(re)2.5 G(specti).18 E -.1(ve)-.1 G(ly) +.1 E(.)-.7 E 2.5(7.18. New)87 172.2 R(and Old Con\214guration Line T)2.5 E +(ypes)-.74 E F1(The)127 188.4 Q F0(K)2.5 E F1 +(line has been added to declare database maps.)2.5 E(The)127 204.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 220.8 Q F0(M)2.796 E F1 .297(line has a \231D=\ +\232 \214eld that lets you change into a temporary directory while that mailer) +2.796 F .581(is running.)102 232.8 R .581 +(It also has a \231U=\232 \214eld to allo)5.581 F 3.081(wy)-.25 G .58 +(ou to set the user and group id to be used when run-)289.85 232.8 R +(ning the mailer)102 244.8 Q(.)-.55 E F0 2.5(7.19. New)87 268.8 R(Options)2.5 E +F1(Se)127 285 Q -.15(ve)-.25 G .9(ral ne).15 F 3.4(wo)-.25 G .9(ptions ha)184.8 +285 R 1.2 -.15(ve b)-.2 H .9(een added, man).15 F 3.4(yt)-.15 G 3.4(os)314.89 +285 S .9(upport ne)327.18 285 R 3.4(wf)-.25 G .9(eatures, others to allo)379.83 +285 R 3.4(wt)-.25 G(uning)481.22 285 Q 1.187(that w)102 297 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 297 R(Brie\215y)102 309 Q(,)-.65 E 31(bI)102 325.2 S +(nsist on a minimum number of disk blocks.)141.33 325.2 Q 29.33(CS)102 341.4 S +(et checkpoint interv)143.56 341.4 Q(al.)-.25 E 29.89(ED)102 357.6 S(ef)145.22 +357.6 Q(ault error message.)-.1 E 28.78(GE)102 373.8 S(nable GECOS matching.) +144.11 373.8 Q 31(hM)102 390 S(aximum hop count.)146.89 390 Q 33.22(jS)102 +406.2 S(end errors in MIME-encapsulated format.)143.56 406.2 Q 32.11(JF)102 +422.4 S(orw)143.41 422.4 Q(ard \214le path.)-.1 E 31(kC)102 438.6 S +(onnection cache size)144.67 438.6 Q 28.78(KC)102 454.8 S +(onnection cache lifetime.)144.67 454.8 Q 33.22(lE)102 471 S .333 +(nable Errors-T)144.11 471 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 471 R +(vide back compatibility with old v)138 483 Q(ersions of)-.15 E F2(sendmail)2.5 +E F1(.)A 28.78(OS)102 499.2 S +(et incoming SMTP daemon options, such as an alternate SMTP port.)143.56 499.2 +Q 31(pP)102 515.4 S(ri)143.56 515.4 Q -.25(va)-.25 G .3 -.15(cy o).25 H +(ptions.).15 E 29.33(RD)102 531.6 S(on')145.22 531.6 Q 2.5(tp)-.18 G +(rune route-addrs.)168.65 531.6 Q 28.78(UU)102 547.8 S(ser database spec.) +145.22 547.8 Q 28.78(VF)102 564 S(allback \231MX\232 host.)143.41 564 Q 28.78 +<7799>102 580.2 S(Best MX\232 handling technique.)142.44 580.2 Q 31(7D)102 +596.4 S 2.5(on)145.22 596.4 S(ot run eight bit clean.)157.72 596.4 Q 31(8E)102 +612.6 S(ight bit data handling mode.)144.11 612.6 Q F0 2.5(7.20. Extended)87 +636.6 R(Options)2.5 E F1(The)127 652.8 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 664.8 Q +F0 2.5(7.21. New)87 688.8 R(Mailer Flags)2.5 E F1(Se)127 705 Q -.15(ve)-.25 G +(ral ne).15 E 2.5(wm)-.25 G(ailer \215ags ha)185.78 705 Q .3 -.15(ve b)-.2 H +(een added.).15 E EP +%%Page: 62 57 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-62 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 31.56(aT)102 96 +S .636(ry to use ESMTP when creating a connection.)143.76 96 R .636 +(If this is not set,)5.636 F/F2 10/Times-Italic@0 SF(sendmail)3.136 E F1 .636 +(will still try if)3.136 F .221(the other end hints that it kno)138 108 R .22 +(ws about ESMTP in its greeting message; this \215ag says to try)-.25 F -2.15 +-.25(ev e)138 120 T 2.595(ni).25 G 2.595(fi)161.855 120 S 2.595(td)170.56 120 S +(oesn')180.935 120 Q 2.595(th)-.18 G 2.595(int. If)212.79 120 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 132 Q(.) +-1.11 E 28.78(AT)102 148.2 S +(ry the user part of addresses for this mailer as aliases.)143.76 148.2 Q 31 +(bE)102 164.4 S(nsure that there is a blank line at the end of all messages.) +144.11 164.4 Q 31.56(cS)102 180.6 S .68(trip all comments from addresses; this\ + should only be used as a last resort when dealing)143.56 180.6 R(with crank) +138 192.6 Q 2.5(ym)-.15 G(ailers.)195.62 192.6 Q 31(gN)102 208.8 S -2.15 -.25 +(ev e)145.22 208.8 T 2.64(ru).25 G .14(se the null sender as the en)169.67 +208.8 R -.15(ve)-.4 G .141(lope sender).15 F 2.641(,e)-.4 G -.15(ve)341.495 +208.8 S 2.641(nw).15 G .141(hen running SMTP)365.646 208.8 R 5.141(.A)-1.11 G +.141(lthough this)456.349 208.8 R 1.521(violates RFC 1123, it may be necessary\ + when you must deal with some obnoxious old)138 220.8 R(hosts.)138 232.8 Q 31 +(kT)102 249 S(urn of)143.66 249 Q 2.5(ft)-.25 G +(he loopback check in the HELO protocol; doing this may cause mailer loops.) +176.18 249 Q 31(oA)102 265.2 S -.1(lwa)145.22 265.2 S +(ys run the mailer as the recipient of the message.).1 E 28.78(wT)102 281.4 S +(his user should ha)144.11 281.4 Q .3 -.15(ve a p)-.2 H(asswd \214le entry).15 +E(.)-.65 E 31(5T)102 297.6 S(ry ruleset 5 if no local aliases.)143.76 297.6 Q +31(7S)102 313.8 S(trip all output to 7 bits.)143.56 313.8 Q 33.22(:C)102 330 S +(heck for :include: \214les.)144.67 330 Q 34(|C)102 346.2 S +(heck for |program addresses.)144.67 346.2 Q 33.22(/C)102 362.4 S +(heck for /\214le addresses.)144.67 362.4 Q 26.79(@C)102 378.6 S +(heck this user ag)144.67 378.6 Q(ainst the user database.)-.05 E F0 2.5 +(7.22. Long)87 402.6 R(Option Names)2.5 E F1 .856 +(All options can be speci\214ed using long names, and some ne)127 418.8 R 3.356 +(wo)-.25 G .856(ptions can only be speci\214ed)389.476 418.8 R +(with long names.)102 430.8 Q F0 2.5(7.23. New)87 454.8 R(Pr)2.5 E +(e-De\214ned Macr)-.18 E(os)-.18 E F1(The follo)127 471 Q +(wing macros are pre-de\214ned:)-.25 E 23.5($k The)102 487.2 R +(UUCP node name, nominally from)2.5 E F2(uname)2.5 E F1(\(2\) call.)A 20.72 +($m The)102 503.4 R(domain part of our full hostname.)2.5 E 23.5($_ The)102 +519.6 R(RFC 1413-pro)2.5 E(vided sender address.)-.15 E F0 2.5(7.24. New)87 +543.6 R(LHS T)2.5 E(ok)-.92 E(en)-.1 E F1 -1.11(Ve)127 559.8 S 1.376 +(rsion 8 allo)1.11 F(ws)-.25 E F0($@)3.876 E F1 1.376 +(on the Left Hand Side of an \231R\232 line to match zero tok)3.876 F 3.875 +(ens. This)-.1 F(is)3.875 E(intended to be used to match the null input.)102 +571.8 Q F0 2.5(7.25. Bigger)87 595.8 R(Defaults)2.5 E F1 -1.11(Ve)127 612 S +1.283(rsion 8 allo)1.11 F 1.284(ws up to 100 rulesets instead of 30.)-.25 F +1.284(It is recommended that rulesets 0\2559 be)6.284 F(reserv)102 624 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 +640.2 Q .335(The number of queued messages that can be handled at one time has\ + been raised from 600 to)127 656.4 R(1000.)102 668.4 Q F0 2.5(7.26. Differ)87 +692.4 R(ent Default T)-.18 E(uning P)-.92 E(arameters)-.1 E F1 -1.11(Ve)127 +708.6 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 708.6 R .712(recipients more important than the size of t\ +he message \(for small messages\).)102 720.6 R .712(This is reasonable if)5.712 +F 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 +(you are connected with reasonably f)102 96 Q(ast links.)-.1 E F0 2.5(7.27. A) +87 120 R(uto-Quoting in Addr)-.5 E(esses)-.18 E F1(Pre)127 136.2 Q(viously)-.25 +E 2.61(,t)-.65 G .111(he \231Full Name <email address>\232 syntax w)176.77 +136.2 R .111(ould generate incorrect protocol output)-.1 F +(if \231Full Name\232 had special characters such as dot.)102 148.2 Q(This v)5 +E(ersion puts quotes around such names.)-.15 E F0 2.5(7.28. Symbolic)87 172.2 R +(Names On Err)2.5 E(or Mailer)-.18 E F1(Se)127 188.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.29. SMTP)87 212.4 R(VRFY Doesn't Expand)2.5 E F1(Pre)127 228.6 Q 1.438 +(vious v)-.25 F 1.438(ersions of)-.15 F/F2 10/Times-Italic@0 SF(sendmail)3.938 +E F1 1.438(treated VRFY and EXPN the same.)3.938 F 1.437(In this v)6.437 F +1.437(ersion, VRFY)-.15 F(doesn')102 240.6 Q 2.5(te)-.18 G +(xpand aliases or follo)138.05 240.6 Q 2.5(w.)-.25 G(forw)235.84 240.6 Q +(ard \214les.)-.1 E(EXPN still does.)5 E .681 +(As an optimization, if you run with your def)127 256.8 R .682(ault deli)-.1 F +-.15(ve)-.25 G .682(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 +268.8 R 1.582(ard \214les.)-.1 F 1.582(It will chase)6.582 F +(them when it processes the queue.)102 280.8 Q F0 2.5(7.30. [IPC])87 304.8 R +(Mailers Allo)2.5 E 2.5(wM)-.1 G(ultiple Hosts)210.49 304.8 Q F1 .447 +(When an address resolv)127 321 R .448 +(es to a mailer that has \231[IPC]\232 as its \231P)-.15 F .448 +(ath\232, the $@ part \(host name\))-.15 F .138 +(can be a colon-separated list of hosts instead of a single hostname.)102 333 R +.137(This asks)5.137 F F2(sendmail)2.637 E F1 .137(to search the)2.637 F .16 +(list for the \214rst entry that is a)102 345 R -.25(va)-.2 G .16(ilable e).25 +F .161(xactly as though it were an MX record.)-.15 F .161 +(The intent is to route)5.161 F .738(internal traf)102 357 R .738 +(\214c through internal netw)-.25 F .738 +(orks without publishing an MX record to the net.)-.1 F .737(MX e)5.737 F +(xpan-)-.15 E(sion is still done on the indi)102 369 Q(vidual items.)-.25 E F0 +2.5(7.31. Aliases)87 393 R(Extended)2.5 E F1 1.456 +(The implementation has been mer)127 409.2 R 1.457(ged with maps.)-.18 F 1.457 +(Among other things, this supports NIS-)6.457 F(based aliases.)102 421.2 Q F0 +2.5(7.32. P)87 445.2 R(ortability and Security Enhancements)-.2 E F1 2.5(An)127 +461.4 S(umber of internal changes ha)141.72 461.4 Q .3 -.15(ve b)-.2 H +(een made to enhance portability).15 E(.)-.65 E(Se)127 477.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.33. Miscellaneous)87 501.6 R(Changes)2.5 E F2(Sendmail)127 517.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 +534 T 1.647(people using the same program in their .forw)4.947 F 1.646 +(ard \214le are considered dif)-.1 F 1.646(ferent so that)-.25 F +(duplicate elimination doesn')102 546 Q 2.5(td)-.18 G(elete one of them.)225.98 +546 Q(The)127 562.2 Q F2(mailstats)3.18 E F1 .681 +(program prints mailer names and gets the location of the)3.18 F F2 +(sendmail.st)3.181 E F1 .681(\214le from)3.181 F F2(/etc/sendmail.cf)102 574.2 +Q F1(.)A(Man)127 590.4 Q 2.5(ym)-.15 G(inor b)160.46 590.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 606.6 +S(ook \(ruleset 5\) has been added to allo)141.72 606.6 Q 2.5(wr)-.25 G -.25 +(ew)304.21 606.6 S(riting of local addresses after aliasing.).25 E F0 2.5(8. A) +72 630.6 R(CKNO)-.55 E(WLEDGEMENTS)-.5 E F1(I')112 646.8 Q 2.037 -.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.502 646.8 R 4.237(ye)-.15 G(mplo) +339.763 646.8 Q 1.737(yers ha)-.1 F 2.037 -.15(ve b)-.2 H 1.737 +(een remarkably patient).15 F .403(about letting me w)87 658.8 R .403 +(ork on a lar)-.1 F .403(ge project that w)-.18 F .404(as not part of my of)-.1 +F .404(\214cial job)-.25 F 5.404(.T)-.4 G .404(his includes time on the)407.384 +658.8 R .282(INGRES Project at the Uni)87 670.8 R -.15(ve)-.25 G .282 +(rsity of California at Berk).15 F(ele)-.1 E 1.582 -.65(y, a)-.15 H 2.782(tB) +.65 G .282(ritton Lee, and ag)348.21 670.8 R .281(ain on the Mammoth)-.05 F +(and T)87 682.8 Q(itan Projects at Berk)-.35 E(ele)-.1 E -.65(y.)-.15 G .453 +(Much of the second w)112 699 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 711 R F2(sendmail)3.281 +E F1 3.281(Iw)3.281 G .781(as inspired to start w)274.741 711 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 723 Q -.25(va)-.2 G(ilable to bounce ideas of).25 E 2.5(fo)-.25 G +(f.)227.38 723 Q EP +%%Page: 64 59 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-64 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(Man)112 96 Q +2.856 -.65(y, m)-.15 H(an).65 E 4.056(yp)-.15 G 1.556(eople contrib)172.212 96 +R 1.556(uted chunks of code and ideas to)-.2 F/F2 10/Times-Italic@0 SF +(sendmail)4.056 E F1 6.556(.I)C 4.056(th)418.476 96 S 1.557(as pro)430.312 96 R +-.15(ve)-.15 G 4.057(nt).15 G 4.057(ob)477.006 96 S 4.057(ea)491.063 96 S .464 +(group netw)87 108 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 120 Q +(utions:)-.2 E(John Beck, He)127 136.2 Q(wlett-P)-.25 E(ackard)-.15 E -.25(Ke) +127 148.2 S(ith Bostic, CSRG, Uni).25 E -.15(ve)-.25 G +(rsity of California, Berk).15 E(ele)-.1 E(y)-.15 E(Andre)127 160.2 Q 2.5(wC) +-.25 G(heng, Sun Microsystems)168.13 160.2 Q(Michael J. Corrig)127 172.2 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 184.2 Q -.15(Pa) +127 196.2 S -.5(..)132.298 190.2 S 2.5(r\()136.85 196.2 S(Pell\) Emanuelsson) +146.01 196.2 Q(Craig Ev)127 208.2 Q(erhart, T)-.15 E(ransarc Corporation)-.35 E +-.8(To)127 220.2 S 2.5(mI).8 G -.25(va)150.92 220.2 S 2.5(rH).25 G +(elbekkmo, Norwe)173.16 220.2 Q(gian School of Economics)-.15 E +(Allan E. Johannesen, WPI)127 232.2 Q(Jonathan Kamens, OpenV)127 244.2 Q +(ision T)-.6 E(echnologies, Inc.)-.7 E -.8(Ta)127 256.2 S +(kahiro Kanbe, Fuji Xerox Information Systems Co., Ltd.).8 E(Brian Kantor)127 +268.2 Q 2.5(,U)-.4 G(ni)191.31 268.2 Q -.15(ve)-.25 G +(rsity of California, San Die).15 E(go)-.15 E(Murray S. K)127 280.2 Q(uchera) +-.15 E(wy)-.15 E 2.5(,H)-.65 G(ookUp Communication Corp.)227.41 280.2 Q +(Bruce Lilly)127 292.2 Q 2.5(,S)-.65 G(on)182.74 292.2 Q 2.5(yU)-.15 G(.S.) +207.31 292.2 Q(Karl London)127 304.2 Q(Motonori Nakamura, Ritsumeikan Uni)127 +316.2 Q -.15(ve)-.25 G(rsity & K).15 E(yoto Uni)-.25 E -.15(ve)-.25 G(rsity).15 +E(John Gardiner Myers, Carne)127 328.2 Q(gie Mellon Uni)-.15 E -.15(ve)-.25 G +(rsity).15 E(Neil Rick)127 340.2 Q(ert, Northern Illinois Uni)-.1 E -.15(ve) +-.25 G(rsity).15 E(Eric Schnoebelen, Con)127 352.2 Q .3 -.15(vex C)-.4 H +(omputer Corp.).15 E(Eric W)127 364.2 Q(assenaar)-.8 E 2.5(,N)-.4 G +(ational Institute for Nuclear and High Ener)200.49 364.2 Q(gy Ph)-.18 E +(ysics, Amsterdam)-.05 E(Christophe W)127 376.2 Q(olfhugel, P)-.8 E +(asteur Institute & Herv)-.15 E 2.5(eS)-.15 G(chauer Consultants \(P)330.05 +376.2 Q(aris\))-.15 E 3.219(Ia)87 392.4 S .719(pologize for an)97.989 392.4 R +.719(yone I ha)-.15 F 1.019 -.15(ve o)-.2 H .719(mitted, misspelled, misattrib) +.15 F .719(uted, or otherwise missed.)-.2 F .72(At this point, I)5.72 F 1.093 +(suspect that at least a hundred people ha)87 404.4 R 1.393 -.15(ve c)-.2 H +(ontrib).15 E 1.093(uted code, and man)-.2 F 3.592(ym)-.15 G 1.092(ore ha) +393.524 404.4 R 1.392 -.15(ve c)-.2 H(ontrib).15 E 1.092(uted ideas,)-.2 F +1.533(comments, and encouragement.)87 416.4 R(I')6.534 E 1.834 -.15(ve t)-.5 H +1.534(ried to list them in the RELEASE_NO).15 F 1.534(TES in the distrib)-.4 F +(ution)-.2 E(directory)87 428.4 Q 5(.I)-.65 G(appreciate their contrib)135.78 +428.4 Q(ution as well.)-.2 E .743(Special thanks are reserv)112 444.6 R .743 +(ed for Michael Corrig)-.15 F .742(an and Christophe W)-.05 F .742 +(olfhugel, who besides being)-.8 F -.1(wo)87 456.6 S 5.714 +(nderful guinea pigs and contrib).1 F 5.714(utors ha)-.2 F 6.015 -.15(ve a)-.2 +H 5.715(lso consented to be added to the `).15 F(`send-)-.74 E(mail@CS.Berk)87 +468.6 Q(ele)-.1 E -.65(y.)-.15 G(EDU').65 E 3.335('l)-.74 G .835 +(ist and, by answering the b)199.005 468.6 R .835 +(ulk of the questions sent to that list, ha)-.2 F 1.134 -.15(ve f)-.2 H(reed) +.15 E(me up to do other w)87 480.6 Q(ork.)-.1 E EP +%%Page: 65 60 +%%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 8.06(a\207 `)184 257.4 R -.8(`A)-.74 G +(rpanet').8 E 2.5('m)-.74 G(ode \(get en)257.53 257.4 Q -.15(ve)-.4 G +(lope sender information from header\)).15 E 15(dR)184 269.4 S(un as a daemon) +210.67 269.4 Q 17.22(tR)184 281.4 S(un in test mode)210.67 281.4 Q 15(vJ)184 +293.4 S(ust v)207.89 293.4 Q(erify addresses, don')-.15 E 2.5(tc)-.18 G +(ollect or deli)319.48 293.4 Q -.15(ve)-.25 G(r).15 E 17.22(iI)184 305.4 S +(nitialize the alias database)207.33 305.4 Q 15(pP)184 317.4 S +(rint the mail queue)209.56 317.4 Q<ad42>72 337.8 Q F2(type)A F1 +(Indicate body type.)144 337.8 Q<ad43>72 354 Q F2(\214le)A F1 .946(Use a dif) +144 354 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 366 Q<ad64>72 382.2 Q F2(le)A(vel)-.15 E +F1(Set deb)144 382.2 Q(ugging le)-.2 E -.15(ve)-.25 G(l.).15 E<ad66>72 398.4 Q +F2(addr)2.5 E F1(The sender')144 398.4 Q 2.5(sm)-.55 G(achine address is)205.1 +398.4 Q F2(addr)2.5 E F1(.)A<ad46>72 414.6 Q F2(name)A F1 +(Sets the full name of this user to)144 414.6 Q F2(name)2.5 E F1(.)A<ad68>72 +430.8 Q F2(cnt)2.5 E F1 .726(Sets the \231hop count\232 to)144 430.8 R F2(cnt) +3.226 E F1 5.725(.T)C .725 +(his represents the number of times this message has been)269.455 430.8 R .02 +(processed by)144 442.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 454.8 R F2(sendmail)4.02 E F1(thro)144 466.8 Q(ws a)-.25 E -.1(wa)-.15 G +2.5(yt).1 G(he message with an error)199.6 466.8 Q(.)-.55 E 58.86(\255n Don')72 +483 R 2.5(td)-.18 G 2.5(oa)174.65 483 S(liasing or forw)186.59 483 Q(arding.) +-.1 E<ad72>72 499.2 Q F2(addr)2.5 E F1(An obsolete form of)144 499.2 Q/F3 10 +/Times-Bold@0 SF<ad66>2.5 E F1(.)A<ad6f>72 515.4 Q F2 1.666(xv)C(alue)-1.666 E +F1(Set option)144 515.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 Section 5.6.)292.6 515.4 Q<ad4f>72 +531.6 Q F2(option)A F3(=)A F2(value)A F1(Set)6.22 E F2(option)5.173 E F1 2.674 +(to the speci\214ed)5.173 F F2(value)5.174 E F1 2.674 +(\(for long form option names\).)5.174 F 2.674(These options are)7.674 F +(described in Section 5.6.)144 543.6 Q<ad4d>72 559.8 Q F2 1.666(xv)C 27.204 +(alue Set)-1.666 F(macr)2.5 E 2.5(oxt)-.45 G 2.5(ot)196.04 559.8 S +(he speci\214ed value)206.32 559.8 Q(.)-.15 E F1<ad70>72 576 Q F2(pr)A(otocol) +-.45 E F1 .401(Set the sending protocol.)144 576 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 588 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 588 Q 2.147(\231\255pUUCP:uunet\232 sets\ + the sending protocol to UUCP and the sending host to uunet.)144 600 R .973 +(\(Some e)144 612 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 624 Q<ad71>72 640.2 Q F2 +(time)A F1 -.35(Tr)144 640.2 S 3.168(yt).35 G 3.167(op)164.038 640.2 S .667 +(rocess the queued up mail.)177.205 640.2 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 652.2 Q(al to deli)-.25 E -.15(ve) +-.25 G 2.5(rq).15 G(ueued mail; otherwise, it only runs once.)310.82 652.2 Q +<ad71>72 668.4 Q F2(Xstring)A F1 .312 +(Run the queue once, limiting the jobs to those matching)144 668.4 R F2 +(Xstring)2.813 E F1 5.313(.T)C .313(he k)416.325 668.4 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 680.4 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 .32 LW 76 690 72 690 DL 80 690 76 690 DL 84 690 80 690 DL 88 690 84 690 +DL 92 690 88 690 DL 96 690 92 690 DL 100 690 96 690 DL 104 690 100 690 DL 108 +690 104 690 DL 112 690 108 690 DL 116 690 112 690 DL 120 690 116 690 DL 124 690 +120 690 DL 128 690 124 690 DL 132 690 128 690 DL 136 690 132 690 DL 140 690 136 +690 DL 144 690 140 690 DL 148 690 144 690 DL 152 690 148 690 DL 156 690 152 690 +DL 160 690 156 690 DL 164 690 160 690 DL 168 690 164 690 DL 172 690 168 690 DL +176 690 172 690 DL 180 690 176 690 DL 184 690 180 690 DL 188 690 184 690 DL 192 +690 188 690 DL 196 690 192 690 DL 200 690 196 690 DL 204 690 200 690 DL 208 690 +204 690 DL 212 690 208 690 DL 216 690 212 690 DL/F4 8/Times-Roman@0 SF +(\207Deprecated.)93.6 702 Q F3(Sendmail Installation and Operation Guide)72 756 +Q(SMM:08-65)452.9 756 Q EP +%%Page: 66 61 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-66 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF(sender)144 96 Q +6.053(.A)-.55 G 1.054 +(particular queued job is accepted if one of the corresponding addresses con-) +188.876 96 R(tains the indicated)144 108 Q/F2 10/Times-Italic@0 SF(string)2.5 E +F1(.)A 61.08(\255t Read)72 124.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 136.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 136.2 R .04(gument v)-.18 F(ec-)-.15 E +(tor will be deleted from the send list.)144 148.2 Q<ad58>72 164.4 Q F2(lo)3.18 +E(g\214le)-.1 E F1 .68(Log all traf)144.68 164.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 +176.4 R(produces a lot of data v)2.5 E +(ery quickly and should be used sparingly)-.15 E(.)-.65 E .637 +(There are a number of options that may be speci\214ed as primiti)97 192.6 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 204.6 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: 67 62 +%%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 31(qT)72 313.8 S +(he queue control \214le.)114.11 313.8 Q +(This \214le contains the information necessary to process the job)5 E(.)-.4 E +33.22(tA)72 330 S .345(temporary \214le.)118.065 330 R .344 +(These are an image of the)5.345 F F2(qf)2.844 E F1 .344 +(\214le when it is being reb)2.844 F 2.844(uilt. It)-.2 F .344 +(should be renamed)2.844 F(to a)108 342 Q F2(qf)2.5 E F1(\214le v)2.5 E +(ery quickly)-.15 E(.)-.65 E 31(xA)72 358.2 S .566(transcript \214le, e)118.286 +358.2 R .567(xisting during the life of a session sho)-.15 F .567(wing e)-.25 F +-.15(ve)-.25 G .567(rything that happens during that).15 F(session.)108 370.2 Q +(The)97 386.4 Q F2(qf)3.334 E F1 .834 +(\214le is structured as a series of lines each be)3.334 F .833 +(ginning with a code letter)-.15 F 5.833(.T)-.55 G .833(he lines are as fol-) +427.358 386.4 R(lo)72 398.4 Q(ws:)-.25 E 28.78(VT)72 414.6 S .819(he v)114.11 +414.6 R .819(ersion number of the queue \214le format, used to allo)-.15 F 3.32 +(wn)-.25 G -.25(ew)359.35 414.6 S F3(sendmail)3.57 E F1 .82 +(binaries to read queue)3.32 F .004(\214les created by older v)108 426.6 R +2.504(ersions. Def)-.15 F .004(aults to v)-.1 F .004(ersion zero.)-.15 F .004 +(Must be the \214rst line of the \214le if present.)5.004 F 28.78(HA)72 442.8 S +.329(header de\214nition.)118.049 442.8 R .329(There may be an)5.329 F 2.829 +(yn)-.15 G .329(umber of these lines.)274.283 442.8 R .33 +(The order is important: the)5.33 F 2.83(yr)-.15 G(epre-)483.46 442.8 Q .046 +(sent the order in the \214nal message.)108 454.8 R .046 +(These use the same syntax as header de\214nitions in the con\214gu-)5.046 F +(ration \214le.)108 466.8 Q 29.33(CT)72 483 S .575(he controlling address.) +114.11 483 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 495 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 .561(/etc/passwd \214le\);)108 507 R F3 +(aliasname)3.061 E F1 .561(is the name of the alias that e)3.061 F .562 +(xpanded to this address \(used for print-)-.15 F(ing messages\).)108 519 Q +28.78(QT)72 535.2 S .798(he `)114.11 535.2 R .798(`original recipient')-.74 F +.798(', speci\214ed by the ORCPT= \214eld in an ESMTP transaction.)-.74 F .797 +(Used e)5.797 F(xclu-)-.15 E(si)108 547.2 Q -.15(ve)-.25 G(ly for Deli).15 E +-.15(ve)-.25 G(ry Status Noti\214cations.).15 E +(It applies only to the immediately follo)5 E(wing `R' line.)-.25 E 29.33(RA)72 +563.4 S .705(recipient address.)118.425 563.4 R .705 +(This will normally be completely aliased, b)5.705 F .705 +(ut is actually realiased when the)-.2 F .493(job is processed.)108 575.4 R +.492(There will be one line for each recipient.)5.493 F -1.11(Ve)5.492 G .492 +(rsion 1 qf \214les also include a lead-)1.11 F .689(ing colon-terminated list\ + of \215ags, which can be `S' to return a message on successful \214nal deli) +108 587.4 R(v-)-.25 E(ery)108 599.4 Q 3.328(,`)-.65 G .828 +(F' to return a message on f)129.278 599.4 R .828 +(ailure, `D' to return a message if the message is delayed, `B' to)-.1 F .94 +(indicate that the body should be returned, `N' to suppress returning the body) +108 611.4 R 3.441(,a)-.65 G .941(nd `P' to declare)434.807 611.4 R(this as a `) +108 623.4 Q(`primary')-.74 E 2.5('\()-.74 G +(command line or SMTP-session\) address.)192.05 623.4 Q 30.44(ST)72 639.6 S +(he sender address.)114.11 639.6 Q(There may only be one of these lines.)5 E +29.89(TT)72 655.8 S(he job creation time.)114.11 655.8 Q +(This is used to compute when to time out the job)5 E(.)-.4 E 30.44(PT)72 672 S +.114(he current message priority)114.11 672 R 5.114(.T)-.65 G .113 +(his is used to order the queue.)236.666 672 R .113(Higher numbers mean lo) +5.113 F .113(wer priori-)-.25 F 3.676(ties. The)108 684 R 1.176 +(priority changes as the message sits in the queue.)3.676 F 1.177 +(The initial priority depends on the)6.176 F +(message class and the size of the message.)108 696 Q 27.11(MA)72 712.2 S 2.704 +(message. This)117.924 712.2 R .204(line is printed by the)2.704 F F3(mailq) +2.704 E F1 .203(command, and is generally used to store status infor)2.704 F(-) +-.2 E 2.5(mation. It)108 724.2 R(can contain an)2.5 E 2.5(yt)-.15 G -.15(ex) +219.78 724.2 S(t.).15 E F2(Sendmail Installation and Operation Guide)72 756 Q +(SMM:08-67)452.9 756 Q EP +%%Page: 68 63 +%%BeginPageSetup +BP +%%EndPageSetup +/F0 10/Times-Bold@0 SF 193.36(SMM:08-68 Sendmail)72 60 R +(Installation and Operation Guide)2.5 E/F1 10/Times-Roman@0 SF 30.44(FF)72 96 S +.043(lag bits, represented as one letter per \215ag.)113.56 96 R .043 +(De\214ned \215ag bits are)5.043 F F0(r)2.543 E F1 .044 +(indicating that this is a response)2.544 F .143(message and)108 108 R F0(w) +2.643 E F1 .143(indicating that a w)2.643 F .142 +(arning message has been sent announcing that the mail has been)-.1 F(delayed.) +108 120 Q 28.78(NT)72 136.2 S(he total number of deli)114.11 136.2 Q -.15(ve) +-.25 G(ry attempts.).15 E 28.78(KT)72 152.4 S +(he time \(as seconds since January 1, 1970\) of the last deli)114.11 152.4 Q +-.15(ve)-.25 G(ry attempt.).15 E 32.67(IT)72 168.6 S .724 +(he i-number of the data \214le; this can be used to reco)114.11 168.6 R -.15 +(ve)-.15 G 3.225(ry).15 G .725(our mail queue after a disastrous disk)350.23 +168.6 R(crash.)108 180.6 Q 31($A)72 196.8 S .83(macro de\214nition.)118.55 +196.8 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 196.8 R +(through to the queue run phase.)108 208.8 Q 29.33(BT)72 225 S .924 +(he body type.)114.11 225 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 237 R(Le)5.008 E -.05(ga)-.15 G(l).05 E -.25(va) +108 249 S(lues are \2317BIT\232 and \2318BITMIME\232.).25 E 28.78(OT)72 265.2 S +(he original MTS v)114.11 265.2 Q(alue \(from the ESMTP transaction\).)-.25 E +-.15(Fo)5 G 2.5(rD).15 G(eli)359.52 265.2 Q -.15(ve)-.25 G 2.5(rS).15 G +(tatus Noti\214cations only)389.95 265.2 Q(.)-.65 E 29.89(ZT)72 281.4 S +(he original en)114.11 281.4 Q -.15(ve)-.4 G +(lope id \(from the ESMTP transaction\).).15 E -.15(Fo)5 G 2.5(rD).15 G(eli) +360.88 281.4 Q -.15(ve)-.25 G 2.5(rS).15 G(tatus Noti\214cations only)391.31 +281.4 Q(.)-.65 E 4.072(As an e)97 297.6 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 311.6 Q(eef)-.1 E(fe.CS.Berk) +-.25 E(ele)-.1 E -.65(y.)-.15 G(EDU\232).65 E/F2 7/Times-Roman@0 SF(1)219.09 +307.6 Q F1(:)222.59 311.6 Q(P835771)112 327.8 Q(T404261372)112 339.8 Q(Seric) +112 351.8 Q(Ceric:sendmail@v)112 363.8 Q(angogh.CS.Berk)-.25 E(ele)-.1 E -.65 +(y.)-.15 G(EDU).65 E(Reric@mammoth.Berk)112 375.8 Q(ele)-.1 E -.65(y.)-.15 G +(EDU).65 E(Rbostic@ok)112 387.8 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 399.8 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 +411.8 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 +423.8 Q(Hrecei)112 435.8 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 447.8 Q +(Hrecei)112 459.8 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 471.8 Q(Hrecei)112 483.8 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 495.8 Q(H?F?from: eric@foo.bar)112 +507.8 Q(.baz.de \(Eric Allman\))-.55 E(H?x?full-name: Eric Allman)112 519.8 Q +(Hmessage-id: <9207170931.AA22757@foo.bar)112 531.8 Q(.baz.de>)-.55 E(HT)112 +543.8 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 555.8 Q(xample message)-.15 E .657(This sho)72 +572 R .658(ws the person who sent the message, the submission time \(in second\ +s since January 1, 1970\), the)-.25 F(message priority)72 584 Q 2.5(,t)-.65 G +(he message class, the recipients, and the headers for the message.)145.51 584 +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/F3 5/Times-Roman@0 SF(1)93.6 +679.6 Q/F4 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: 69 64 +%%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.52(This is a summary of the support \214les that)97 +201 R/F2 10/Times-Italic@0 SF(sendmail)4.019 E F1 1.519(creates or generates.) +4.019 F(Man)6.519 E 4.019(yo)-.15 G 4.019(ft)444.743 201 S 1.519(hese can be) +454.872 201 R(changed by editing the sendmail.cf \214le; check there to \214nd\ + the actual 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.734(Al)144 269.4 S 1.235 +(ink to /usr/sbin/sendmail; causes the alias database to be reb)157.734 269.4 R +3.735(uilt. Running)-.2 F 1.235(this pro-)3.735 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.703(al)3.703 G 1.203 +(isting of the mail queue.)181.966 297.6 R 1.202(This program is equi)6.203 F +-.25(va)-.25 G 1.202(lent to using the).25 F F3(\255bp)3.702 E F1 1.202 +(\215ag to)3.702 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 .338(use this in scripts; use `)144 398.4 R .338 +(`head \2551')-.74 F 2.838('t)-.74 G 2.838(og)285.786 398.4 S .338 +(et just the \214rst line; later v)298.624 398.4 R .337(ersions of)-.15 F F2 +(sendmail)2.837 E F1(may)2.837 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 +(Sendmail Installation and Operation Guide)72 756 Q(SMM:08-69)452.9 756 Q EP +%%Page: 2 65 +%%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 66 +%%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. T)102 153.6 R(weaking the Mak)-.8 E 1.64(\ +e\214le ......................................................................\ +...........................)-.1 F(7)499 153.6 Q 2.5(1.1.2. Compilation)102 168 +R(and installation)2.5 E 28.5(................................................\ +........................................ 8)4.6 F 2.5(1.2. Con\214guration)87 +182.4 R .99(Files ............................................................\ +....................................................)2.5 F(8)499 182.4 Q 2.5 +(1.3. Details)87 196.8 R(of Installation Files)2.5 E 28.5(....................\ +..............................................................................\ +. 9)4.89 F 2.5(1.3.1. /usr/sbin/sendmail)102 211.2 R 28.5(....................\ +..............................................................................\ +....... 9)2.66 F 2.5(1.3.2. /etc/sendmail.cf)102 225.6 R 28.5(................\ +..............................................................................\ +.............. 9)4.9 F 2.5(1.3.3. /usr/bin/ne)102 240 R -.1(wa)-.25 G 2.19(lia\ +ses ..........................................................................\ +.............................).1 F(10)494 240 Q 2.5(1.3.4. /v)102 254.4 R 1.81 +(ar/spool/mqueue .............................................................\ +...........................................)-.25 F(10)494 254.4 Q 2.5 +(1.3.5. /etc/aliases*)102 268.8 R 23.5(.......................................\ +........................................................................... 10) +4.62 F 2.5(1.3.6. /etc/rc)102 283.2 R 23.5(...................................\ +..............................................................................\ +........... 10)3.51 F 2.5(1.3.7. /usr/lib/sendmail.hf)102 297.6 R 23.5(.......\ +..............................................................................\ +.................. 11)2.94 F 2.5(1.3.8. /etc/sendmail.st)102 312 R 23.5(......\ +..............................................................................\ +......................... 11)3.5 F 2.5(1.3.9. /usr/bin/mailq)102 326.4 R 23.5(\ +..............................................................................\ +................................. 11)4.88 F 2.5(2. NORMAL)72 340.8 R(OPERA)2.5 +E 1.56(TIONS .................................................................\ +............................................)-1.11 F(11)494 340.8 Q 2.5 +(2.1. The)87 355.2 R(System Log)2.5 E 23.5(...................................\ +..............................................................................\ +... 11)4.89 F 2.5(2.1.1. F)102 369.6 R 2.26(ormat ............................\ +..............................................................................\ +................)-.15 F(11)494 369.6 Q 2.5(2.1.2. Le)102 384 R -.15(ve)-.25 G +2.24(ls ......................................................................\ +.....................................................).15 F(13)494 384 Q 2.5 +(2.2. Dumping)87 398.4 R .72(State ...........................................\ +............................................................................) +2.5 F(13)494 398.4 Q 2.5(2.3. The)87 412.8 R(Mail Queue)2.5 E 23.5(...........\ +..............................................................................\ +............................ 13)2.96 F 2.5(2.3.1. Printing)102 427.2 R +(the queue)2.5 E 23.5(........................................................\ +................................................. 14)2.67 F 2.5(2.3.2. F)102 +441.6 R(orcing the queue)-.15 E 23.5(.........................................\ +................................................................ 14)3.94 F 2.5 +(2.4. The)87 456 R(Service Switch)2.5 E 23.5(.................................\ +..............................................................................\ +. 14)2.68 F 2.5(2.5. The)87 470.4 R(Alias Database)2.5 E 23.5(................\ +..............................................................................\ +.................. 15)2.69 F 2.5(2.5.1. Reb)102 484.8 R +(uilding the alias database)-.2 E 23.5(.......................................\ +................................................ 16)4.27 F 2.5 +(2.5.2. Potential)102 499.2 R .72(problems ...................................\ +.....................................................................)2.5 F(16) +494 499.2 Q 2.5(2.5.3. List)102 513.6 R -.25(ow)2.5 G 1.81(ners ..............\ +..............................................................................\ +.......................).25 F(16)494 513.6 Q 2.5(2.6. User)87 528 R +(Information Database)2.5 E 23.5(.............................................\ +....................................................... 17)2.7 F 2.5(2.7. Per) +87 542.4 R(-User F)-.2 E(orw)-.15 E(arding \(.forw)-.1 E(ard Files\))-.1 E 23.5 +(.............................................................................\ +...... 17)4.09 F 2.5(2.8. Special)87 556.8 R(Header Lines)2.5 E 23.5(.........\ +..............................................................................\ +...................... 17)2.97 F 2.5(2.8.1. Errors-T)102 571.2 R 2.09(o: .....\ +..............................................................................\ +..................................)-.8 F(17)494 571.2 Q 2.5 +(2.8.2. Apparently-T)102 585.6 R 2.09(o: .....................................\ +........................................................................)-.8 F +(17)494 585.6 Q 2.5(2.8.3. Precedence)102 600 R 23.5(.........................\ +..............................................................................\ +............. 17)2.97 F 2.5(2.9. IDENT)87 614.4 R(Protocol Support)2.5 E 23.5(\ +..............................................................................\ +......................... 18)2.95 F 2.5(3. ARGUMENTS)72 628.8 R 23.5(.........\ +..............................................................................\ +........................................ 18)3.78 F 2.5(3.1. Queue)87 643.2 R +(Interv)2.5 E 1.55(al ........................................................\ +...............................................................)-.25 F(18)494 +643.2 Q 2.5(3.2. Daemon)87 657.6 R 1.29(Mode .................................\ +..............................................................................\ +........)2.5 F(18)494 657.6 Q 2.5(3.3. F)87 672 R(orcing the Queue)-.15 E 23.5 +(.............................................................................\ +.................................... 19)4.22 F 2.5(3.4. Deb)87 686.4 R 1.76(ug\ +ging .........................................................................\ +....................................................)-.2 F(19)494 686.4 Q 2.5 +(3.5. Changing)87 700.8 R(the V)2.5 E(alues of Options)-1.11 E 23.5(..........\ +..............................................................................\ +.... 19)3.23 F 2.5(3.6. T)87 715.2 R(rying a Dif)-.35 E +(ferent Con\214guration File)-.25 E 23.5(.....................................\ +.............................................. 20)4.67 F EP +%%Page: 4 67 +%%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(20)494 96 Q 2.5(3.8. T)87 110.4 R +(esting Con\214guration Files)-.7 E 23.5(.....................................\ +.............................................................. 20)4.19 F 2.5 +(4. TUNING)72 124.8 R 23.5(...................................................\ +..............................................................................\ +........ 21)2.68 F 2.5(4.1. T)87 139.2 R 1.07(imeouts ........................\ +..............................................................................\ +..........................)-.35 F(21)494 139.2 Q 2.5(4.1.1. Queue)102 153.6 R +(interv)2.5 E 2.1(al .........................................................\ +.....................................................)-.25 F(21)494 153.6 Q 2.5 +(4.1.2. Read)102 168 R 1(timeouts ............................................\ +...................................................................)2.5 F(21) +494 168 Q 2.5(4.1.3. Message)102 182.4 R 1.56(timeouts .......................\ +..............................................................................\ +....)2.5 F(22)494 182.4 Q 2.5(4.2. F)87 196.8 R(orking During Queue Runs)-.15 E +23.5(.........................................................................\ +........................ 23)4.49 F 2.5(4.3. Queue)87 211.2 R .73(Priorities ..\ +..............................................................................\ +.....................................)2.5 F(23)494 211.2 Q 2.5(4.4. Load)87 +225.6 R .44(Limiting .........................................................\ +...............................................................)2.5 F(24)494 +225.6 Q 2.5(4.5. Deli)87 240 R -.15(ve)-.25 G(ry Mode).15 E 23.5(.............\ +..............................................................................\ +............................ 24)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(................................................\ +..............................................................................\ + 24)153 254.4 R 2.5(4.7. File)87 268.8 R .72(Modes ...........................\ +..............................................................................\ +....................)2.5 F(25)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(......................................\ +........................................................... 25)6.52 F 2.5 +(4.7.2. Should)102 297.6 R(my alias database be writable?)2.5 E 23.5 +(........................................................................ 25) +5.47 F 2.5(4.8. Connection)87 312 R 1.56(Caching .............................\ +..............................................................................\ +...)2.5 F(25)494 312 Q 2.5(4.9. Name)87 326.4 R(Serv)2.5 E(er Access)-.15 E +23.5(.........................................................................\ +..................................... 26)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(...........\ +......................................................................... 27) +3.84 F 2.5(4.11. Free)87 355.2 R 1.85(Space ..................................\ +..............................................................................\ +...........)2.5 F(27)494 355.2 Q 2.5(4.12. Maximum)87 369.6 R(Message Size)2.5 +E 23.5(.......................................................................\ +.............................. 27)4.62 F 2.5(4.13. Pri)87 384 R -.25(va)-.25 G +.3 -.15(cy F).25 H 1.93(lags .................................................\ +......................................................................).15 F +(27)494 384 Q 2.5(4.14. Send)87 398.4 R(to Me T)2.5 E 2.08(oo ................\ +..............................................................................\ +.....................)-.8 F(27)494 398.4 Q 2.5(5. THE)72 412.8 R +(WHOLE SCOOP ON THE CONFIGURA)2.5 E(TION FILE)-1.11 E 23.5 +(........................................................ 28)4.64 F 2.5(5.1. R) +87 427.2 R(and S \212 Re)2.5 E(writing Rules)-.25 E 23.5(.....................\ +............................................................................. \ +28)4.3 F 2.5(5.1.1. The)102 441.6 R(left hand side)2.5 E 23.5(................\ +..............................................................................\ +........... 28)4.07 F 2.5(5.1.2. The)102 456 R(right hand side)2.5 E 23.5(....\ +..............................................................................\ +..................... 29)3.51 F 2.5(5.1.3. Semantics)102 470.4 R(of re)2.5 E +(writing rule sets)-.25 E 23.5(...............................................\ +.................................... 30)4.6 F 2.5(5.1.4. IPC)102 484.8 R 1(mai\ +lers .........................................................................\ +..........................................)2.5 F(31)494 484.8 Q 2.5(5.2. D)87 +499.2 R 2.5<8a44>2.5 G(e\214ne Macro)136.44 499.2 Q 23.5(.....................\ +..............................................................................\ +............. 31)3.52 F 2.5(5.3. C)87 513.6 R(and F \212 De\214ne Classes)2.5 E +23.5(.........................................................................\ +............................ 34)2.67 F 2.5(5.4. M)87 528 R 2.5<8a44>2.5 G +(e\214ne Mailer)138.11 528 Q 23.5(............................................\ +................................................................... 35)3.79 F +2.5(5.5. H)87 542.4 R 2.5<8a44>2.5 G(e\214ne Header)136.44 542.4 Q 23.5(......\ +..............................................................................\ +........................... 38)3.25 F 2.5(5.6. O)87 556.8 R 2.5<8a53>2.5 G +(et Option)134.78 556.8 Q 23.5(...............................................\ +...................................................................... 38)3.22 +F 2.5(5.7. P)87 571.2 R 2.5<8a50>2.5 G(recedence De\214nitions)133.12 571.2 Q +23.5(.........................................................................\ +......................... 46)2.96 F 2.5(5.8. V)87 585.6 R 2.5<8a43>2.5 G +(on\214guration V)135.89 585.6 Q(ersion Le)-1.11 E -.15(ve)-.25 G 2.8(l.).15 G +23.5(.........................................................................\ +............... 46)248 585.6 R 2.5(5.9. K)87 600 R 2.5<8a4b>2.5 G .3 -.15(ey F) +136.19 600 T(ile Declaration).15 E 23.5(......................................\ +............................................................... 47)2.81 F 2.5 +(5.10. The)87 614.4 R(User Database)2.5 E 23.5(...............................\ +..............................................................................\ +. 50)4.92 F 2.5(5.10.1. Structure)102 628.8 R(of the user database)2.5 E 23.5(\ +..............................................................................\ +....... 50)2.7 F 2.5(5.10.2. User)102 643.2 R(database semantics)2.5 E 23.5(..\ +..............................................................................\ +............. 51)3.25 F 2.5(5.10.3. Creating)102 659.6 R(the database)2.5 E/F2 +7/Times-Roman@0 SF(21)220.59 655.6 Q F1 23.5(.................................\ +.............................................................. 51)230.5 659.6 R +2.5(6. O)72 674 R(THER CONFIGURA)-.4 E 1.97(TION .............................\ +............................................................................) +-1.11 F(52)494 674 Q 2.5(6.1. P)87 688.4 R(arameters in src/Mak)-.15 E 1.55(e\ +\214le .......................................................................\ +.............................)-.1 F(52)494 688.4 Q 2.5(6.2. P)87 702.8 R +(arameters in src/conf.h)-.15 E 23.5(.........................................\ +............................................................... 52)4.23 F 2.5 +(6.3. Con\214guration)87 717.2 R(in src/conf.c)2.5 E 23.5(....................\ +..............................................................................\ +.. 55)3.51 F EP +%%Page: 5 68 +%%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(6.3.1. Built-in)102 96 R +(Header Semantics)2.5 E 23.5(.................................................\ +.......................................... 55)4.9 F 2.5(6.3.2. Restricting)102 +110.4 R(Use of Email)2.5 E 23.5(..............................................\ +................................................ 56)4.34 F 2.5(6.3.3. Load)102 +124.8 R -1.17 -.74(Av e)2.5 H(rage Computation).74 E 23.5(....................\ +...................................................................... 57)2.74 +F 2.5(6.3.4. Ne)102 139.2 R 2.5(wD)-.25 G(atabase Map Classes)157.85 139.2 Q +23.5(.........................................................................\ +................ 57)4.89 F 2.5(6.3.5. Queueing)102 153.6 R 1.56(Function .....\ +..............................................................................\ +....................)2.5 F(58)494 153.6 Q 2.5(6.3.6. Refusing)102 168 R +(Incoming SMTP Connections)2.5 E 23.5 +(....................................................................... 58) +2.94 F 2.5(6.3.7. Load)102 182.4 R -1.17 -.74(Av e)2.5 H(rage Computation).74 E +23.5(.........................................................................\ +................. 58)2.74 F 2.5(6.4. Con\214guration)87 196.8 R +(in src/daemon.c)2.5 E 23.5(..................................................\ +............................................ 58)4.62 F 2.5(7. CHANGES)72 211.2 +R(IN VERSION 8)2.5 E 23.5(....................................................\ +...................................................... 59)4.9 F 2.5 +(7.1. Connection)87 225.6 R 1.56(Caching .....................................\ +.........................................................................)2.5 F +(59)494 225.6 Q 2.5(7.2. MX)87 240 R 2.39(Piggybacking .......................\ +..............................................................................\ +............)2.5 F(59)494 240 Q 2.5(7.3. RFC)87 254.4 R(1123 Compliance)2.5 E +23.5(.........................................................................\ +................................. 59)3.77 F 2.5(7.4. Extended)87 268.8 R +(SMTP Support)2.5 E 23.5(.....................................................\ +.................................................. 59)2.94 F 2.5 +(7.5. Eight-Bit)87 283.2 R .44(Clean .........................................\ +.............................................................................) +2.5 F(59)494 283.2 Q 2.5(7.6. User)87 297.6 R .47(Database ...................\ +..............................................................................\ +.......................)2.5 F(59)494 297.6 Q 2.5(7.7. Impro)87 312 R -.15(ve) +-.15 G 2.5(dB).15 G(IND Support)154.75 312 Q 23.5(............................\ +........................................................................... 60) +3.81 F 2.5(7.8. K)87 326.4 R -.15(ey)-.25 G(ed Files).15 E 23.5(..............\ +..............................................................................\ +................................ 60)3.35 F 2.5(7.9. Multi-W)87 340.8 R +(ord Classes)-.8 E 23.5(......................................................\ +......................................................... 60)3.47 F 2.5 +(7.10. Deferred)87 355.2 R(Macro Expansion)2.5 E 23.5(........................\ +......................................................................... 60) +4.65 F 2.5(7.11. IDENT)87 369.6 R(Protocol Support)2.5 E 23.5(................\ +..............................................................................\ +....... 60)2.95 F 2.5(7.12. P)87 384 R(arsing Bug Fix)-.15 E .46(es ..........\ +..............................................................................\ +........................)-.15 F(60)494 384 Q 2.5(7.13. Separate)87 398.4 R(En) +2.5 E -.15(ve)-.4 G(lope/Header Processing).15 E 23.5(........................\ +........................................................ 60)4.37 F 2.5 +(7.14. Owner)87 412.8 R(-List Propag)-.2 E(ates to En)-.05 E -.15(ve)-.4 G 1.27 +(lope ........................................................................\ +............).15 F(60)494 412.8 Q 2.5(7.15. Dynamic)87 427.2 R +(Header Allocation)2.5 E 23.5(................................................\ +................................................ 60)3.25 F 2.5(7.16. Ne)87 +441.6 R 2.5(wC)-.25 G(ommand Line Flags)139.8 441.6 Q 23.5(...................\ +..............................................................................\ +. 60)3.2 F 2.5(7.17. Enhanced)87 456 R(Command Line Flags)2.5 E 23.5(.........\ +..............................................................................\ +.. 61)4.9 F 2.5(7.18. Ne)87 470.4 R 2.5(wa)-.25 G +(nd Old Con\214guration Line T)137.57 470.4 Q .4(ypes ........................\ +......................................................)-.8 F(61)494 470.4 Q 2.5 +(7.19. Ne)87 484.8 R 2.5(wO)-.25 G .7(ptions .................................\ +..............................................................................\ +.........)140.35 484.8 R(61)494 484.8 Q 2.5(7.20. Extended)87 499.2 R 1.56(Opt\ +ions .........................................................................\ +.......................................)2.5 F(61)494 499.2 Q 2.5(7.21. Ne)87 +513.6 R 2.5(wM)-.25 G(ailer Flags)142.02 513.6 Q 23.5(........................\ +..............................................................................\ +.......... 61)4.04 F 2.5(7.22. Long)87 528 R(Option Names)2.5 E 23.5(.........\ +..............................................................................\ +..................... 62)4.34 F 2.5(7.23. Ne)87 542.4 R 2.5(wP)-.25 G +(re-De\214ned Macros)138.69 542.4 Q 23.5(.....................................\ +............................................................... 62)4.06 F 2.5 +(7.24. Ne)87 556.8 R 2.5(wL)-.25 G(HS T)139.24 556.8 Q(ok)-.8 E 1.33(en ......\ +..............................................................................\ +..............................)-.1 F(62)494 556.8 Q 2.5(7.25. Bigger)87 571.2 R +(Def)2.5 E(aults .............................................................\ +.......................................................)-.1 E(62)494 571.2 Q +2.5(7.26. Dif)87 585.6 R(ferent Def)-.25 E(ault T)-.1 E(uning P)-.45 E 1.99(ar\ +ameters ......................................................................\ +............)-.15 F(62)494 585.6 Q 2.5(7.27. Auto-Quoting)87 600 R +(in Addresses)2.5 E 23.5(.....................................................\ +............................................ 63)3.51 F 2.5(7.28. Symbolic)87 +614.4 R(Names On Error Mailer)2.5 E 23.5(.....................................\ +................................................. 63)4.91 F 2.5(7.29. SMTP)87 +628.8 R(VRFY Doesn')2.5 E 2.5(tE)-.18 G 1.18(xpand ...........................\ +.................................................................)209.88 628.8 +R(63)494 628.8 Q 2.5(7.30. [IPC])87 643.2 R(Mailers Allo)2.5 E 2.5(wM)-.25 G +(ultiple Hosts)205.91 643.2 Q 23.5(...........................................\ +........................................ 63)3.75 F 2.5(7.31. Aliases)87 657.6 R +1.29(Extended ................................................................\ +.................................................)2.5 F(63)494 657.6 Q 2.5 +(7.32. Portability)87 672 R(and Security Enhancements)2.5 E 23.5(.............\ +.................................................................. 63)2.68 F +2.5(7.33. Miscellaneous)87 686.4 R 1.29(Changes ..............................\ +.........................................................................)2.5 F +(63)494 686.4 Q 2.5(8. A)72 700.8 R(CKNO)-.4 E .1(WLEDGEMENTS ................\ +..............................................................................\ +..............)-.35 F(63)494 700.8 Q(Appendix A.)72 715.2 Q(COMMAND LINE FLA)5 +E 1.97(GS ....................................................................\ +.....................)-.4 F(65)494 715.2 Q EP +%%Page: 6 69 +%%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(Appendix B.)72 +96 Q -.1(QU)5 G(EUE FILE FORMA).1 E 1.38(TS ..................................\ +..........................................................)-1.11 F(67)494 96 Q +(Appendix C.)72 110.4 Q(SUMMAR)5 E 2.5(YO)-.65 G 2.5(FS)188.85 110.4 S(UPPOR) +202.47 110.4 Q 2.5(TF)-.6 G 1.12(ILES ........................................\ +......................................)248.27 110.4 R(69)494 110.4 Q EP +%%Trailer +end +%%EOF |
