🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.mail.sendmail
2 messages
2 total messages Started by Mark Sirota Wed, 28 Dec 1988 19:12
Catching bad addresses
#3036
Author: Mark Sirota
Date: Wed, 28 Dec 1988 19:12
25 lines
1512 bytes
Several months ago (and several months before that, and ...) there was a
discussion on how to catch bad addresses and forward them to some other
machine which might be able to resolve them.

In other words, I want my configuration files to be able to do the
following:
(1) Try to resolve the host part of the address.
(2) If I can't, then forward the letter to cc.rochester.edu (which has a
	better chance of succeeding).

This may come up if, for instance, my local machines are not running name
service but cc.rochester.edu is.

I seem to recall that someone suggested putting a '.' at the end of the
hostname before canonicalizing it with $[ and $], but I can't seem to get
that to work.  Is there some way of accomplishing this?

Thanks in advance.  And I apologize for the multitudinous questions I've
posted to this forum in the last week or so...  I can only hope they seem
like intelligent ones.
-- 
Mark Sirota - University of Rochester, Rochester, NY
 Internet: msir@cc.rochester.edu
 Bitnet:   msir_ss@uordbv.bitnet
 UUCP:     ...!rochester!ur-cc!msir
Re: Catching bad addresses
#3055
Author: Bob Cunningham
Date: Tue, 03 Jan 1989 21:24
69 lines
3124 bytes
There are many ways to do this; an approach which works well in many
situations is to pre-validate all known local host names, and deliver
to them, then throw everything else over to a reasonably-smart relay
machine.

Because I find this sort of thing reasonably handy, I'm enclossing
a fragment of a sendmail.cf which delivers mail ONLY to known local
hosts (and internet numeric addresses); everything else gets tossed to
a relay machine.

Suppose:
	macro w stands for your (unqualified) local host name

	macro D stands for your domain (i.e., Dj$w.$D is your host's
	fully-qualifed name

	class L stands for all your known (unqualified) local host
	names, either from a file or listed explicitly in your sendmail.cf

	macro R stands for the (fully-qualified) name of your relay machine

Then your ruleset zero can look something like (omitting any uucp stuff):

S0
R@                      $#local $:$n            handle <> form
R$-                     $#local $:$1            obvious local name

# Recognize ourselves.
R$*<@w>$*		$@$>6$1                 this host
R$*<@w.$D>$*		$@$>6$1                 this host

# Pre-emptive delivery to specified local sites only
R$*<@$=L>$*             $#ether $@$2.$D $:$1<@$2.$D>$3     local site
R$*<@$=L.$D>$*		$#ether $@$2.$D $:$1<@$2.$D>$3     local site
 
# Internet number specification for RFC822 compatibility.
R<@[$+]>:$*             $:$>9 <@[$1]>:$2	Clean it up, then...
R<@[$+]>:$*             $#ether $@[$1] $:$2	numeric internet spec
R<@[$+]>,$*             $#ether $@[$1] $:$2	numeric internet spec
R$*<@[$+]>              $#ether $@[$2] $:$1	numeric internet spec
 
# Miscellanous cleanup
R<@>:$*                 $@$>6$1			retry after route strip
R$*<@>                  $@$>6$1			strip null trash & retry
 
# General Internet mail.
R$*<@$*.$+>$*		$#ether $@$R $:$1<@$2.$3>$4	name.domain

# Other possibilities.
R$+			$: $>9 $1		clean up external forms

# By default, EVERYTHING else goes to the relay.
R$+			$#ether $@$R $:$1


###     Ruleset 6 just calls rulesets 3 then 0, used in ruleset 0.
S6
R$*                     $: $>3 $1                       First canonicalize
R$*                     $@ $>0 $1                       Then rerun ruleset 0


# Cleans up address for mailer by externalizing internal forms which
# don't meet external specs...but leave focused
S9
R@                      $@$n                            handle <> error addr
R<@$+>$*:$+:$+          <@$1>$2,$3:$4                   <route-addr> canonical
Bob Cunningham
Hawaii Institute of Geophysics, University of Hawaii
bob@kahala.hig.hawaii.edu
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads