delete OLD_SENDMAIL support
[unix-history] / usr / src / usr.sbin / sendmail / cf / README
CommitLineData
7ace9d88 1
7ace9d88 2
4a51b074 3 NEW SENDMAIL CONFIGURATION FILES
7ace9d88 4
4a51b074 5 Eric Allman <eric@CS.Berkeley.EDU>
7ace9d88 6
f22970ed 7 @(#)README 8.30 (Berkeley) %G%
7ace9d88 8
7ace9d88 9
4a51b074 10This document describes the sendmail configuration files being used
f22970ed
EA
11at Berkeley. These use features in the new (R8) sendmail; they will
12not work on other versions.
4a51b074
EA
13
14These configuration files are probably not as general as previous
6fb312a3 15versions, and don't handle as many of the weird cases automagically.
4a51b074
EA
16I was able to simplify by them for two reasons. First, the network
17has become more consistent -- for example, at this point, everyone
18on the internet is supposed to be running a name server, so hacks to
19handle NIC-registered hosts can go away. Second, I assumed that a
20subdomain would be running SMTP internally -- UUCP is presumed to be
21a long-haul protocol. I realize that this is not universal, but it
22does describe the vast majority of sites with which I am familiar,
23including those outside the US.
24
6fb312a3
EA
25Of course, the downside of this is that if you do live in a weird
26world, things are going to get weirder for you. I'm sorry about that,
4a51b074
EA
27but at the time we at Berkeley had a problem, and it seemed like the
28right thing to do.
29
fd82c288
EA
30This package requires a post-V7 version of m4; if you are running the
314.2bsd, SysV.2, or 7th Edition version, I suggest finding a friend with
32a newer version. You can m4-expand on their system, then run locally.
a7e36c1b
EA
33SunOS's /usr/5bin/m4 or BSD-Net/2's m4 both work. GNU m4 version 1.1
34also works. Unfortunately, I'm told that the M4 on BSDI 1.0 doesn't
35work -- you'll have to use a Net/2 or GNU version.
7ace9d88 36
a33031f5 37IF YOU DON'T HAVE A BERKELEY MAKE, don't despair! Just run
445bdec1
EA
38"m4 foo.mc > foo.cf" -- that should be all you need. There is also
39a fairly crude (but functional) Makefile.dist that works on the
40old version of make.
a33031f5
EA
41
42To get started, you may want to look at tcpproto.mc (for TCP-only
f51c9ac8
EA
43sites), uucpproto.mc (for UUCP-only sites), and clientproto.mc (for
44clusters of clients using a single mail host). Others are versions
a33031f5
EA
45that we use at Berkeley, although not all are in current use. For
46example, ucbarpa has gone away, but I've left ucbarpa.mc in because
47it demonstrates some interesting techniques.
48
4a51b074
EA
49I'm not pretending that this README describes everything that these
50configuration files can do; clever people can probably tweak them
51to great effect. But it should get you started.
52
1b5c2cc9
EA
53*******************************************************************
54*** BE SURE YOU CUSTOMIZE THESE FILES! They have some ***
55*** Berkeley-specific assumptions built in, such as the name ***
56*** of our UUCP-relay. You'll want to create your own domain ***
57*** description, and use that in place of domain/Berkeley.m4. ***
58*******************************************************************
59
bee9d799 60
4a51b074
EA
61+--------------------------+
62| INTRODUCTION AND EXAMPLE |
63+--------------------------+
64
65Configuration files are contained in the subdirectory "cf", with a
66suffix ".mc". They must be run through "m4" to produce a ".cf" file.
67
7ace9d88
EA
68Let's examine a typical .mc file (cf/cs-exposed.mc):
69
70 divert(-1)
71 #
72 # Copyright (c) 1983 Eric P. Allman
73 # Copyright (c) 1988 The Regents of the University of California.
74 # All rights reserved.
75 #
76 # Redistribution and use in source and binary forms are permitted
77 # provided that the above copyright notice and this paragraph are
78 # duplicated in all such forms and that any documentation,
79 # advertising materials, and other materials related to such
80 # distribution and use acknowledge that the software was developed
81 # by the University of California, Berkeley. The name of the
82 # University may not be used to endorse or promote products derived
83 # from this software without specific prior written permission.
84 # THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
85 # IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
86 # WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
87 #
88
4a51b074 89The divert(-1) will delete the crud in the resulting output file.
fd82c288 90The copyright notice is what your lawyers require. Our lawyers require
4a51b074
EA
91the one that I've included in my files. A copyleft is a copyright by
92another name.
93
94The next line MUST be
7ace9d88
EA
95
96 include(`../m4/cf.m4')
97
4a51b074
EA
98This will pull in the M4 macros you will need to make sense of
99everything else. As the saying goes, don't think about it, just
100do it. If you don't do it, don't bother reading the rest of this
101file.
7ace9d88 102
8897fcb1 103 VERSIONID(`<SCCS or RCS version id>')
7ace9d88
EA
104
105VERSIONID is a macro that stuffs the version information into the
106resulting file. We use SCCS; you could use RCS, something else, or
4a51b074
EA
107omit it completely. This is not the same as the version id included
108in SMTP greeting messages -- this is defined in m4/version.m4.
7ace9d88 109
9df1b56b 110 DOMAIN(cs.exposed)
7ace9d88
EA
111
112This example exposes the host inside of the CS subdomain -- that is,
113it doesn't try to hide the name of the workstation to the outside
114world. Changing this to DOMAIN(cs.hidden) would have made outgoing
115messages refer to "<username>@CS.Berkeley.EDU" instead of using the
5dd53c38 116local hostname. Internally this is effected by using
4a51b074 117"MASQUERADE_AS(CS.Berkeley.EDU)".
7ace9d88 118
9df1b56b 119 MAILER(smtp)
7ace9d88 120
c573210d
EA
121These describe the mailers used at the default CS site site. The
122local mailer is always included automatically.
7ace9d88 123
bee9d799 124
4a51b074
EA
125+--------+
126| OSTYPE |
127+--------+
128
7ace9d88
EA
129Note that cf/cs-exposed.mc omits an OSTYPE macro -- this assumes
130default Computer Science Division environment. There are several
fd82c288
EA
131explicit environments available: bsd4.3, bsd4.4, hpux, irix, osf1,
132riscos4.5, sunos3.5, sunos4.1, and ultrix4.1. These change things
133like the location of the alias file and queue directory. Some of
134these files are identical to one another.
4a51b074
EA
135
136Operating system definitions are easy to write. They may define
137the following variables (everything defaults, so an ostype file
138may be empty).
139
140ALIAS_FILE [/etc/aliases] The location of the text version
00d0b5bf 141 of the alias file(s). It can be a comma-separated
7b97409d
EA
142 list of names (but be sure you quote values with
143 comments in them -- for example, use
144 define(`ALIAS_FILE', `a,b')
145 to get "a" and "b" both listed as alias files;
146 otherwise the define() primitive only sees "a").
4a51b074
EA
147HELP_FILE [/usr/lib/sendmail.hf] The name of the file
148 containing information printed in response to
149 the SMTP HELP command.
4a51b074
EA
150QUEUE_DIR [/var/spool/mqueue] The directory containing
151 queue files.
152STATUS_FILE [/etc/sendmail.st] The file containing status
153 information.
bee9d799 154LOCAL_MAILER_PATH [/bin/mail] The program used to deliver local mail.
2e9b6f6e
EA
155LOCAL_MAILER_FLAGS [rmn] The flags used by the local mailer. The
156 flags lsDFM are always included.
d8b2ad36
EA
157LOCAL_MAILER_ARGS [mail -d $u] The arguments passed to deliver local
158 mail.
bee9d799 159LOCAL_SHELL_PATH [/bin/sh] The shell used to deliver piped email.
1c61e291
EA
160LOCAL_SHELL_FLAGS [eu] The flags used by the shell mailer. The
161 flags lsDFM are always included.
162LOCAL_SHELL_ARGS [sh -c $u] The arguments passed to deliver "prog"
163 mail.
bee9d799
EA
164USENET_MAILER_PATH [/usr/lib/news/inews] The name of the program
165 used to submit news.
166USENET_MAILER_FLAGS [rlsDFMmn] The mailer flags for the usenet mailer.
167USENET_MAILER_ARGS [-m -h -n] The command line arguments for the
168 usenet mailer.
4e444ec8
EA
169USENET_MAILER_MAX [100000] The maximum size of messages that will
170 be accepted by the usenet mailer.
5dd53c38
EA
171SMTP_MAILER_FLAGS [undefined] Flags added to SMTP mailer. Default
172 flags are `mDFMUX' (and `a' for esmtp mailer).
4e444ec8
EA
173SMTP_MAILER_MAX [undefined] The maximum size of messages that will
174 be transported using the smtp or esmtp mailers.
5dd53c38
EA
175UUCP_MAILER_FLAGS [undefined] Flags added to UUCP mailer. Default
176 flags are `DFMhuU' (and `m' for suucp mailer, minus
177 `U' for uucp-dom mailer).
d8b2ad36
EA
178UUCP_MAILER_ARGS [uux - -r -z -a$f -gC $h!rmail ($u)] The arguments
179 passed to the UUCP mailer.
1c61e291
EA
180UUCP_MAX_SIZE [100000] The maximum size message accepted for
181 transmission by the UUCP mailers.
4e444ec8
EA
182FAX_MAILER_PATH [/usr/local/lib/fax/mailfax] The program used to
183 submit FAX messages.
184FAX_MAILER_MAX [100000] The maximum size message accepted for
185 transmission by FAX.
4a51b074 186
4a51b074
EA
187+---------+
188| DOMAINS |
189+---------+
190
191You will probably want to collect domain-dependent defines into one
192file, referenced by the DOMAIN macro. For example, our Berkeley
193domain file includes definitions for several internal distinguished
194hosts:
195
196UUCP_RELAY The host that will forward UUCP-addressed email.
197 If not defined, all UUCP sites must be directly
bb3c21c3 198 connected.
4a51b074
EA
199BITNET_RELAY The host that will forward BITNET-addressed email.
200 If not defined, the .BITNET pseudo-domain won't work.
4a51b074
EA
201LOCAL_RELAY The site that will handle unqualified names -- that
202 is, names with out an @domain extension. If not set,
203 they are assumed to belong on this machine. This
204 allows you to have a central site to store a
205 company- or department-wide alias database. This
206 only works at small sites, and there are better
bb3c21c3
EA
207 methods.
208
209Each of these can be either ``mailer:hostname'' (in which case the
210mailer is the internal mailer name, such as ``suucp'' and the hostname
211is the name of the host as appropriate for that mailer) or just a
212``hostname'', in which case a default mailer type (usually ``relay'',
2e9b6f6e
EA
213a variant on SMTP) is used. WARNING: if you have a wildcard MX
214record matching your domain, you probably want to define these to
215have a trailing dot so that you won't get the mail diverted back
216to yourself.
4a51b074
EA
217
218The domain file can also be used to define a domain name, if needed
6f02ae2f
EA
219(using "DD<domain>") and set certain site-wide features. If all hosts
220at your site masquerade behind one email name, you could also use
221MASQUERADE_AS here.
4a51b074 222
dec2b686
EA
223You do not have to define a domain -- in particular, if you are a
224single machine sitting off somewhere, it is probably more work than
225it's worth. This is just a mechanism for combining "domain dependent
226knowledge" into one place.
227
4a51b074
EA
228+---------+
229| MAILERS |
230+---------+
7ace9d88
EA
231
232There are fewer mailers supported in this version than the previous
233version, owing mostly to a simpler world.
234
235local The local and prog mailers. You will almost always
236 need these; the only exception is if you relay ALL
fd82c288
EA
237 your mail to another site. This mailer is included
238 automatically.
7ace9d88
EA
239
240smtp The Simple Mail Transport Protocol mailer. This does
241 not hide hosts behind a gateway or another other
242 such hack; it assumes a world where everyone is
d8b2ad36
EA
243 running the name server. This file actually defines
244 three mailers: "smtp" for regular (old-style) SMTP to
245 other servers, "esmtp" for extended SMTP to other
246 servers, and "relay" for transmission to our
247 RELAY_HOST or MAILER_HUB.
7ace9d88
EA
248
249uucp The Unix-to-Unix Copy Program mailer. Actually, this
250 defines two mailers, "uucp" and "suucp". The latter
251 is for when you know that the UUCP mailer at the other
252 end can handle multiple recipients in one transfer.
4a51b074 253 When you invoke this, sendmail looks for all names in
2a20bc94
EA
254 the $=U class and sends them to the uucp-old mailer; all
255 names in the $=Y class are sent to uucp-new; and all
256 names in the $=Z class are sent to uucp-uudom. Note that
4a51b074
EA
257 this is a function of what version of rmail runs on
258 the receiving end, and hence may be out of your control.
2a20bc94
EA
259 If smtp is defined, it also defines "uucp-dom" and
260 "uucp-uudom" mailers that use domain-style rewriting.
261 See the section below describing UUCP mailers in more
262 detail.
4a51b074 263
bee9d799
EA
264usenet Usenet (network news) delivery. If this is specified,
265 an extra rule is added to ruleset 0 that forwards all
266 local email for users named ``group.usenet'' to the
267 ``inews'' program. Note that this works for all groups,
268 and may be considered a security problem.
269
63013ec3
EA
270fax Facsimile transmission. This is experimental and based
271 on Sam Leffler's FlexFAX software. For more information,
272 see below.
273
418602bc
EA
274pop Post Office Protocol.
275
bee9d799 276
4a51b074
EA
277+----------+
278| FEATURES |
279+----------+
280
281Special features can be requested using the "FEATURE" macro. For
282example, the .mc line:
283
284 FEATURE(use_cw_file)
285
286tells sendmail that you want to have it read an /etc/sendmail.cw
3ad658d7
EA
287file to get values for class $=w. The FEATURE may contain a single
288optional parameter -- for example:
289
290 FEATURE(mailertable, dbm /usr/lib/mailertable)
291
292Available features are:
4a51b074
EA
293
294use_cw_file Read the file /etc/sendmail.cw file to get alternate
295 names for this host. This might be used if you were
296 on a host that MXed for a dynamic set of other
297 hosts. If the set is static, just including the line
298 "Cw<name1> <name2> ..." is probably superior.
dec2b686
EA
299 The actual filename can be overridden by redefining
300 confCW_FILE.
f51c9ac8 301
bee9d799
EA
302redirect Reject all mail addressed to "address.REDIRECT" with
303 a ``551 User not local; please try <address>'' message.
304 If this is set, you can alias people who have left
305 to their new address with ".REDIRECT" appended.
f51c9ac8 306
a33031f5 307nouucp Don't do anything special with UUCP addresses at all.
f51c9ac8 308
928fba03
EA
309nocanonify Don't pass addresses to $[ ... $] for canonification.
310 This would generally only be used by sites that only
311 act as mail gateways or which have user agents that do
bb3c21c3
EA
312 full canonification themselves. You may also want to
313 use "define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')" to
314 turn off the usual resolver options that do a similar
315 thing.
f51c9ac8 316
da99e870
EA
317notsticky By default, email sent to "user@local.host" are marked
318 as "sticky" -- that is, the local addresses aren't
319 matched against UDB and don't go through ruleset 5.
320 This features disables this treatment. It would
321 normally be used on network gateway machines.
f51c9ac8 322
3ad658d7
EA
323mailertable Include a "mailer table" which can be used to override
324 routing for particular domains. The argument of the
325 FEATURE may be the key definition. If none is specified,
326 the definition used is:
6e8cccfc 327 hash -o /etc/mailertable
d8b2ad36
EA
328 Keys in this database are fully qualified domain names
329 or partial domains preceded by a dot -- for example,
330 "vangogh.CS.Berkeley.EDU" or ".CS.Berkeley.EDU".
331 Values must be of the form:
3ad658d7 332 mailer:domain
d8b2ad36
EA
333 where "mailer" is the internal mailer name, and "domain"
334 is where to send the message. These maps are not
335 reflected into the message header.
f51c9ac8 336
d8b2ad36 337domaintable Include a "domain table" which can be used to provide
e92659a8
EA
338 domain name mapping. Use of this should really be
339 limited to your own domains. It may be useful if you
340 change names (e.g., your company changes names from
341 oldname.com to newname.com). The argument of the
342 FEATURE may be the key definition. If none is specified,
343 the definition used is:
6e8cccfc 344 hash -o /etc/domaintable
e92659a8
EA
345 The key in this table is the domain name; the value is
346 the new (fully qualified) domain. Anything in the
d8b2ad36
EA
347 domaintable is reflected into headers; that is, this
348 is done in ruleset 3.
f51c9ac8 349
d1593b1a
EA
350bitdomain Look up bitnet hosts in a table to try to turn them into
351 internet addresses. The table can be built using the
2e9b6f6e 352 bitdomain program contributed by John Gardiner Myers.
d1593b1a
EA
353 The argument of the FEATURE may be the key definition; if
354 none is specified, the definition used is:
6e8cccfc 355 hash -o /etc/bitdomain.db
d1593b1a
EA
356 Keys are the bitnet hostname; values are the corresponding
357 internet hostname.
f51c9ac8 358
4f1c78c0
EA
359uucpdomain Similar feature for UUCP hosts. The default map definition
360 is:
6e8cccfc 361 hash -o /etc/uudomain.db
4f1c78c0
EA
362 At the moment there is no automagic tool to build this
363 database.
f51c9ac8 364
c62d746c
EA
365always_add_domain
366 Include the local host domain even on locally delivered
367 mail. Normally it is not added unless it is already
368 present.
f51c9ac8 369
d8b2ad36
EA
370allmasquerade If masquerading is enabled (using MASQUERADE_AS), this
371 feature will cause recipient addresses to also masquerade
372 as being from the masquerade host. Normally they get
373 the local hostname. Although this may be right for
374 ordinary users, it can break local aliases. For example,
375 if you send to "localalias", the originating sendmail will
376 find that alias and send to all members, but send the
377 message with "To: localalias@masqueradehost". Since that
378 alias likely does not exist, replies will fail. Use this
379 feature ONLY if you can guarantee that the ENTIRE
380 namespace on your masquerade host supersets all the
381 local entries.
f51c9ac8 382
2e9b6f6e
EA
383nodns We aren't running DNS at our site (for example,
384 we are UUCP-only connected). It's hard to consider
385 this a "feature", but hey, it had to go somewhere.
4a51b074 386
f51c9ac8
EA
387nullclient This is a special case -- it creates a stripped down
388 configuration file containing nothing but support for
de0c51e7
EA
389 forwarding all mail to a central hub via a local
390 SMTP-based network. The argument is the name of that
391 hub.
392
393 The only other feature that should be used in conjunction
394 with this one is "nocanonify" (this causes addresses to
395 be sent unqualified via the SMTP connection; normally
396 they are qualifed with the masquerade name, which
397 defaults to the name of the hub machine). No mailers
398 should be defined. No aliasing or forwarding is done.
f51c9ac8 399
bee9d799 400
4a51b074
EA
401+-------+
402| HACKS |
403+-------+
404
405Some things just can't be called features. To make this clear,
fd82c288 406they go in the hack subdirectory and are referenced using the HACK
4a51b074
EA
407macro. These will tend to be site-dependent. The release
408includes the Berkeley-dependent "cssubdomain" hack (that makes
409sendmail accept local names in either Berkeley.EDU or CS.Berkeley.EDU;
410this is intended as a short-term aid while we move hosts into
411subdomains.
412
bee9d799 413
4a51b074
EA
414+--------------------+
415| SITE CONFIGURATION |
416+--------------------+
417
418Complex sites will need more local configuration information, such as
419lists of UUCP hosts they speak with directly. This can get a bit more
420tricky. For an example of a "complex" site, see cf/ucbvax.mc.
421
c833924a
EA
422If your host is known by several different names, you need to augment
423the $=w class. This is a list of names by which you are known, and
424anything sent to an address using a host name in this list will be
425treated as local mail. You can do this in two ways: either create
426the file /etc/sendmail.cw containing a list of your aliases (one per
427line), and use ``FEATURE(use_cw_file)'' in the .mc file, or add the
428line:
429
430 Cw alias.host.name
431
432at the end of that file. See the ``vangogh.mc'' file for an example.
433Be sure you use the fully-qualified name of the host, rather than a
434short name.
435
4a51b074
EA
436The SITECONFIG macro allows you to indirectly reference site-dependent
437configuration information stored in the siteconfig subdirectory. For
438example, the line
439
440 SITECONFIG(uucp.ucbvax, ucbvax, U)
441
442reads the file uucp.ucbvax for local connection information. The
443second parameter is the local name (in this case just "ucbvax" since
c833924a
EA
444it is locally connected, and hence a UUCP hostname). The third
445parameter is the name of both a macro to store the local name (in
446this case, $U) and the name of the class (e.g., $=U) in which to store
447the host information read from the file. Another SITECONFIG line reads
4a51b074
EA
448
449 SITECONFIG(uucp.ucbarpa, ucbarpa.Berkeley.EDU, W)
450
451This says that the file uucp.ucbarpa contains the list of UUCP sites
452connected to ucbarpa.Berkeley.EDU. The $=W class will be used to
c833924a
EA
453store this list, and $W is defined to be ucbarpa.Berkeley.EDU, that
454is, the name of the relay to which the hosts listed in uucp.ucbarpa
455are connected. [The machine ucbarpa is gone now, but I've left
4a51b074
EA
456this out-of-date configuration file around to demonstrate how you
457might do this.]
458
c833924a
EA
459Note that the case of SITECONFIG with a third parameter of ``U'' is
460special; the second parameter is assumed to be the UUCP name of the
461local site, rather than the name of a remote site, and the UUCP name
462is entered into $=w (the list of local hostnames) as $U.UUCP.
463
4a51b074
EA
464The siteconfig file (e.g., siteconfig/uucp.ucbvax.m4) contains nothing
465more than a sequence of SITE macros describing connectivity. For
466example:
467
468 SITE(cnmat)
469 SITE(sgi olympus)
470
471The second example demonstrates that you can use two names on the
472same line; these are usually aliases for the same host (or are at
473least in the same company).
474
bee9d799 475
2a20bc94
EA
476+--------------------+
477| USING UUCP MAILERS |
478+--------------------+
479
480It's hard to get UUCP mailers right because of the extremely ad hoc
481nature of UUCP addressing. These config files are really designed
482for domain-based addressing, even for UUCP sites.
483
484There are four UUCP mailers available. The choice of which one to
485use is partly a matter of local preferences and what is running at
486the other end of your UUCP connection. Unlike good protocols that
487define what will go over the wire, UUCP uses the policy that you
488should do what is right for the other end; if they change, you have
489to change. This makes it hard to do the right thing, and discourages
490people from updating their software. In general, if you can avoid
491UUCP, please do.
492
493The major choice is whether to go for a domainized scheme or a
494non-domainized scheme. This depends entirely on what the other
495end will recognize. If at all possible, you should encourage the
496other end to go to a domain-based system -- non-domainized addresses
497don't work entirely properly.
498
499The four mailers are:
500
501 uucp-old (obsolete name: "uucp")
502 This is the oldest, the worst (but the closest to UUCP) way of
503 sending messages accros UUCP connections. It does bangify
504 everything and prepends $U (your UUCP name) to the sender's
505 address (which can already be a bang path itself). It can
506 only send to one address at a time, so it spends a lot of
507 time copying duplicates of messages. Avoid this if at all
508 possible.
509
510 uucp-new (obsolete name: "suucp")
511 The same as above, except that it assumes that in one rmail
512 command you can specify several recipients. It still has a
513 lot of other problems.
514
515 uucp-dom
516 This UUCP mailer keeps everything as domain addresses.
517 Basically, it uses the SMTP mailer rewriting rules.
518
519 Unfortunately, a lot of UUCP mailer transport agents require
520 bangified addresses in the envelope, although you can use
521 domain-based addresses in the message header. (The envelope
522 shows up as the From_ line on UNIX mail.) So....
523
524 uucp-uudom
525 This is a cross between uucp-new (for the envelope addresses)
526 and uucp-dom (for the header addresses). It bangifies the
527 envelope sender (From_ line in messages) without adding the
528 local hostname, unless there is no host name on the address
529 at all (e.g., "wolf") or the host component is a UUCP host name
530 instead of a domain name ("somehost!wolf" instead of
531 "some.dom.ain!wolf").
532
533Examples:
534
535We are on host grasp.insa-lyon.fr (UUCP host name "grasp"). The
536following summarizes the sender rewriting for various mailers.
537
538Mailer sender rewriting in the envelope
539------ ------ -------------------------
540uucp-{old,new} wolf grasp!wolf
541uucp-dom wolf wolf@grasp.insa-lyon.fr
542uucp-uudom wolf grasp.insa-lyon.fr!wolf
543
544uucp-{old,new} wolf@fr.net grasp!fr.net!wolf
545uucp-dom wolf@fr.net wolf@fr.net
546uucp-uudom wolf@fr.net fr.net!wolf
547
548uucp-{old,new} somehost!wolf grasp!somehost!wolf
549uucp-dom somehost!wolf somehost!wolf@grasp.insa-lyon.fr
550uucp-uudom somehost!wolf grasp.insa-lyon.fr!somehost!wolf
551
552If you are using one of the domainized UUCP mailers, you really want
553to convert all UUCP addresses to domain format -- otherwise, it will
554do it for you (and probably not the way you expected). For example,
555if you have the address foo!bar!baz (and you are not sending to foo),
556the heuristics will add the @uucp.relay.name or @local.host.name to
557this address. However, if you map foo to foo.host.name first, it
558will not add the local hostname. You can do this using the uucpdomain
559feature.
560
561
4a51b074
EA
562+-------------------+
563| TWEAKING RULESETS |
564+-------------------+
9df1b56b
EA
565
566For more complex configurations, you can define special rules.
567The macro LOCAL_RULE_3 introduces rules that are used in canonicalizing
568the names. Any modifications made here are reflected in the header.
569
570A common use is to convert old UUCP addreses to SMTP addresses using
571the UUCPSMTP macro. For example:
572
573 LOCAL_RULE_3
574 UUCPSMTP(decvax, decvax.dec.com)
575 UUCPSMTP(research, research.att.com)
576
577will cause addresses of the form "decvax!user" and "research!user"
578to be converted to "user@decvax.dec.com" and "user@research.att.com"
579respectively.
580
6fb312a3 581This could also be used to look up hosts in a database map:
4a51b074
EA
582
583 LOCAL_RULE_3
584 R$* < @ $+ > $* $: $1 < @ $(hostmap $2 $) > $3
585
586This map would be defined in the LOCAL_CONFIG portion, as shown below.
587
9df1b56b
EA
588Similarly, LOCAL_RULE_0 can be used to introduce new parsing rules.
589For example, new rules are needed to parse hostnames that you accept
c573210d
EA
590via MX records. For example, you might have:
591
592 LOCAL_RULE_0
2c56efa0 593 R$+ <@ host.dom.ain.> $#uucp $@ cnmat $: $1 < @ host.dom.ain.>
c573210d
EA
594
595You would use this if you had installed an MX record for cnmat.Berkeley.EDU
596pointing at this host; this rule catches the message and forwards it on
597using UUCP.
9df1b56b 598
06630be3
EA
599You can also tweak rulesets 1 and 2 using LOCAL_RULE_1 and LOCAL_RULE_2.
600These rulesets are normally empty.
601
4a51b074
EA
602A similar macro is LOCAL_CONFIG. This introduces lines added after the
603boilerplate option setting but before rulesets, and can be used to
a151c868 604declare local database maps or whatever. For example:
4a51b074
EA
605
606 LOCAL_CONFIG
607 Khostmap hash /etc/hostmap.db
608 Kyplocal nis -m hosts.byname
4a51b074 609
bee9d799 610
4a51b074
EA
611+---------------------------+
612| MASQUERADING AND RELAYING |
613+---------------------------+
614
615You can have your host masquerade as another using
616
617 MASQUERADE_AS(host.domain)
9df1b56b 618
6fb312a3 619This causes outgoing SMTP mail to be labeled as coming from the
4a51b074 620indicated domain, rather than $j. One normally masquerades as one
6fb312a3 621of one's own subdomains (for example, it's unlikely that I would
4a51b074
EA
622choose to masquerade as an MIT site).
623
2e9b6f6e
EA
624The masquerade name is not normally canonified, so it is important
625that it be your One True Name, that is, fully qualified and not a
626CNAME.
627
4a51b074
EA
628there are always users that need to be "exposed" -- that is, their
629internal site name should be displayed instead of the masquerade name.
630Root is an example. You can add users to this list using
631
632 EXPOSED_USER(usernames)
633
634This adds users to class E; you could also use something like
635
636 FE/etc/sendmail.cE
637
638You can also arrange to relay all unqualified names (that is, names
639without @host) to a relay host. For example, if you have a central
640email server, you might relay to that host so that users don't have
641to have .forward files or aliases. You can do this using
642
28b51619 643 define(`LOCAL_RELAY', mailer:hostname)
4a51b074 644
28b51619
EA
645The ``mailer:'' can be omitted, in which case the mailer defaults to
646"smtp". There are some user names that you don't want relayed, perhaps
647because of local aliases. A common example is root, which may be
648locally aliased. You can add entries to this list using
4a51b074
EA
649
650 LOCAL_USER(usernames)
651
652This adds users to class L; you could also use something like
653
654 FL/etc/sendmail.cL
655
2e9b6f6e
EA
656If you want all incoming mail sent to a centralized hub, as for a
657shared /var/spool/mail scheme, use
34e49bd3 658
28b51619 659 define(`MAIL_HUB', mailer:hostname)
34e49bd3 660
28b51619 661Again, ``mailer:'' defaults to "smtp". If you define both LOCAL_RELAY
0ee1617f
EA
662and MAIL_HUB, unqualified names will be sent to the LOCAL_RELAY and
663other local names will be sent to MAIL_HUB. Names in $=L will be
664delivered locally, so you MUST have aliases or .forward files for them.
665
666For example, if are on machine mastodon.CS.Berkeley.EDU, the following
28b51619 667combinations of settings will have the indicated effects:
34e49bd3
EA
668
669email sent to.... eric eric@mastodon.CS.Berkeley.EDU
670
671LOCAL_RELAY set to mail.CS.Berkeley.EDU (delivered locally)
672mail.CS.Berkeley.EDU
673
674MAIL_HUB set to mammoth.CS.Berkeley.EDU mammoth.CS.Berkeley.EDU
675mammoth.CS.Berkeley.EDU
676
677Both LOCAL_RELAY and mail.CS.Berkeley.EDU mammoth.CS.Berkeley.EDU
678MAIL_HUB set as above
679
2e9b6f6e
EA
680If you want all outgoing mail to go to a central relay site, define
681SMART_HOST as well. Briefly:
682
683 LOCAL_RELAY applies to unqualifed names (e.g., "eric").
684 MAIL_HUB applies to names qualified with the name of the
685 local host (e.g., "eric@mastodon.CS.Berkeley.EDU").
686 SMART_HOST applies to names qualified with other hosts.
687
688However, beware that other relays (e.g., UUCP_RELAY, BITNET_RELAY, and
689FAX_RELAY) take precedence over SMART_HOST, so if you really want
690absolutely everything to go to a single central site you will need to
691unset all the other relays -- or better yet, find or build a minimal
692config file that does this.
693
28b51619
EA
694
695+-------------------------------+
696| NON-SMTP BASED CONFIGURATIONS |
697+-------------------------------+
698
699These configuration files are designed primarily for use by SMTP-based
700sites. I don't pretend that they are well tuned for UUCP-only or
701UUCP-primarily nodes (the latter is defined as a small local net
702connected to the rest of the world via UUCP). However, there is one
703hook to handle some special cases.
704
705You can define a ``smart host'' that understands a richer address syntax
706using:
707
708 define(`SMART_HOST', mailer:hostname)
709
bb3c21c3 710In this case, the ``mailer:'' defaults to "relay". Any messages that
28b51619
EA
711can't be handled using the usual UUCP rules are passed to this host.
712
713If you are on a local SMTP-based net that connects to the outside
714world via UUCP, you can use LOCAL_NET_CONFIG to add appropriate rules.
715For example:
716
717 define(`SMART_HOST', suucp:uunet)
718 LOCAL_NET_CONFIG
d8b2ad36 719 R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3
28b51619
EA
720
721This will cause all names that end in your domain name ($m) via
722SMTP; anything else will be sent via suucp (smart UUCP) to uunet.
d8b2ad36
EA
723If you have FEATURE(nocanonify), you may need to omit the dots after
724the $m. If you are running a local DNS inside your domain which is
725not otherwise connected to the outside world, you probably want to
726use:
727
728 define(`SMART_HOST', smtp:fire.wall.com)
729 LOCAL_NET_CONFIG
730 R$* < @ $* . > $* $#smtp $@ $2. $: $1 < @ $2. > $3
731
732That is, send directly only to things you found in your DNS lookup;
733anything else goes through SMART_HOST.
28b51619 734
2e9b6f6e
EA
735If you are not running DNS at all, it is important to use
736FEATURE(nodns) to avoid having sendmail queue everything waiting
737for the name server to come up.
738
28b51619 739
f7e8be31
EA
740+-----------+
741| WHO AM I? |
742+-----------+
743
744Normally, the $j macro is automatically defined to be your fully
745qualified domain name (FQDN). Sendmail does this by getting your
746host name using gethostname and then calling gethostbyname on the
747result. For example, in some environments gethostname returns
748only the root of the host name (such as "foo"); gethostbyname is
749supposed to return the FQDN ("foo.bar.com"). In some (fairly rare)
750cases, gethostbyname may fail to return the FQDN. In this case
751you MUST define confDOMAIN_NAME to be your fully qualified domain
752name. This is usually done using:
753
754 Dmbar.com
755 define(`confDOMAIN_NAME', `$w.$m')dnl
756
757
bb3c21c3
EA
758+--------------------+
759| USING MAILERTABLES |
760+--------------------+
761
762To use FEATURE(mailertable), you will have to create an external
763database containing the routing information for various domains.
764For example, a mailertable file in text format might be:
765
766 .my.domain xnet:%1.my.domain
767 uuhost1.my.domain suucp:uuhost1
768 .bitnet smtp:relay.bit.net
769
770This should normally be stored in /etc/mailertable. The actual
771database version of the mailertable is built using:
772
773 makemap hash /etc/mailertable.db < /etc/mailertable
774
775The semantics are simple. Any LHS entry that does not begin with
776a dot matches the full host name indicated. LHS entries beginning
777with a dot match anything ending with that domain name -- that is,
778they can be thought of as having a leading "*" wildcard. Matching
779is done in order of most-to-least qualified -- for example, even
780though ".my.domain" is listed first in the above example, an entry
781of "uuhost1.my.domain" will match the second entry since it is
782more explicit.
783
784The RHS should always be a "mailer:host" pair. The mailer is the
785configuration name of a mailer (that is, an `M' line in the
786sendmail.cf file). The "host" will be the hostname passed to
787that mailer. In domain-based matches (that is, those with leading
788dots) the "%1" may be used to interpolate the wildcarded part of
789the host name. For example, the first line above sends everything
790addressed to "anything.my.domain" to that same host name, but using
791the (presumably experimental) xnet mailer.
792
793
2e9b6f6e
EA
794+--------------------------------+
795| USING USERDB TO MAP FULL NAMES |
796+--------------------------------+
797
798The user database was not originally intended for mapping full names
799to login names (e.g., Eric.Allman => eric), but some people are using
800it that way. (I would recommend that you set up aliases for this
801purpose instead -- since you can specify multiple alias files, this
802is fairly easy.) The intent was to locate the default maildrop at
803a site, but allow you to override this by sending to a specific host.
804
805If you decide to set up the user database in this fashion, it is
806imperative that you also specify FEATURE(notsticky) -- otherwise,
807e-mail sent to Full.Name@local.host.name will be rejected.
808
f7e8be31
EA
809To build the internal form of the user databae, use:
810
811 makemap btree /usr/data/base.db < /usr/data/base.txt
812
2e9b6f6e 813
63013ec3
EA
814+------------------+
815| FlexFAX SOFTWARE |
816+------------------+
817
818Sam Leffler's FlexFAX software is still in beta test -- but he expects a
819public version out "later this week" [as of 3/1/93]. The following
820blurb is direct from Sam:
821
d1ad6cf3 822 $Header: /usr/people/sam/fax/RCS/HOWTO,v 1.14 93/05/24 11:42:16 sam Exp $
63013ec3
EA
823
824 How To Obtain This Software (in case all you get is this file)
d1ad6cf3 825 --------------------------------------------------------------
63013ec3 826 The source code is available for public ftp on
d1ad6cf3 827 sgi.com sgi/fax/v2.1.src.tar.Z
63013ec3
EA
828 (192.48.153.1)
829
830 You can also obtain inst'able images for Silicon Graphics machines from
d1ad6cf3 831 sgi.com sgi/fax/v2.1.inst.tar
63013ec3
EA
832 (192.48.153.1)
833
834 For example,
835 % ftp -n sgi.com
836 ....
837 ftp> user anonymous
838 ... <type in password>
839 ftp> cd sgi/fax
840 ftp> binary
d1ad6cf3
EA
841 ftp> get v2.1.src.tar.Z
842
843 In general, the latest version of the 2.1 release of the software is
844 always available as "v2.1.src.tar.Z" or "v2.1.inst.tar" in the ftp
845 directory. This file is a link to the appropriate released version (so
846 don't waste your time retrieving the linked file as well!) Any files of
847 the form v2.1.*.patch are shell scripts that can be used to patch older
848 versions of the source code. For example, the file v2.1.0.patch would
849 contain patches to update v2.1.0.tar.Z. (Note to beta testers: this is
850 different than the naming conventions used during beta testing.) Patch
851 files only work to go between consecutive versions, so if you are
852 multiple versions behind the latest release, you will need to apply
853 each patch file between your current version and the latest.
854
855
856 Obtaining the Software by Electronic Mail
857 -----------------------------------------
858 Do not send me requests for the software; they will be ignored (without
859 response). If you cannot use FTP at all, there is a service called
860 "ftpmail" available from gatekeeper.dec.com: you can send e-mail to
861 this machine and it will use FTP to retrieve files for you and send you
862 the files back again via e-mail. To find out more about the ftpmail
63013ec3
EA
863 service, send a message to "ftpmail@gatekeeper.dec.com" whose body
864 consists of the single line "help".
865
d1ad6cf3
EA
866
867 Obtaining the Software Within Silicon Graphics
868 ----------------------------------------------
63013ec3 869 Internal to Silicon Graphics there are inst'able images on the host
d1ad6cf3 870 flake.asd in the directory /usr/dist. Thus you can do something like:
63013ec3 871
d1ad6cf3 872 % inst -f flake.asd.sgi.com:/usr/dist/flexfax
63013ec3 873
d1ad6cf3 874 to install the latest version of the software on your machine.
63013ec3 875
d1ad6cf3
EA
876
877 What to do Once You've Retrieved Stuff
878 --------------------------------------
63013ec3
EA
879 The external distributions come in a compressed or uncompressed tar
880 file. To extract the source distribution:
881
d1ad6cf3 882 % zcat v2.1.src.tar.Z | tar xf -
63013ec3
EA
883
884 (uncompress and extract individual files in current directory). To
885 unpack and install the client portion of the inst'able distribution:
886
887 % mkdir dist
d1ad6cf3 888 % cd dist; tar xf ../v2.1.inst.tar; cd ..
63013ec3
EA
889 % inst -f dist/flexfax
890 ...
891 inst> go
892
893 (Note, the dist subdirectory is because some versions of inst fail if
d1ad6cf3
EA
894 the files are in the current directory.) Server binaries are also
895 included in the inst'able images as flexfax.server.*. They are not
896 installed by default, so to get them also you need to do:
63013ec3
EA
897
898 % inst -f flexfax
899 ...
900 inst> install flexfax.server.*
901 inst> go
902
d1ad6cf3 903 The SGI binaries were built for Version 4.0.5H of the IRIX operating
63013ec3
EA
904 system. They should work w/o problem on earlier versions of the
905 system, but I have not fully tested this. Also, note that to install a
906 server on an SGI machine, you need to have installed the Display
907 PostScript execution environment product (dps_eoe). Otherwise, the fax
908 server will not be able to convert PostScript to facsimile for
909 transmission.
910
d1ad6cf3
EA
911 If you are working from the source distribution, look at the file
912 README in the top of the source tree. If you are working from the inst
913 images, the subsystem flexfax.man.readme contains the README file and
914 other useful pieces of information--the installed files are placed in
915 the directory /usr/local/doc/flexfax). Basically you will need to run
916 the faxaddmodem script to setup and configure your fax modem. Consult
917 the README file and the manual page for faxaddmodem for information.
63013ec3 918
63013ec3 919
d1ad6cf3
EA
920 FlexFAX Mail List
921 -----------------
63013ec3
EA
922 A mailing list for users of this software is located on sgi.com.
923 If you want to join this mailing list or have a list-related request
924 such as getting your name removed from it, send a request to
925
d1ad6cf3
EA
926 majordomo@whizzer.wpd.sgi.com
927
928 For example, to subscribe, send the line "subscribe flexfax" in
929 the body of your message. The line "help" will return a list of
930 the commands understood by the mailing list management software.
63013ec3
EA
931
932 Submissions (including bug reports) should be directed to:
933
934 flexfax@sgi.com
935
d1ad6cf3
EA
936 When corresponding about this software please always specify what
937 version you have, what system you're running on, and, if the problem is
938 specific to your modem, identify the modem and firmware revision.
939
63013ec3 940
a151c868
EA
941+--------------------------------+
942| TWEAKING CONFIGURATION OPTIONS |
943+--------------------------------+
944
945There are a large number of configuration options that don't normally
946need to be changed. However, if you feel you need to tweak them, you
947can define the following M4 variables. This list is shown in four
948columns: the name you define, the default value for that definition,
949the option or macro that is affected (either Ox for an option or Dx
950for a macro), and a brief description. Greater detail of the semantics
951can be found in the Installation and Operations Guide.
952
fb32c2a1
EA
953Some options are likely to be deprecated in future versions -- that is,
954the option is only included to provide back-compatibility. These are
955marked with "*".
956
a7e36c1b
EA
957Remember that these options are M4 variables, and hence may need to
958be quoted. In particular, arguments with commas will usually have to
959be ``double quoted, like this phrase'' to avoid having the comma
960confuse things. This is common for alias file definitions and for
961the read timeout.
962
a151c868 963M4 Variable Name Default Mac/Opt Description
a7e36c1b 964================ ======= ======= ===========
a151c868
EA
965confMAILER_NAME MAILER-DAEMON Dn The sender name used for
966 internally generated
967 outgoing messages.
06630be3
EA
968confFROM_LINE From $g $d Dl The From_ line used when
969 sending to files or programs.
a151c868
EA
970confFROM_HEADER $?x$x <$g>$|$g$. The format of an internally
971 Dq generated From: address.
972confOPERATORS .:%@!^/[] Do Address operator characters.
2e9b6f6e 973confSMTP_LOGIN_MSG $j Sendmail $v/$Z ready at $b
a151c868
EA
974 De The initial (spontaneous)
975 SMTP greeting message.
f6232b5e 976confSEVEN_BIT_INPUT False O7 Force input to seven bits?
a151c868
EA
977confALIAS_WAIT 10 Oa Wait (in minutes) for alias
978 file rebuild.
bee9d799
EA
979confMIN_FREE_BLOCKS 4 Ob Minimum number of free blocks
980 on queue filesystem to accept
981 SMTP mail.
a151c868
EA
982confBLANK_SUB . OB Blank (space) substitution
983 character.
e9cedcc1
EA
984confCON_EXPENSIVE False Oc Avoid connecting immediately
985 to mailers marked expensive?
a151c868
EA
986confCHECKPOINT_INTERVAL 10 OC Checkpoint queue files
987 every N recipients.
988confDELIVERY_MODE background Od Default delivery mode.
989confAUTO_REBUILD False OD Automatically rebuild
990 alias file if needed.
991confERROR_MODE (undefined) Oe Error message mode.
992confERROR_MESSAGE (undefined) OE Error message header/file.
993confSAVE_FROM_LINES False Of Save extra leading
994 From_ lines.
995confTEMP_FILE_MODE 0600 OF Temporary file mode.
996confDEF_GROUP_ID 1 Og Default group id.
997confMATCH_GECOS False OG Match GECOS field.
998confMAX_HOP 17 Oh Maximum hop count.
fb32c2a1 999confIGNORE_DOTS False Oi * Ignore dot as terminator
a151c868
EA
1000 for incoming messages?
1001confBIND_OPTS (empty) OI Default options for BIND.
fb32c2a1 1002confMIME_FORMAT_ERRORS True Oj * Send error messages as MIME-
f6232b5e
EA
1003 encapsulated messages per
1004 RFC 1344.
2e9b6f6e
EA
1005confFORWARD_PATH (undefined) OJ The colon-separated list of
1006 places to search for .forward
1007 files.
a151c868
EA
1008confMCI_CACHE_SIZE 2 Ok Size of open connection cache.
1009confMCI_CACHE_TIMEOUT 5m OK Open connection cache timeout.
fb32c2a1
EA
1010confUSE_ERRORS_TO False Ol * Use the Errors-To: header to
1011 deliver error messages. This
1012 should not be necessary because
1013 of general acceptance of the
1014 envelope/header distinction.
a151c868
EA
1015confLOG_LEVEL 9 OL Log level.
1016confME_TOO False Om Include sender in group
1017 expansions.
1018confCHECK_ALIASES True On Check RHS of aliases when
1019 running newaliases.
fb32c2a1 1020confOLD_STYLE_HEADERS True Oo * Assume that headers without
a151c868 1021 special chars are old style.
4c230f32 1022confDAEMON_OPTIONS (undefined) OO SMTP daemon options.
88ce9b1c 1023confPRIVACY_FLAGS authwarnings Op Privacy flags.
a151c868
EA
1024confCOPY_ERRORS_TO (undefined) OP Address for additional copies
1025 of all error messages.
1026confQUEUE_FACTOR (undefined) Oq Slope of queue-only function
33f90dbe 1027confREAD_TIMEOUT (undefined) Or SMTP read timeouts.
fb32c2a1 1028confSAFE_QUEUE True Os * Commit all messages to disk
a151c868 1029 before forking.
88ce9b1c
EA
1030confMESSAGE_TIMEOUT 5d/4h OT Timeout for messages before
1031 sending error/warning message.
386fe59f 1032confTIME_ZONE USE_SYSTEM Ot Time zone info -- can be
a151c868
EA
1033 USE_SYSTEM to use the system's
1034 idea, USE_TZ to use the user's
1035 TZ envariable, or something
1036 else to force that value.
1037confDEF_USER_ID 1 Ou Default user id.
39ed20b0 1038confUSERDB_SPEC (undefined) OU User database specification.
4c230f32 1039confFALLBACK_MX (undefined) OV Fallback MX host.
5dd53c38
EA
1040confTRY_NULL_MX_LIST False Ow If we are the best MX for a
1041 host and haven't made other
1042 arrangements, try connecting
1043 to the host directly; normally
1044 this would be a config error.
a151c868
EA
1045confQUEUE_LA 8 Ox Load average at which queue-only
1046 function kicks in.
1047confREFUSE_LA 12 OX Load average at which incoming
1048 SMTP connections are refused.
a151c868 1049confWORK_RECIPIENT_FACTOR
fb32c2a1
EA
1050 (undefined) Oy Cost of each recipient.
1051confSEPARATE_PROC False OY Run all deliveries in a
1052 separate process.
a151c868
EA
1053confWORK_CLASS_FACTOR (undefined) Oz Priority multiplier for class.
1054confWORK_TIME_FACTOR (undefined) OZ Cost of each delivery attempt.
dec2b686
EA
1055confCW_FILE /etc/sendmail.cw Name of file used to get the
1056 Fw local additions to the $=w
1057 class.
2e9b6f6e 1058confSMTP_MAILER smtp - The mailer name used when
cf36aa8d
EA
1059 SMTP connectivity is required.
1060 Either "smtp" or "esmtp".
2c840221
EA
1061confLOCAL_MAILER local - The mailer name used when
1062 local connectivity is required.
1063 Almost always "local".
bb3c21c3
EA
1064confRELAY_MAILER relay - The default mailer name used
1065 for relaying any mail (e.g.,
1066 to a BITNET_RELAY, a
1067 SMART_HOST, or whatever).
1068 This can reasonably be "suucp"
1069 if you are on a UUCP-connected
1070 site.
f7e8be31 1071confDOMAIN_NAME (undefined) Dj If defined, sets $j.
a151c868 1072
bee9d799 1073
4a51b074
EA
1074+-----------+
1075| HIERARCHY |
1076+-----------+
7ace9d88
EA
1077
1078Within this directory are several subdirectories, to wit:
1079
1080m4 General support routines. These are typically
1081 very important and should not be changed without
fd82c288 1082 very careful consideration.
7ace9d88
EA
1083
1084cf The configuration files themselves. They have
1085 ".mc" suffixes, and must be run through m4 to
1086 become complete. The resulting output should
1087 have a ".cf" suffix.
1088
1089ostype Definitions describing a particular operating
1090 system type. These should always be referenced
1091 using the OSTYPE macro in the .mc file. Examples
1092 include "bsd4.3", "bsd4.4", "sunos3.5", and
1093 "sunos4.1".
1094
1095domain Definitions describing a particular domain, referenced
1096 using the DOMAIN macro in the .mc file. These are
1097 site dependent; for example, we contribute "cs.exposed.m4"
1098 and "cs.hidden.m4" which both describe hosts in the
1099 CS.Berkeley.EDU subdomain; the former displays the local
1100 hostname (e.g., mammoth.CS.Berkeley.EDU), whereas the
1101 latter does its best to hide the identity of the local
1102 workstation inside the CS subdomain.
1103
1104mailer Descriptions of mailers. These are referenced using
1105 the MAILER macro in the .mc file.
1106
1107sh Shell files used when building the .cf file from the
1108 .mc file in the cf subdirectory.
1109
1110feature These hold special orthogonal features that you might
1111 want to include. They should be referenced using
1112 the FEATURE macro.
1113
1114hack Local hacks. These can be referenced using the HACK
1115 macro. They shouldn't be of more than voyeuristic
1116 interest outside the .Berkeley.EDU domain, but who knows?
6fb312a3 1117 We've all got our own peccadillos.
7ace9d88 1118
9df1b56b
EA
1119siteconfig Site configuration -- e.g., tables of locally connected
1120 UUCP sites.
1121
7ace9d88 1122
4a51b074
EA
1123+------------------------+
1124| ADMINISTRATIVE DETAILS |
1125+------------------------+
7ace9d88
EA
1126
1127The following sections detail usage of certain internal parts of the
1128sendmail.cf file. Read them carefully if you are trying to modify
1129the current model. If you find the above descriptions adequate, these
1130should be {boring, confusing, tedious, ridiculous} (pick one or more).
1131
1132RULESETS (* means built in to sendmail)
1133
1134 0 * Parsing
1135 1 * Sender rewriting
1136 2 * Recipient rewriting
1137 3 * Canonicalization
1138 4 * Post cleanup
f5baef19 1139 5 * Local address rewrite (after aliasing)
b197efaa
EA
1140 1x mailer rules (sender qualification)
1141 2x mailer rules (recipient qualification)
0409c6a2
EA
1142 3x mailer rules (sender header qualification)
1143 4x mailer rules (recipient header qualification)
1144 5x mailer subroutines (general)
1145 6x mailer subroutines (general)
1146 7x mailer subroutines (general)
1147 8x reserved
b197efaa 1148 90 Mailertable host stripping
f7ffd8e3
EA
1149 96 Bottom half of Ruleset 3 (ruleset 6 in old sendmail)
1150 97 Hook for recursive ruleset 0 call (ruleset 7 in old sendmail)
5dd53c38 1151 98 Local part of ruleset 0 (ruleset 8 in old sendmail)
7ace9d88
EA
1152
1153
1154MAILERS
1155
1156 0 local, prog local and program mailers
2a20bc94
EA
1157 1 [e]smtp, relay SMTP channel
1158 2 uucp-* UNIX-to-UNIX Copy Program
bee9d799 1159 3 netnews Network News delivery
63013ec3 1160 4 fax Sam Leffler's FlexFAX software
7ace9d88
EA
1161
1162
1163MACROS
1164
1165 A
1166 B Bitnet Relay
72a40e6d 1167 C
f5baef19 1168 D The local domain -- usually not needed
7ace9d88 1169 E
63013ec3 1170 F FAX Relay
7ace9d88 1171 G
34e49bd3 1172 H mail Hub (for mail clusters)
7ace9d88
EA
1173 I
1174 J
1175 K
1176 L
1177 M Masquerade (who I claim to be)
1178 N
1179 O
1180 P
1181 Q
1182 R Relay (for unqualified names)
28b51619 1183 S Smart Host
7ace9d88 1184 T
c573210d
EA
1185 U my UUCP name (if I have a UUCP connection)
1186 V UUCP Relay (class V hosts)
7ace9d88
EA
1187 W UUCP Relay (class W hosts)
1188 X UUCP Relay (class X hosts)
c573210d 1189 Y UUCP Relay (all other hosts)
7ace9d88
EA
1190 Z Version number
1191
1192
1193CLASSES
1194
1195 A
1196 B
1197 C
1198 D
4a51b074 1199 E addresses that should not seem to come from $M
f5baef19 1200 F hosts we forward for
7ace9d88
EA
1201 G
1202 H
1203 I
1204 J
1205 K
1206 L addresses that should not be forwarded to $R
1207 M
1208 N
1209 O operators that indicate network operations (cannot be in local names)
91626fee 1210 P top level pseudo-domains: BITNET, FAX, UUCP, etc.
7ace9d88
EA
1211 Q
1212 R
1213 S
1214 T
1215 U locally connected UUCP hosts
c573210d
EA
1216 V UUCP hosts connected to relay $V
1217 W UUCP hosts connected to relay $W
1218 X UUCP hosts connected to relay $X
1219 Y locally connected smart UUCP hosts
2e9b6f6e 1220 Z locally connected domain-ized UUCP hosts
f5baef19 1221 . the class containing only a dot
7ace9d88
EA
1222
1223
1224M4 DIVERSIONS
1225
28b51619
EA
1226 1 Local host detection and resolution
1227 2 Local Ruleset 3 additions
1228 3 Local Ruleset 0 additions
9df1b56b 1229 4 UUCP Ruleset 0 additions
c573210d 1230 5 locally interpreted names (overrides $R)
f5baef19 1231 6 local configuration (at top of file)
7ace9d88 1232 7 mailer definitions
32f9e686 1233 8
06630be3 1234 9 special local rulesets (1 and 2)