usendmail README -- 2001-02-06 -- Uwe Ohse <uwe@ohse.de> usendmail is a replacement for the sendmail clone of the qmail package. Nomenclatura: * usendmail is usendmail * qsendmail is the qmail sendmail clone * sendmail is plain old sendmail (getroot) Compared to sendmail qsendmail is: * fast * safe * secure Unfortunately qsendmail isn't completely bug-compatible to sendmail. Reasons to use usendmail instead of qsendmail: 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. 2) Qsendmail doesn't know about a number of sendmail commandline options. Usendmail knows more of them (and handles them through ignorance). 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. Installation: * make * make install * cd /usr/sbin ; rm sendmail ; ln -s /usr/local/bin/usendmail sendmail (replace sbin by lib, if needed)