#
# Copyright (c) 1983 Eric P. Allman
# Copyright (c) 1988, 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.
#
# @(#)proto-null	3.8 (motonori/WIDE) 2/11/94
#%REVISION_ID_LIST%

############################################################################
############################################################################
#####
#####		SENDMAIL CONFIGURATION FILE
#####			for R8 sendmail
#####
#%WHO%
#%WHERE%
#%WHAT%
#%WHEN%
#####
############################################################################
############################################################################
#%CHAR_ALLOCATION_LIST%

# level 5 config file format
V5

#########################
#   Local Information   #
#########################

# local domain name (defined automatically)
#%MACRO_m%

# local host name without domain (defined automatically)
#%MACRO_w%

# my official SMTP hostname (defined automatically)
#%MACRO_j%

# my internet aliases
#%FILECLASS_w%
#%CLASS_w%

#%HDRSPOOLHOST%
#%BROKENSMTPPEERS%

# route-addr separators
C: : ,

# special address terminators
CX ] .

#############################
###   Setup Information   ###
#############################

######################
#   General Macros   #
######################

#%MXDOTTERMINATE%

######################
#   Version Number   #
######################

#%VERSION%

######################
#   Special macros   #
######################

# my name
#%MACRO_n%
# UNIX header format
#%MACRO_l%
# delimiter (operator) characters
#%MACRO_o%
# format of a total name
#%MACRO_q%
# SMTP login message
#%MACRO_e%

###############
#   Options   #
###############

# strip message body to 7 bits on input?
#%OPTION_7%
# location of alias file
#%OPTION_A%
# wait (in minutes) for alias file rebuild
#%OPTION_a%
# substitution for space (blank) characters
#%OPTION_B%
# minimum number of free blocks on filesystem
#%OPTION_b%
# checkpoint queue runs after every N successful deliveries
#%OPTION_C%
# connect to "expensive" mailers on initial submission?
#%OPTION_c%
# automatically rebuild the alias database?
#%OPTION_D%
# default delivery mode
#%OPTION_d%
# error message header/file */
#%OPTION_E%
# error mode
#%OPTION_e%
# temporary file mode
#%OPTION_F%
# save Unix-style "From_" lines at top of header?
#%OPTION_f%
# match recipients against GCOS field?
#%OPTION_G%
# default GID
#%OPTION_g%
# location of help file
#%OPTION_H%
# maximum hop count
#%OPTION_h%
# Insist that the BIND name server be running to resolve names
#%OPTION_I%
# ignore dots as terminators in incoming messages?
#%OPTION_i%
# Forward file search path
#%OPTION_J%
# deliver MIME-encapsulated error messages?
#%OPTION_j%
# open connection cache timeout
#%OPTION_K%
# open connection cache size
#%OPTION_k%
# log level
#%OPTION_L%
# use Errors-To: header?
#%OPTION_l%
# send to me too, even in an alias expansion?
#%OPTION_m%
# verify RHS in newaliases?
#%OPTION_n%
# SMTP daemon options
#%OPTION_O%
# default messages to old style headers if no special punctuation?
#%OPTION_o%
# who (if anyone) should get extra copies of error messages
#%OPTION_P%
# privacy flags
#%OPTION_p%
# queue directory
#%OPTION_Q%
# slope of queue-only function
#%OPTION_q%
# do not strip route address of error receiver
#%OPTION_R%
# read timeout -- now OK per RFC 1123 section 5.3.2
#%OPTION_r%
# status file
#%OPTION_S%
# queue up everything before forking?
#%OPTION_s%
# default message timeout interval
#%OPTION_T%
# time zone handling:
#  if undefined, use system default
#  if defined but null, use TZ envariable passed in
#  if defined and non-null, use that info
#%OPTION_t%
# list of locations of user database file (null means no lookup)
#%OPTION_U%
# default UID
#%OPTION_u%
# fallback MX host
#%OPTION_V%
# if we are the best MX host for a site, try it directly instead of config err
#%OPTION_w%
# load average at which we refuse connections
#%OPTION_X%
# load average at which we just queue messages
#%OPTION_x%
# deliver each queued job in a separate process?
#%OPTION_Y%
# work recipient factor
#%OPTION_y%
# work time factor
#%OPTION_Z%
# work class factor
#%OPTION_z%


###########################
#   Message precedences   #
###########################

Pfirst-class=0
Pspecial-delivery=100
Plist=-30
Pbulk=-60
Pjunk=-100

#####################
#   Trusted users   #
#####################

Troot daemon uucp

#########################
#   Format of headers   #
#########################

H?P?Return-Path: $g
#%FMTRECEIVED%
H?D?Resent-Date: $a
H?D?Date: $a
H?F?Resent-From: $q
H?F?From: $q
H?x?Full-Name: $x
HSubject:
# HPosted-Date: $a
# H?l?Received-Date: $b
H?M?Resent-Message-Id: <$t.$i@$j>
H?M?Message-Id: <$t.$i@$j>


######################################################################
######################################################################
#####
#####			REWRITING RULES
#####
######################################################################
######################################################################

###########################################
###  Rulset 3 -- Name Canonicalization  ###
###########################################
S3

# handle null input and list syntax
R$@			$@<>

# basic textual canonicalization -- note RFC733 heuristic here
R$*<$*>$*<$*>$*		$2$3<$4>$5			strip multiple <> <>
R$*<$*<$*<$+>$*>$*>$*	$4				3-level <> nesting
R$*<$*<$+>$*>$*		$3				2-level <> nesting
R$*<>$*			$@<>				MAIL FROM: <> case
R$*<$+>$*		$2				basic RFC821/822 parsing


####################################
###  Ruleset 0 -- Parse Address  ###
####################################

S0

# eliminate local host if present
#%ELIMADDR%

# pass everything to a relay host
R$*			$:<@$R>:$1
R<@$*$=X>:$*		$#relay$@$1$2$:$3
R<@$*>:$*		$#relay$@$1$X$:$2


######################################################################
######################################################################
#####
#####			MAILER DEFINITIONS
#####
######################################################################
######################################################################

#%LOCALMAILER%
#%PROGMAILER%

#%RELAYMAILER%
