[comp.mail.sendmail] Unknown user forwarding?

dce@smsc.sony.com (David Elliott) (11/28/89)

Here's an interesting problem:

We have a number of machines offsite that we talk to via uucp.  We can
send mail to the people on these machines by simply using login names
because they are all listed in our aliases file.

They, on the other hand, don't have our aliases file, so they must
be explicit when they send us mail.  They don't feel this is
acceptable.

The result is that we'll have to set up some system for sending out
new aliases files every day or so to keep these sites up to date,
and we'll have to change from the relatively simple

	user:	user@workstation

entries in our aliases file to using

	user:	user@workstation.smsc.sony.com

What would be great is if we could have sendmail on these machines
notice that the user being sent to is not a local user or local
alias and rewrite the address as "user@smsc.sony.com".

Does anyone know of a good way to do this with sendmail, or is my
best bet to put a wrapper around /bin/mail that would do this
for me?
-- 
David Elliott
dce@smsc.sony.com | ...!{uunet,mips}!sonyusa!dce
(408)944-4073
"It's bigger than a breadbox, and smaller than the planet Jupiter."

ecf_hap@jhunix.HCF.JHU.EDU (Andrew Poling) (11/30/89)

In article <1989Nov28.062023.19391@smsc.sony.com> dce@smsc.sony.com (David Elliott) writes:
[...]
>What would be great is if we could have sendmail on these machines
>notice that the user being sent to is not a local user or local
>alias and rewrite the address as "user@smsc.sony.com".
>
>Does anyone know of a good way to do this with sendmail, or is my
>best bet to put a wrapper around /bin/mail that would do this
>for me?

I do exactly this on my machine for historical (hysterical) reasons.  It's
not hard at all.  IMHO, it's easier to have sendmail do these sorts of jobs
than re-invent the wheel...

At the top of your .cf file, do something like:

#
# /etc/local_logins is simply a list of logins cut(1) from /etc/passwd
#
FU/etc/local_logins



Then in Ruleset 0, where you handle local mail, do something like:

#
# If a simple username and not in /etc/local_logins, send to other_host
#
R$~U		$#ether $@other_host $:$1@other_host		non-local users

#
# Else-wise, it must be a local user
#
R$-		$#local $:$1					local users




Hope this helps and if you have further questions, feel free to mail me.

-Andy


Andy Poling                              Internet: andy@gollum.hcf.jhu.edu
Network Services Group                   Bitnet: ANDY@JHUVMS
Homewood Academic Computing              Voice: (301)338-8096    
Johns Hopkins University                 UUCP: mimsy!aplcen!jhunix!gollum!andy