xref: /freebsd/contrib/sendmail/contrib/bsdi.mc (revision d6b92ffa)
1Return-Path: sanders@austin.BSDI.COM
2Received: from hofmann.CS.Berkeley.EDU (hofmann.CS.Berkeley.EDU [128.32.34.35]) by orodruin.CS.Berkeley.EDU (8.6.9/8.7.0.Beta0) with ESMTP id KAA28278 for <eric@orodruin.CS.Berkeley.EDU>; Sat, 10 Dec 1994 10:49:08 -0800
3Received: from austin.BSDI.COM (austin.BSDI.COM [137.39.95.2]) by hofmann.CS.Berkeley.EDU (8.6.9/8.6.6.Beta11) with ESMTP id KAA09482 for <eric@cs.berkeley.edu>; Sat, 10 Dec 1994 10:49:03 -0800
4Received: from austin.BSDI.COM (sanders@localhost [127.0.0.1]) by austin.BSDI.COM (8.6.9/8.6.9) with ESMTP id MAA14919 for <eric@cs.berkeley.edu>; Sat, 10 Dec 1994 12:49:01 -0600
5Message-Id: <199412101849.MAA14919@austin.BSDI.COM>
6To: Eric Allman <eric@cs.berkeley.edu>
7Subject: Re: sorting mailings lists with fastest delivery users first
8In-reply-to: Your message of Sat, 10 Dec 1994 08:25:30 PST.
9References: <199412101625.IAA15407@mastodon.CS.Berkeley.EDU>
10From: Tony Sanders <sanders@bsdi.com>
11Organization: Berkeley Software Design, Inc.
12Date: Sat, 10 Dec 1994 12:49:00 -0600
13Sender: sanders@austin.BSDI.COM
14
15(some random text deleted)
16
17I'll send you something else I've hacked up.  You are free to use this
18or do with it as you like (I hereby make all my parts public domain).
19It's a sample .mc file that has comments (mostly taken from the README)
20and examples describing most of the common things people need to setup.
21
22#
23# /usr/share/sendmail/cf/sample.mc
24#
25# Do not edit /etc/sendmail.cf directly unless you cannot do what you
26# want in the master config file (/usr/share/sendmail/cf/sample.mc).
27# To create /etc/sendmail.cf from the master:
28#     cd /usr/share/sendmail/cf
29#     mv /etc/sendmail.cf /etc/sendmail.cf.save
30#     m4 < sample.mc > /etc/sendmail.cf
31#
32# Then kill and restart sendmail:
33#     sh -c 'set `cat /var/run/sendmail.pid`; kill $1; shift; eval "$@"'
34#
35# See /usr/share/sendmail/README for help in building a configuration file.
36#
37include(`../m4/cf.m4')
38VERSIONID(`@(#)$Id: bsdi.mc,v 8.1 1999-02-06 18:44:08 gshapiro Exp $')
39
40dnl # Specify your OS type below
41OSTYPE(`bsd4.4')
42
43dnl # NOTE: `dnl' is the m4 command for delete-to-newline; these are
44dnl # used to prevent those lines from appearing in the sendmail.cf.
45dnl #
46dnl # UUCP-only sites should configure FEATURE(`nodns') and SMART_HOST.
47dnl # The uucp-dom mailer requires MAILER(smtp).  For more info, see
48dnl # `UUCP Config' at the end of this file.
49
50dnl # If you are not running DNS at all, it is important to use
51dnl # FEATURE(nodns) to avoid having sendmail queue everything
52dnl # waiting for the name server to come up.
53dnl # Example:
54dnl     FEATURE(`nodns')
55
56dnl # Use FEATURE(`nocanonify') to skip address canonification via $[ ... $].
57dnl # This would generally only be used by sites that only act as mail gateways
58dnl # or which have user agents that do full canonification themselves.
59dnl # You may also want to use:
60dnl #     define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
61dnl # to turn off the usual resolver options that do a similar thing.
62dnl # Examples:
63dnl     FEATURE(`nocanonify')
64dnl     define(`confBIND_OPTS',`-DNSRCH -DEFNAMES')
65
66dnl # If /bin/hostname is not set to the FQDN (Full Qualified Domain Name;
67dnl # for example, foo.bar.com) *and* you are not running a nameserver
68dnl # (that is, you do not have an /etc/resolv.conf and are not running
69dnl # named) *and* the canonical name for your machine in /etc/hosts
70dnl # (the canonical name is the first name listed for a given IP Address)
71dnl # is not the FQDN version then define NEED_DOMAIN and specify your
72dnl # domain using `DD' (for example, if your hostname is `foo.bar.com'
73dnl # then use DDbar.com).  If in doubt, just define it anyway; doesn't hurt.
74dnl # Examples:
75dnl     define(`NEED_DOMAIN', `1')
76dnl     DDyour.site.domain
77
78dnl # Define SMART_HOST if you want all outgoing mail to go to a central
79dnl # site.  SMART_HOST applies to names qualified with non-local names.
80dnl # Example:
81dnl     define(`SMART_HOST', `smtp:firewall.bar.com')
82
83dnl # Define MAIL_HUB if you want all incoming mail sent to a
84dnl # centralized hub, as for a shared /var/spool/mail scheme.
85dnl # MAIL_HUB applies to names qualified with the name of the
86dnl # local host (e.g., "eric@foo.bar.com").
87dnl # Example:
88dnl     define(`MAIL_HUB', `smtp:mailhub.bar.com')
89
90dnl # LOCAL_RELAY is a site that will handle unqualified names, this is
91dnl # basically for site/company/department wide alias forwarding.  By
92dnl # default mail is delivered on the local host.
93dnl # Example:
94dnl     define(`LOCAL_RELAY', `smtp:mailgate.bar.com')
95
96dnl # Relay hosts for fake domains: .UUCP .BITNET .CSNET
97dnl # Examples:
98dnl     define(`UUCP_RELAY', `mailer:your_relay_host')
99dnl     define(`BITNET_RELAY', `mailer:your_relay_host')
100dnl     define(`CSNET_RELAY', `mailer:your_relay_host')
101
102dnl # Define `MASQUERADE_AS' is used to hide behind a gateway.
103dnl # add any accounts you wish to be exposed (i.e., not hidden) to the
104dnl # `EXPOSED_USER' list.
105dnl # Example:
106dnl     MASQUERADE_AS(`some.other.host')
107
108dnl # If masquerading, EXPOSED_USER defines the list of accounts
109dnl # that retain the local hostname in their address.
110dnl # Example:
111dnl     EXPOSED_USER(`postmaster hostmaster webmaster')
112
113dnl # If masquerading is enabled (using MASQUERADE_AS above) then
114dnl # FEATURE(allmasquerade) will cause recipient addresses to
115dnl # masquerade as being from the masquerade host instead of
116dnl # getting the local hostname.  Although this may be right for
117dnl # ordinary users, it breaks local aliases that aren't exposed
118dnl # using EXPOSED_USER.
119dnl # Example:
120dnl     FEATURE(allmasquerade)
121
122dnl # Include any required mailers
123MAILER(local)
124MAILER(smtp)
125MAILER(uucp)
126
127LOCAL_CONFIG
128# If this machine should be accepting mail as local for other hostnames
129# that are MXed to this hostname then add those hostnames below using
130# a line like:
131#     Cw bar.com
132# The most common case where you need this is if this machine is supposed
133# to be accepting mail for the domain.  That is, if this machine is
134# foo.bar.com and you have an MX record in the DNS that looks like:
135#     bar.com.  IN      MX      0 foo.bar.com.
136# Then you will need to add `Cw bar.com' to the config file for foo.bar.com.
137# DO NOT add Cw entries for hosts whom you simply store and forward mail
138# for or else it will attempt local delivery.  So just because bubba.bar.com
139# is MXed to your machine you should not add a `Cw bubba.bar.com' entry
140# unless you want local delivery and your machine is the highest-priority
141# MX entry (that is is has the lowest preference value in the DNS.
142
143LOCAL_RULE_0
144# `LOCAL_RULE_0' can be used to introduce alternate delivery rules.
145# For example, let's say you accept mail via an MX record for widgets.com
146# (don't forget to add widgets.com to your Cw list, as above).
147#
148# If wigets.com only has an AOL address (widgetsinc) then you could use:
149# R$+ <@ widgets.com.>  $#smtp $@aol.com. $:widgetsinc<@aol.com.>
150#
151# Or, if widgets.com was connected to you via UUCP as the UUCP host
152# widgets you might have:
153# R$+ <@ widgets.com.>   $#uucp $@widgets $:$1<@widgets.com.>
154
155dnl ###
156dnl ### UUCP Config
157dnl ###
158
159dnl # `SITECONFIG(site_config_file, name_of_site, connection)'
160dnl # site_config_file the name of a file in the cf/siteconfig
161dnl #                  directory (less the `.m4')
162dnl # name_of_site     the actual name of your UUCP site
163dnl # connection       one of U, W, X, or Y; where U means the sites listed
164dnl #                  in the config file are connected locally;  W, X, and Y
165dnl #                  build remote UUCP hub classes ($=W, etc).
166dnl # You will need to create the specific site_config_file in
167dnl #     /usr/share/sendmail/siteconfig/site_config_file.m4
168dnl # The site_config_file contains a list of directly connected UUCP hosts,
169dnl # e.g., if you only connect to UUCP site gargoyle then you could just:
170dnl #   echo 'SITE(gargoyle)' > /usr/share/sendmail/siteconfig/uucp.foobar.m4
171dnl # Example:
172dnl     SITECONFIG(`uucp.foobar', `foobar', U)
173
174dnl # If you are on a local SMTP-based net that connects to the outside
175dnl # world via UUCP, you can use LOCAL_NET_CONFIG to add appropriate rules.
176dnl # For example:
177dnl #   define(`SMART_HOST', suucp:uunet)
178dnl #   LOCAL_NET_CONFIG
179dnl #   R$* < @ $* .$m. > $*    $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3
180dnl # This will cause all names that end in your domain name ($m) to be sent
181dnl # via SMTP; anything else will be sent via suucp (smart UUCP) to uunet.
182dnl # If you have FEATURE(nocanonify), you may need to omit the dots after
183dnl # the $m.
184dnl #
185dnl # If you are running a local DNS inside your domain which is not
186dnl # otherwise connected to the outside world, you probably want to use:
187dnl #   define(`SMART_HOST', smtp:fire.wall.com)
188dnl #   LOCAL_NET_CONFIG
189dnl #   R$* < @ $* . > $*       $#smtp $@ $2. $: $1 < @ $2. > $3
190dnl # That is, send directly only to things you found in your DNS lookup;
191dnl # anything else goes through SMART_HOST.
192