usendmail: replacement for qmail sendmail
usendmail is a replacement for the sendmail program in the
qmail package.
Nomenclatura:
- usendmail is usendmail
- qsendmail is the qmail sendmail clone
- sendmail is plain old sendmail (getroot)
Reasons to use usendmail instead of qsendmail:
Compared to sendmail qsendmail is:
- safe
- secure
- (Un)fortunately qsendmail isn't completely bug-compatible to sendmail.
Reason 1)
Sendmail parses addresses given on the command line in the
same way it parses mail headers ("To:").
The qmail sendmail clone doesn't do this. This is a problem is
you, for example, run a http server for your customers which use
their own broken cgi scripts and expect to be allowed to do all
kinds of wrong things, so usendmail behaves more like getroot.
Reason 2)
Qsendmail doesn't know about a number of sendmail commandline
options. Usendmail knows more of them (and handles them
through ignorance).
Reason 3)
Qmail-inject, the backend of qsendmail and usendmail, expects
a few environment variables to be set, otherwise it defaults
to use anonymous@host.name as the default header or envelope
from address.
This is a problem is qsendmail is called by a cgi script without
any of these environment variables set. "anonymous@host.name"
is possibly not the address the system administrator want's
to see in that case.
Usendmail works around that:
- if the envelope is missing it tries to parse the Sender or
From headers.
- if Sender and From are missing, too, then usendmail sets
$USER by looking up the user id it runs under in the systems
passwd.
This is not a breach of privacy but the change of an unwanted default.
Recent changes
Many more changes may be found in the ChangeLog file in the
source distribution. This list only includes user visible changes
and changes done in reaction to user input:
- 0.1.6 - 2003-05-18
- Adds more sendmail options (-G, -L, -X).
- the -f option now also influences the generation of the "from"
header field, unless it's already there or the QMAILHOST or QMAILUSER
environment variables are set.
- 0.1.4 - 2002-02-09
- Fix an address parsing problem.
- The program understand more sendmail options and modes.
- 0.1.1 - 2001-02-21
- now handles input coming from pipes.
- 0.1.0 - 2001-02-06