Return-Path: sanders@austin.BSDI.COM Received: 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 ; Sat, 10 Dec 1994 10:49:08 -0800 Received: 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 ; Sat, 10 Dec 1994 10:49:03 -0800 Received: 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 ; Sat, 10 Dec 1994 12:49:01 -0600 Message-Id: <199412101849.MAA14919@austin.BSDI.COM> To: Eric Allman Subject: Re: sorting mailings lists with fastest delivery users first In-reply-to: Your message of Sat, 10 Dec 1994 08:25:30 PST. References: <199412101625.IAA15407@mastodon.CS.Berkeley.EDU> From: Tony Sanders Organization: Berkeley Software Design, Inc. Date: Sat, 10 Dec 1994 12:49:00 -0600 Sender: sanders@austin.BSDI.COM (some random text deleted) I'll send you something else I've hacked up. You are free to use this or do with it as you like (I hereby make all my parts public domain). It's a sample .mc file that has comments (mostly taken from the README) and examples describing most of the common things people need to setup. # # /usr/share/sendmail/cf/sample.mc # # Do not edit /etc/sendmail.cf directly unless you cannot do what you # want in the master config file (/usr/share/sendmail/cf/sample.mc). # To create /etc/sendmail.cf from the master: # cd /usr/share/sendmail/cf # mv /etc/sendmail.cf /etc/sendmail.cf.save # m4 < sample.mc > /etc/sendmail.cf # # Then kill and restart sendmail: # sh -c 'set `cat /var/run/sendmail.pid`; kill $1; shift; eval "$@"' # # See /usr/share/sendmail/README for help in building a configuration file. # include(`../m4/cf.m4') VERSIONID(`@(#)$Id: bsdi.mc,v 1.1.1.1 1996/01/22 10:59:39 mrg Exp $') dnl # Specify your OS type below OSTYPE(`bsd4.4') dnl # NOTE: `dnl' is the m4 command for delete-to-newline; these are dnl # used to prevent those lines from appearing in the sendmail.cf. dnl # dnl # UUCP-only sites should configure FEATURE(`nodns') and SMART_HOST. dnl # The uucp-dom mailer requires MAILER(smtp). For more info, see dnl # `UUCP Config' at the end of this file. dnl # If you are not running DNS at all, it is important to use dnl # FEATURE(nodns) to avoid having sendmail queue everything dnl # waiting for the name server to come up. dnl # Example: dnl FEATURE(`nodns') dnl # Use FEATURE(`nocanonify') to skip address canonification via $[ ... $]. dnl # This would generally only be used by sites that only act as mail gateways dnl # or which have user agents that do full canonification themselves. dnl # You may also want to use: dnl # define(`confBIND_OPTS',`-DNSRCH -DEFNAMES') dnl # to turn off the usual resolver options that do a similar thing. dnl # Examples: dnl FEATURE(`nocanonify') dnl define(`confBIND_OPTS',`-DNSRCH -DEFNAMES') dnl # If /bin/hostname is not set to the FQDN (Full Qualified Domain Name; dnl # for example, foo.bar.com) *and* you are not running a nameserver dnl # (that is, you do not have an /etc/resolv.conf and are not running dnl # named) *and* the canonical name for your machine in /etc/hosts dnl # (the canonical name is the first name listed for a given IP Address) dnl # is not the FQDN version then define NEED_DOMAIN and specify your dnl # domain using `DD' (for example, if your hostname is `foo.bar.com' dnl # then use DDbar.com). If in doubt, just define it anyway; doesn't hurt. dnl # Examples: dnl define(`NEED_DOMAIN', `1') dnl DDyour.site.domain dnl # Define SMART_HOST if you want all outgoing mail to go to a central dnl # site. SMART_HOST applies to names qualified with non-local names. dnl # Example: dnl define(`SMART_HOST', `smtp:firewall.bar.com') dnl # Define MAIL_HUB if you want all incoming mail sent to a dnl # centralized hub, as for a shared /var/spool/mail scheme. dnl # MAIL_HUB applies to names qualified with the name of the dnl # local host (e.g., "eric@foo.bar.com"). dnl # Example: dnl define(`MAIL_HUB', `smtp:mailhub.bar.com') dnl # LOCAL_RELAY is a site that will handle unqualified names, this is dnl # basically for site/company/department wide alias forwarding. By dnl # default mail is delivered on the local host. dnl # Example: dnl define(`LOCAL_RELAY', `smtp:mailgate.bar.com') dnl # Relay hosts for fake domains: .UUCP .BITNET .CSNET dnl # Examples: dnl define(`UUCP_RELAY', `mailer:your_relay_host') dnl define(`BITNET_RELAY', `mailer:your_relay_host') dnl define(`CSNET_RELAY', `mailer:your_relay_host') dnl # Define `MASQUERADE_AS' is used to hide behind a gateway. dnl # add any accounts you wish to be exposed (i.e., not hidden) to the dnl # `EXPOSED_USER' list. dnl # Example: dnl MASQUERADE_AS(`some.other.host') dnl # If masquerading, EXPOSED_USER defines the list of accounts dnl # that retain the local hostname in their address. dnl # Example: dnl EXPOSED_USER(`postmaster hostmaster webmaster') dnl # If masquerading is enabled (using MASQUERADE_AS above) then dnl # FEATURE(allmasquerade) will cause recipient addresses to dnl # masquerade as being from the masquerade host instead of dnl # getting the local hostname. Although this may be right for dnl # ordinary users, it breaks local aliases that aren't exposed dnl # using EXPOSED_USER. dnl # Example: dnl FEATURE(allmasquerade) dnl # Include any required mailers MAILER(local) MAILER(smtp) MAILER(uucp) LOCAL_CONFIG # If this machine should be accepting mail as local for other hostnames # that are MXed to this hostname then add those hostnames below using # a line like: # Cw bar.com # The most common case where you need this is if this machine is supposed # to be accepting mail for the domain. That is, if this machine is # foo.bar.com and you have an MX record in the DNS that looks like: # bar.com. IN MX 0 foo.bar.com. # Then you will need to add `Cw bar.com' to the config file for foo.bar.com. # DO NOT add Cw entries for hosts whom you simply store and forward mail # for or else it will attempt local delivery. So just because bubba.bar.com # is MXed to your machine you should not add a `Cw bubba.bar.com' entry # unless you want local delivery and your machine is the highest-priority # MX entry (that is is has the lowest preference value in the DNS. LOCAL_RULE_0 # `LOCAL_RULE_0' can be used to introduce alternate delivery rules. # For example, let's say you accept mail via an MX record for widgets.com # (don't forget to add widgets.com to your Cw list, as above). # # If wigets.com only has an AOL address (widgetsinc) then you could use: # R$+ <@ widgets.com.> $#smtp $@aol.com. $:widgetsinc<@aol.com.> # # Or, if widgets.com was connected to you via UUCP as the UUCP host # widgets you might have: # R$+ <@ widgets.com.> $#uucp $@widgets $:$1<@widgets.com.> dnl ### dnl ### UUCP Config dnl ### dnl # `SITECONFIG(site_config_file, name_of_site, connection)' dnl # site_config_file the name of a file in the cf/siteconfig dnl # directory (less the `.m4') dnl # name_of_site the actual name of your UUCP site dnl # connection one of U, W, X, or Y; where U means the sites listed dnl # in the config file are connected locally; W, X, and Y dnl # build remote UUCP hub classes ($=W, etc). dnl # You will need to create the specific site_config_file in dnl # /usr/share/sendmail/siteconfig/site_config_file.m4 dnl # The site_config_file contains a list of directly connected UUCP hosts, dnl # e.g., if you only connect to UUCP site gargoyle then you could just: dnl # echo 'SITE(gargoyle)' > /usr/share/sendmail/siteconfig/uucp.foobar.m4 dnl # Example: dnl SITECONFIG(`uucp.foobar', `foobar', U) dnl # If you are on a local SMTP-based net that connects to the outside dnl # world via UUCP, you can use LOCAL_NET_CONFIG to add appropriate rules. dnl # For example: dnl # define(`SMART_HOST', suucp:uunet) dnl # LOCAL_NET_CONFIG dnl # R$* < @ $* .$m. > $* $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3 dnl # This will cause all names that end in your domain name ($m) to be sent dnl # via SMTP; anything else will be sent via suucp (smart UUCP) to uunet. dnl # If you have FEATURE(nocanonify), you may need to omit the dots after dnl # the $m. dnl # dnl # If you are running a local DNS inside your domain which is not dnl # otherwise connected to the outside world, you probably want to use: dnl # define(`SMART_HOST', smtp:fire.wall.com) dnl # LOCAL_NET_CONFIG dnl # R$* < @ $* . > $* $#smtp $@ $2. $: $1 < @ $2. > $3 dnl # That is, send directly only to things you found in your DNS lookup; dnl # anything else goes through SMART_HOST.