qmail-upgrade - user-visible differences between qmail and
sendmail
INTRODUCTION
You will notice some differences when the system switches
from sendmail to qmail.
1. qmail-alias sends incoming mail to ~you/Mailbox by
default, not /usr/spool/mail/you. Your system admin-
istrator has changed your MAIL environment variable
so that your mail reader looks for ~you/Mailbox.
(/usr/spool/mail is a massive security problem.)
2. qmail-alias pays no attention to .forward. It has a
much better mechanism, .qmail, so that you can handle
not only forwarding but even your own mailing lists.
See below for more details.
3. qmail-alias pays no attention to /etc/aliases. Your
system administrator can use the .qmail mechanism
instead. See below.
4. qmail does not support the \you mechanism for ignor-
ing aliases. The .qmail mechanism is much more flex-
ible; see below.
5. qmail-inject has a completely different philosophy
from sendmail on interpreting non-fully-qualified
host names. It uses fixed rules, not DNS. Some
examples at UIC:
russet -> russet.math.uic.edu
newton -> newton.math.uic.edu
ut.ee -> ut.ee (a host in Estonia)
ut.ee+ -> ut.ee.uic.edu
uicvm+ -> uicvm.uic.edu
Here the default domain name (for hosts without dots)
is math.uic.edu, and the plus domain name is uic.edu.
6. Unlike sendmail, qmail-inject doesn't replace host
names with canonical names. Example: qmail-inject
won't change postmaster@ftp.cs.berkeley.edu in your
header to postmaster@kohler.cs.berkeley.edu. The
sendmail documentation claims that qmail-inject's
behavior is illegal under RFC 822 and RFC 1123; that
claim is based on a questionable interpretation of an
ambiguous phrase in RFC 822. Besides, do you want to
have hostnames changed behind your back?
7. qmail-alias adds a new field, Delivered-To, before
every delivery. It uses the contents of Delivered-To
qmail-inject will add Cc: recipient list not shown:;,
rather than sendmail's privacy-invading Apparently-To
header field.
QMAIL MAILING LISTS
sendmail deals with aliases, forwarding, and mailing lists
at the very heart of the mail system.
qmail takes a radically different approach. It gives you
the power to set up your own mailing lists without pester-
ing your system administrator.
Under qmail, you are in charge of all addresses of the
form you-anything. The delivery of you-anything is con-
trolled by ~you/.qmail-anything, a file in your home
directory.
For example, if you want to set up a sick-of-sendmail
mailing list, you can put a list of addresses into
~you/.qmail-sos. Any mail to you-sos will be forwarded to
all of those addresses. Mail directly to you is con-
trolled by ~you/.qmail. You can even set up a catch-all,
~you/.qmail-default, to handle unknown you- addresses.
Your .qmail files, like your old .forward, may list files,
forwarding addresses, or other programs to run. (But
beware that the syntax is a bit different; see dot-
qmail(8) for more details.) qmail-alias automatically
detects forwarding loops the instant they occur, even if
they happen indirectly through other hosts.
As a helpful special case, if a .qmail file is empty, it
refers to ~you/Mailbox. For example, if you touch
~you/.qmail-direct, mail for you-direct will act like \you
did under sendmail.
Addresses that don't contain a username are handled by the
alias user. For example, your system administrator has
set up ~alias/.qmail-postmaster to handle mail for Post-
master. (Note to administrators: ~alias doesn't apply to
addresses that start with a user name, with certain excep-
tions.)
SEE ALSO
addresses(5), dot-qmail(5), envelopes(5), qmail-header(8),
qmail-inject(8)