[comp.unix.questions] /bin/mail on 3B2.

greg@gagme.chi.il.us (Gregory Gulik) (06/27/90)

I am using a 3B2 running System V 3.2, and using smail for E-mail.

I noticed that /bin/mail doesn't call smail to process Internet
type addresses, and it doesn't handle them itself.

A lot of programs have /bin/mail hardcoded into them, which fails
when a domain type address is specified.

Is there anything I can do to /bin/mail, or is there a direct replacement
for it that will work properly?

-greg

mark@cbnews.att.com (Mark Horton) (06/30/90)

In article <511@gagme.chi.il.us> greg@gagme.chi.il.us (Gregory Gulik) writes:
>I am using a 3B2 running System V 3.2, and using smail for E-mail.
>
>I noticed that /bin/mail doesn't call smail to process Internet
>type addresses, and it doesn't handle them itself.
>
>A lot of programs have /bin/mail hardcoded into them, which fails
>when a domain type address is specified.
>
>Is there anything I can do to /bin/mail, or is there a direct replacement
>for it that will work properly?

I gather you already have smail, which doesn't come with System V.
smail 2.* comes with a replacement program for /bin/mail called
svbinmail.  The standard smail installation procedure moves /bin/mail
to /bin/lmail and installs svbinmail as /bin/mail.  This is much like
plugging an answering machine in between your phone set and the line.
lmail still does local delivery and serves as a user interface, while
smail handles nonlocal UUCP delivery or calls sendmail.  All svbinmail
does is decide whether to call lmail or smail.

I think smail 3.* can be installed in much the same way, although that's
a very different program that happens to have the same name.

smail 2.* was posted to comp.sources.unix long ago and can probably be
found in your local archives or on UUNET.

By the way, while it's true that many programs have /bin/mail hardcoded
into them, this is not a good idea.  /bin/rmail is probably a more stable
target.  Eventually IEEE 1003.2 systems will have a standard way to do
this, which will probably be neither mail nor rmail.  It's best to allow
the program to be configured from a file so recompilation isn't necessary.
For example, mailx lets you "set sendmail=/bin/mail" or whatever
in the /usr/lib/mailx/mailx.rc file, ditto for Berkeley Mail.  There are
many back ends on different UNIX systems, you don't know what your program
will wind up running on.  (Beware of locking protocols, too, they are not
all the same, and you need to lock the mailbox to write back to it.)

	Mark

lyndon@cs.AthabascaU.CA (Lyndon Nerenberg) (06/30/90)

In article <511@gagme.chi.il.us> greg@gagme.chi.il.us (Gregory Gulik) writes:

>A lot of programs have /bin/mail hardcoded into them, which fails
>when a domain type address is specified.

A scan of our source tree shows that the only programs that reference
"/bin/mail" explicitly are cron, mailx, and expreserve. I wouldn't
call this "a lot." I can't speak for any third party software you might
be running, though.

Both cron and expreserve only have to notify local users, by the very
nature of their operation. You can override "/bin/mail" in mailx by
setting its sendmail variable.

>Is there anything I can do to /bin/mail, or is there a direct replacement
>for it that will work properly?

I would recommend getting a copy of smail3.1. Among other things, it
gives you a replacement for /bin/mail. It seems to me that smail2.5
also had a /bin/mail replacement (?)  An alternative would be to port
/bin/mail from BSD. I don't know if it contains any AT&T proprietary
code or not.

You might also consider linking /usr/bin/mail to /usr/bin/mailx, and
putting /usr/bin in front of /bin in everyone's PATH ...




-- 
     Lyndon Nerenberg  VE6BBM / Computing Services / Athabasca University
         {alberta,cbmvax,mips}!atha!lyndon || lyndon@cs.athabascau.ca
                           Practice Safe Government
                                 Use Kingdoms

les@chinet.chi.il.us (Leslie Mikesell) (06/30/90)

In article <511@gagme.chi.il.us> greg@gagme.chi.il.us (Gregory Gulik) writes:
>I am using a 3B2 running System V 3.2, and using smail for E-mail.

>I noticed that /bin/mail doesn't call smail to process Internet
>type addresses, and it doesn't handle them itself.

The smail distribution should have included a tiny program called 
svbinmail that replaces /bin/mail (which you rename to something
else).  It just looks at the command line arguments and execs
either smail or the old /bin/mail depending on whether you are
sending or reading mail.

Les Mikesell
  les@chinet.chi.il.us