[lsb-discuss] Possible to get rid of /usr/bin/sendmail requirement in LSB 4.1?

Theodore Tso tytso at mit.edu
Sat Jun 13 04:38:08 PDT 2009

On Sat, Jun 13, 2009 at 09:34:23AM +0200, Martin Pitt wrote:
> Theodore Tso [2009-06-12 16:58 -0400]:
> > Why do programs want to send e-mail?  They might want to send periodic
> > log results to the system administrator; there might be exceptional
> > reason that requires notification, perhaps while the user isn't logged
> > in (for example, "S.M.A.R.T. has detected a disk which has started
> > failing").
> On servers I agree. On desktops we have better ways of talking to the
> user, without expecting him to read local /var/mail/. I'm not saying
> that it wouldn't be a good idea to do so, just that it currently isn't
> done that way.

Programs may want to send e-mail to someone other than just the local
user, even on a desktop.  For example, a commercial/proprietary
program might want to ask the user for registration information (i.e.,
name, address, etc.), and then send an e-mail "phoning home" when the
user has accepted the terms and conditions of the program.  Or a
program might want to use e-mail as a way of phoning home that a
program had crashed, and send the stack trace back to the ISV.  Sure,
there are other ways this could be done, including http or a custom
protocol, but there's nothing wrong with using e-mail.

So it's a bad assumption to assume that the only way reason why a
program wants to send e-mail is to "talk to the user".

> > And it's really not the LSB's place to dictate to distributions
> > *how* to do this right, but I think it's pretty clear there are
> > plenty of options that would allow the system to Do The Right Thing
> OK, so I read from this that LSB doesn't really have a preference how
> sendmail behaves on different distros then.

The LSB doesn't have a preference for how sendmail is *implemented*.
The behaviour, which is that it's supposed to send e-mail (possibly
locally, possibly via the internet), is specified, however.

If someone wanted to make a proposal that if "sendmail" was invoked
with a well-defined local mailbox --- possibly root, but probably
better if we defined something else, such as "system" --- it would
either result in e-mail that would be sent to the system
administrator, or result in some kind of persistent desktop GUI
notification system, that would be a fine proposal to make.  It could
be easily implemented using a widget that would display an icon in the
Notification Area of the user's panel if there was mail in
/var/mail/system, or if someone wanted to implement a hacked sendmail
that intercepted mail sent to "system" and stored it someplace so that
it would be displayed either immediately, or when the user logged in,
that would be fine.  However, if someone invoked "sendmail
tytso at thunk.org", it really should reliably send e-mail to
"tytso at thunk.org" whether they are on a desktop or a server system.

Silly programs like "emacs" and "mutt" and "pine" depend on sendmail
working --- well, like sendmail.  I suspect a lot of long-time Linux
users (myself and Alan included) would be rather put out if lots of
Linux distributions started thinking that sendmail was justifiable in
being a /dev/null sink, or would block and fire up a GUI client where
you'd have to click "send" before the e-mail would be sent.  If I
happen to be running emacs, and type "C-c C-m", type a message, and
then type "C-c C-c", I want the e-mail to be *sent*, not have
evolution fire up!

						- Ted

More information about the lsb-discuss mailing list