Sendmail configuration -- answers (LONG) and one question

From: Robert L Krawitz (rlk@think.com)
Date: Fri May 11 1990 - 13:35:45 CDT


About a month ago I asked for any help and/or experience in configuring
sendmail. We run essentially a pure hub-and-spoke mailer (with a very
few exceptions), with a centralized mail server that does all the work,
and dumb workstations that mount a central /usr/spool/mail and which
deliver all mail, essentially unprocessed, to the central server (which
runs purely as a dedicated mail server, with no logins, home
directories, etc.). I received answers from too many people to list
here.

One last problem that we seem to be having: on occasion, a message to a
perfectly valid alias gets rejected with a user unknown. We have
automatic alias rebuilding set, and we sometimes rebuild by hand. This
takes about 10 seconds. We also have Oa10 set in the configuration
file, which supposedly means that sendmail will wait 10 minutes, if
necessary, for alias rebuilding to complete. This may have fixed the
problem (I may have initially forgotten to restart sendmail after adding
this), but I'm not certain. Does anyone have any suggestions? We're
running 5.61 with a couple of local fixes that are completely unrelated
to this.

Anyway, the client configuration wound up pretty simple. It was my idea
initially to eliminate ruleset 3 altogether, but unfortunately that
didn't work very well. The "minimalist" sendmail.cf follows. Note that
there is no "functional" local or prog mailer, inasmuch as there is no
local delivery of any kind.

###########################################################
#
# SENDMAIL CONFIGURATION FILE FOR SUBSIDIARY MACHINES
#
# You should install this file as /etc/sendmail.cf
# if your machine is a subsidiary machine (that is, some
# other machine in your domain is the main mail-relaying
# machine). Then edit the file to customize it for your
# network configuration.
#
# See the manual "System Administration for the Sun Workstation".
# Look at "Setting Up The Mail Routing System" in the chapter on
# Communications. The Sendmail references in the back of the
# manual are also very useful.
#
# @(#)subsidiary.mc 1.11 88/02/08 SMI; from UCB arpa.mc 3.25 2/24/83
#

# official hostname
Dj$w

DOThink.COM

# smart neighbor, send everythink we don't understand
DNmail.think.com

#################################################
#
# General configuration information

# local domain names
#
# These can now be set from the domainname system call.
# If your YP domain is different from the domain name you would like to have
# appear in your mail headers, edit them to be your mail domain name.
# Note that the first component of the YP domain name is stripped off unless
# it begins with a dot or a plus sign.
# DmPodunk.EDU

# known hosts in this domain are obtained from gethostbyname() call

# Version number of configuration file
DVThink-1.0C

### Standard macros

# name used for error messages
DnMailer-Daemon
# UNIX header format
DlFrom $g $d
# delimiter (operator) characters
Do.:%@!^=/[]
# format of a total name
Dq$?x$x <$g>$|$g$.
# SMTP login message
De$j Sendmail $v/$V ready at $b

### Options

# Remote mode - send through server if mailbox directory is mounted
OR
# location of alias file
OA/etc/aliases
# default delivery mode (deliver in background)
Odbackground
# rebuild the alias file automagically
OD
# temporary file mode -- 0600 for secure mail, 0644 for permissive
OF0600
# default GID
Og1
# location of help file
OH/usr/lib/sendmail.hf
# log level
OL9
# default messages to old style
Oo
# queue directory
OQ/usr/spool/mqueue
# read timeout for SMTP protocols
Or15m
# status file -- none
OS/etc/sendmail.st
# queue up everything before starting transmission, for safety
Os
# return queued mail after this long
OT3d
# default UID
Ou1

### Message precedences
Pfirst-class=0
Pspecial-delivery=100
Pjunk=-100

### Trusted users
T root daemon uucp

### Format of headers
H?P?Return-Path: <$g>
HReceived: $?sfrom $s $.by $j ($v/$V)
        id $i; $b
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $q
H?F?From: $q
H?x?Full-Name: $x
HSubject:
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>
HErrors-To:

S3

# handle "from:<>" special case
R<> $@@ turn into magic token

# basic textual canonicalization
R$*<$+>$* $2 basic RFC822 parsing

# make sure <@a,@b,@c:user@d> syntax is easy to parse -- undone later
R@$+,$+:$+ @$1:$2:$3 change all "," to ":"
R@$+:$+ $@$>6<@$1>:$2 src route canonical

R$+:$*;@$+ $@$1:$2;@$3 list syntax
R$+@$+ $:$1<@$2> focus on domain
R$+<$+@$+> $1$2<@$3> move gaze right
R$+<@$+> $@$>6$1<@$2> already canonical

# convert old-style names to domain-based names
# All old-style names parse from left to right, without precedence.
R$-!$+ $@$>6$2<@$1.uucp> uucphost!user
R$-.$+!$+ $@$>6$3<@$1.$2> host.domain!user
R$+%$+ $@$>3$1@$2 user%host

# Final Output Post-rewriting
S4
R$+<@$+.uucp> $2!$1 u@h.uucp => h!u
R$+ $: $>9 $1 Clean up addr
R$*<$+>$* $1$2$3 defocus

# Clean up an name for passing to a mailer
# (but leave it focused)
S9
R@ $@$n handle <> error addr
R$*<$*LOCAL>$* $1<$2$m>$3 change local info
R<@$+>$*:$+:$+ <@$1>$2,$3:$4 <route-addr> canonical

S1

S2

S4
R$+<@$+.uucp> $2!$1 u@h.uucp => h!u
R$+ $: $>9 $1 Clean up addr
R$*<$+>$* $1$2$3 defocus

# Local and Program Mailer specification

Mlocal, P=[IPC], F=msDFMuCX, S=11, R=21, A=TCP $h
Mprog, P=[IPC], F=msDFMuCX, S=11, R=21, A=TCP $h

S10
# None needed.

S20
# None needed.

############################################################
#####
##### Ethernet Mailer specification
#####
##### Messages processed by this configuration are assumed to remain
##### in the same domain. This really has nothing particular to do
##### with Ethernet - the name is historical.

Mether, P=[IPC], F=msDFMuCX, S=11, R=21, A=TCP $h
S11

S21
# None needed.

S0
# everything else is a local name
R$+ $#ether $@$N $:$1 local names

The central mail server converts all addresses (with a very few
exceptions, such as "affiliated" machines that are not part of our
internal network) to the form "foo@think.com", and in addition ensures
that all names are fully qualified (even internally). People interested
in this can send me mail.



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:05:57 CDT