Zack Weinberg wrote:
> Bernard Leak <[EMAIL PROTECTED]> writes:
> > Fine - but then it tells me (actually, the docs said this already)
> > that I need "the Mail program" in my path.  Not wanting to be
> > obstructive or anything, but ... wot?
> 
> This program should have been included with your operating system (I
> am assuming you are using a Unix variant).  Not having it indicates a
> monumental error in the packaging or installation of your OS.
>   mailx is the traditional command-line-mode mail user agent.
>   Even if you don't use it it may be required by other programs.

Just to add to Zack's fine answer and to tie some of these things
together.  In the old, old days the program /bin/mail was a simple
command line mail program.  Functional.  But very stark.  No way to
specify a -s "subject string" on the command line for example.

BSD added to this program and many others.  They called their mail
program "mail" as well and installed it in /usr/ucb/mail IIRC.  Having
the same program names worried others.  So the program was also called
called "Mail" to differentiate it from "/bin/mail".  The 1994 Makefile
installs the program as both "mail" and "Mail".

  
http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.bin/mail/Makefile?rev=1.1&content-type=text/x-cvsweb-markup

But having a program name which only differed by case bothered AT&T
and so in SysV they called the program "mailx".  This was distributed
to most of the commercial unix systems of the day such as HP-UX where
mailx is found but Mail is not.  In the old days (old, not old old)
everyone used either Mail or mailx depending on whether they were
running a BSD or a SysV flavor system.  Mail/mailx was vastly superior
to /bin/mail.  I used mailx for years.  I know people who still only
use mailx for mail.  Habits die hard.

POSIX has generally favored SysV and standardized on the "mailx" name
and functionality.  POSIX standard system are required to supply a
"mailx" program.

  http://www.opengroup.org/onlinepubs/009695399/utilities/mailx.html

In response the *BSD generally include a symlink to all three "mail",
"Mail" and "mailx" for compatibility.  Debian supplies both for
compatibility to either too.  However RH only supplies Mail and do not
supply mailx and miss on POSIX compatibility.  And the reverse
compatibility with BSD when HP-UX supplies only mailx and does not
supply a Mail program.  So you may have to switch from one to the
other name for this functionality because it is used by a lot of
scripts and programs.

> > Now it wants 'sendmail'.  ExCUSE me!  I need to have *sendmail*
> > installed in order to submit a test report?  Perhaps more to the
> > point, am I required to have *configured* it? 
> [...]

> There is also the standard Unix low-level interface for sending
> mail, /usr/sbin/sendmail.

Agreed.  /usr/sbin/sendmail is a defacto standard interface to a
generic Mail Transport Agent for sending mail.  Also used by a lot of
scripts and programs.

> Again, not having an MTA installed indicates a monumental error in the
> packaging or installation of your OS.  You should have gotten all this
> stuff automatically, and the installation sequence should have
> prompted you for mail information and then set up the MTA for you.

Agreed.

However if you are working in some port environment you may be trying
to bootstrap these things along and may want/need gcc to get other
components bootstrapped.  You may not have a working system to begin
with.  If you are trying to make progress regardless of the system
problems you can probably replicate the Mail/mailx functionality.  It
reads standard input.  It mails the contents to the address provided
on the command line.  The "-s" option sets the subject.  I do not
think any other options are used.  As long as you do that then you can
fake things out with a replicant.

Bob

Reply via email to