Xref: utzoo comp.mail.misc:1098 comp.mail.uucp:1454 comp.mail.sendmail:3 comp.sources.d:2471
Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!ncar!woods
From: woods@ncar.ucar.edu (Greg Woods)
Newsgroups: comp.mail.misc,comp.mail.uucp,comp.mail.sendmail,comp.sources.d
Subject: Re: routing problem with sendmail/smail
Keywords: mail,smail,sendmail,route
Message-ID: <426@ncar.ucar.edu>
Date: 12 Jul 88 03:45:03 GMT
References: <589@ndcheg.cheg.nd.edu>
Reply-To: woods@handies.UCAR.EDU (Greg Woods)
Organization: Scientific Computing Division/NCAR, Boulder CO
Lines: 25

In article <589@ndcheg.cheg.nd.edu> evan@ndcheg.cheg.nd.edu (Evan Bauman) writes:
>
>Since this is coming in via uucp, and not sendmail, rmail (which
>is really smail in disguise!) assumes that this is mail bound for
>another uucp link and bypasses sendmail completely.

   I ran into this one too, when first installing smail long before I ever
heard of BIND. The only fix I was able to come up with is the following
hack to main.c, which causes sendmail to be called EVERY TIME the program
is called as "rmail". This adds an extra load, because sendmail may very
well decide to hand the message back to smail again (but it would be called
as "smail", not "rmail", so there won't be a loop). However it does fix the
problem of local-etherhost!user getting bounced and as a side effect allows
your mail host to accept and route messages of the form host.domain!user
even if they come in over phoneline uucp, assuming your sendmail.cf
file can deal with this). At any rate, the hack is to find the place
where the pointer 'p' is set to rindex(argv[0],'/') and add:

if (*p == 'r')  /* called as rmail */
  handle=NONE; /* always call sendmail */
else handle=ALL; /* called as smail; do routing */

This loses if you are depending on smail to find Internet links for you,
but it sounds like it would work in your configuration.

--Greg