Here are some of qmail's features. Setup: * automatic adaptation to your UNIX variant---no configuration needed * AIX, BSD/OS, FreeBSD, HP/UX, Irix, Linux, OSF/1, SunOS, Solaris, and more * automatic per-host configuration (config, config-fast) * quick installation---no big list of decisions to make Security: * clear separation between addresses, files, and programs * minimization of setuid code (qmail-queue) * minimization of root code (qmail-start, qmail-lspawn) * five-way trust partitioning---security in depth * optional logging of one-way hashes, entire contents, etc. (QUEUE_EXTRA) Message construction (qmail-inject): * RFC 822, RFC 1123 * full support for address groups * automatic conversion of old-style address lists to RFC 822 format * sendmail hook for compatibility with current user agents * header line length limited only by memory * host masquerading (control/defaulthost) * user masquerading ($MAILUSER, $MAILHOST) * automatic Mail-Followup-To creation ($QMAILMFTFILE) SMTP service (qmail-smtpd): * RFC 821, RFC 1123, RFC 1651, RFC 1652, RFC 1854 * 8-bit clean * 931/1413/ident/TAP callback (tcp-env) * relay control---stop unauthorized relaying by outsiders (control/rcpthosts) * no interference between relay control and forwarding * tcpd hook---reject SMTP connections from known abusers * automatic recognition of local IP addresses * per-buffer timeouts * hop counting Queue management (qmail-send): * instant handling of messages added to queue * parallelism limit (control/concurrencyremote, control/concurrencylocal) * split queue directory---no slowdown when queue gets big * quadratic retry schedule---old messages tried less often * independent message retry schedules * automatic safe queueing---no loss of mail if system crashes * automatic per-recipient checkpointing * automatic queue cleanups (qmail-clean) * queue viewing (qmail-qread) * detailed delivery statistics (qmailanalog, available separately) Bounces (qmail-send): * QSBMF bounce messages---both machine-readable and human-readable * HCMSSC support---language-independent RFC 1893 error codes * double bounces sent to postmaster Routing by domain (qmail-send): * any number of names for local host (control/locals) * any number of virtual domains (control/virtualdomains) * domain wildcards (control/virtualdomains) * configurable percent hack support (control/percenthack) * UUCP hook SMTP delivery (qmail-remote): * RFC 821, RFC 974, RFC 1123 * 8-bit clean * automatic downed host backoffs * artificial routing---smarthost, localnet, mailertable (control/smtproutes) * per-buffer timeouts * passive SMTP queue---perfect for SLIP/PPP (serialmail, available separately) Forwarding and mailing lists (qmail-local): * address wildcards (.qmail-default, .qmail-foo-default, etc.) * sendmail .forward compatibility (dot-forward, available separately) * fast forwarding databases (fastforward, available separately) * sendmail /etc/aliases compatibility (fastforward/newaliases) * mailing list owners---automatically divert bounces and vacation messages * VERPs---automatic recipient identification for mailing list bounces * Delivered-To---automatic loop prevention, even across hosts * automatic mailing list management (ezmlm, available separately) Local delivery (qmail-local): * user-controlled address hierarchy---fred controls fred-anything * mbox delivery * reliable NFS delivery (maildir) * user-controlled program delivery: procmail etc. (qmail-command) * optional new-mail notification (qbiff) * optional NRUDT return receipts (qreceipt) * conditional filtering (condredirect, bouncesaying) POP3 service (qmail-popup, qmail-pop3d): * RFC 1939 * UIDL support * TOP support * APOP hook * modular password checking (checkpassword, available separately)