From: merlin@ieee.org (Burt Juda)
Reply-To: hostmaster@fidonet.fidonet.org
Subject: sendmail rules for MXing for .fidonet.org sites

# The header lines which your gate receives in 'mail' messages from
# the Internet *can* be forced into "Internet" format by your MX-receiver,
# even though it's being transmitted via UUCP.  Most sites will typically
# use different sets of header re-writing rules when dealing with a
# "UUCP" site as opposed to sending over the Internet via SMTP.
#
# The UFGATE utilities MailIn/MailOut *CAN* deal with things being in
# Internet format, it does NOT have to have things in bangpath format.
# The biggest advantage this has is to allow your smart-host to handle
# sending to a destination where the 'path' has changed since the message
# came thru (it might be a reply to a 2-month old message).  Better yet,
# it allows the smart-host to use the DNS for sending those replies
# whereever possible.
#
# Essentially a set of rules for handling UUCP transmission with "Internet"
# headers is what is called for.  I have been using this configuration
# successfully between my machines using sendmail since I've been running
# 'ieee.org'.
#
# If you have an MX-receiver (ie: he has an IP address and running an SMTP
# daemon) and we have your MX-record pointing to him, you may want to
# forward this on to the administrator of the system you deal with.
# If he's willing and able to install the extra rulesets for your system,
# the end result will be less bounces for both you and him to deal with
# along with more efficient mail delivery.
#
######################################################################
#   Burt Juda         Internet:  merlin@ieee.org
######################################################################

# If you only handle MXing for ONE .fidonet.org site, you can use the
# following macro.  Otherwise, the uucpname of the site will have to
# be spelled out explicitly in Ruleset 0.
CX fidosite

# If you have given the FidoNet gateway SysOp a logon on your machine,
# you can set the following to a FILE in his $HOME directory so that
# he can maintain the list of FidoNet Nets that must be mapped to
# delivery to his system.
FF/home/sysop_login/gatenets

# otherwise, you can set the class-macro to be a list of the Nets which
# get delivered to his system.
# CF n###
# CF n###


######################################################################
#
# "ufgate" UUCP mailer: Uses UUCP transport but domain-style naming
#          Contains special hacks for FidoNet gateway
#          Use this mailer definition for delivery to sites which
#          are gateways for .fidonet.org.
#
######################################################################

# Mufgate, P=/usr/bin/uux, F=msDFMhuU, S=17, R=23, 

Mufgate, P=/usr/bin/uux, F=msDFMC, S=27, R=28, 
	A=uux - -r $h!rmail ($u)
	
S27
# convert Sender field
# use this if your site can handle the .BITNET pseudo-domain
R$+%$+.BITNET<@$+>	$@$1<@$2.bitnet>	user@host.BITNET

# use this if you map your system to the mail domainname
R$*<@$=w>$*		$:$1<@$m>$3		LOCAL => hostname
R$*<@$m.LOCAL>$*	$:$1<@$m>$3		LOCAL => hostname
R$*<@$m>$*		$:$1<@$m>$2		LOCAL => hostname

# otherwise use only the following
R$*<@$=w.$m>$*		$:$1<@$m>$3		LOCAL => hostname
R$*<@$+.$m>$*		$:$1<@$2.$m>$3		send our domain as is

R$*<@$+>$*		$@$1<@$2>$3		already ok

# if you map outgoing mail as the domain, leave as is
# otherwise change $m to  $w.$m
R$-			$@$1<@$m>
R$-.$-			$@$1.$2<@$m>
R$-.$-.$-		$@$1.$2.$3<@$m>

S28
# Convert recipient (To, Cc) fields
# The following will re-map UUCP-style addresses to Internet-style
# addresses so that REPLIES can use your Nameserver instead of possibly
# being sent to bad paths, thus minimizing bounces.
# The class-macro T is assumed to be a list of the valid Top-Level domains
# which your Nameserver can resolve, ie:  com org edu net mil gov, etc.
#
# strip preceeding path
R$+!$+.fidonet.org!$+	$2.fidonet.org!$3
# site.fidonet.org!user@domain => user@site.fidonet.org
R$+.fidonet.org!$+<@$+.$=T>	$:$2<@$1.fidonet.org>
# strip any preceeding path remaining from what is left
R$+!$+<@$+.fidonet.org>		$@$2<@$3.fidonet.org>

# use this if your site can handle the .BITNET pseudo-domain
R$+%$+.BITNET<@$+>	$@$1<@$2.bitnet>	user@host.BITNET

# use this if you map your system to the mail domainname
R$*<@LOCAL>$*		$:$1<@$m>$2		LOCAL => hostname
R$*<@$m.LOCAL>$*	$:$1<@$m>$2		LOCAL => hostname
R$*<@$m>$*		$:$1<@$m>$2		LOCAL => hostname

R$*<@$=w>$*		$:$1<@$m>$3		LOCAL => hostname
R$*<@$=w.$m>$*		$:$1<@$m>$3		LOCAL => hostname
R$*<@$=w.LOCAL>$*	$:$1<@$m>$3		LOCAL => hostname
R$*<@$=w.$m.LOCAL>$*	$:$1<@$m>$3		LOCAL => hostname

# if you map outgoing mail as the domain, leave as is
# otherwise change $m to  $w.$m
R$+<@LOCAL>		$:$1<@$m>		make sure domain is tacked on
R$*<@$+.$m>$*		$:$1<@$2.$m>$3		send our domain as is

R$*<@$+>$*		$@$1<@$2>$3		already ok

# if you map outgoing mail as the domain, leave as is
# otherwise change $m to  $w.$m
R$-			$@$1<@$m>
R$-.$-			$@$1.$2<@$m>
R$-.$-.$-		$@$1.$2.$3<@$m>

R$+			$:$>7$1

###############
# Ruleset 0
###############

# map the site itself
R$X.fidonet.org!$+		$#ufgate $@$X $:$1.fidonet.org!$2
R$+<@$X.fidonet.org>		$#ufgate $@$X $:$2.fidonet.org!$1

# map the Nets that get gated thru this site
R$+.$=F.z1.fidonet.org!$+	$#ufgate $@$X $:$1.$2.z1.fidonet.org!$3
R$+<@$+.$=F.z1.fidonet.org>	$#ufgate $@$X $:$2.$3.z1.fidonet.org!$1

############################ eof ######################################

