logo
The qmail home page

View a Japanese-language site
View a Russian-language site
View a Korean-language site
Proyecto DoQmail - Documentación y soporte a qmail en castellano
qmail francophone

Please note that this site is a reference for qmail users. It's not designed to be easy to use -- it's designed to be comprehensive. There are things in here which have sharp edges! If you're looking for a tutorial site, visit Dave Sill's excellent Life With Qmail site.

qmail is a modern SMTP server which makes sendmail obsolete, written by Dan Bernstein, who also has a web page for qmail. qmail is a secure package. You can download qmail 1.03 (Redhat RPMs, Mandrake RPMs, and Debian .debs, and OpenBSD ports) and redistribute qmail for free. You can get the "big picture" of how qmail is organized. You should read Life with qmail.

There is a discussion list and an announcements list for qmail users, maintained by Dan Bernstein using qmail, of course. There's also an archive. You can search it. It's also archived at eGroups, The Aims Group, and at SecurePoint. Charles Cazabon has written some guidelines for posting to the list. There is also an FAQ, providing answers to frequently-asked questions.

Dan's updated FAQ is also available in other file formats, and in Spanish.

Inetd is no longer recommended for use with qmail 1.03. Use tcpserver instead. Running qmail in the background ("csh -cf '/var/qmail/rc &'") is no longer recommended. Use daemontools instead.

A number of large Internet sites are using qmail: Hotmail's outgoing mail (although Microsoft thinks they're going to transition to W2K), USA.net's outgoing email, Address.com, Rediffmail.com, Colonize.com, Yahoo! mail, Network Solutions, Verio, MessageLabs (searching 20M emails/week for malware), listserv.acsu.buffalo.edu (a big listserv hub, using qmail since 1996), Ohio State (biggest US University), onelist.com (which has merged with egroups, another big free mailing list service), Listbot, USWest.net (Western US ISP), RIPE, Matchlogic, Telenordia, gmx.de (German ISP), NetZero (free ISP), Critical Path (email outsourcing service w/ 15M mailboxes), PayPal/Confinity, Hypermart.net, Casema, Pair Networks, Topica, MyNet.com.tr, FSmail.net, and vuurwerk.nl.

Table of Contents:

 
   Commercial Support  
  

Commercial support is available for qmail.

  • Crynwr Software. Support is available on-site, by 800 number, or over the Internet. Crynwr accepts Visa/MC/Amex/purchase orders. 1-800-233-7351
  • Andrew Richards offers qmail consultancy in the UK and elsewhere in Europe (or beyond).
  • Inter7 Internet Technologies, Inc. Support is available on-site, by phone or over the internet. Inters7 accepts purchase orders.
  • tummy.com, ltd. provides commercial support for qmail. They are available by email, telephone or onsite. They accept Discover/Visa/MC/Amex and purchase orders. 970 223-8215 info@tummy.com
  • Quist Consulting provides support for qmail.
  • LinuxIS Consulting, LLC supports qmail, djbdns, and many other software packages. Remote admin work, as well as e-mail and phone support is available. They accept Visa, M/C, Amex and Paypal as forms of payment.
  • LIS Consulting, LLC provides remote, telephone, and email support for all apsects of qmail.
  • Comtrends provides Qmail consulting services. We provide on-site, remote, and phone support and accept purchase orders.
  • Arcanet Consulting, an Italian company offering commercial support to Italian people.
  • 2interactive.com, LLC - support for qmail/linux/bsd. Over 75 Installations to date, with vpopmail, mysql, imap. We specialize in virus-scanning & mail filtering. (866)359-4678 toll free.
  • Truson Technologies, Inc is providing Commercial support for qmail and add-ons.
  • Linux4biz.net provides qmail installations, support, and security solutions.
  • Mind nv provides commercial Linux consultancy, support and training for Qmail and Ezmlm plus add-ons (imap, openldap, databases, sendmail-migrations, viruschecking, ...) within Europe. Support is available on-site, by phone or over the Internet.
  • Quickhosts.com provides remote support for installation and maintenance of qmail.
  • Omnis Internet Services offers qmail support and consulting for privates and companies in Switzerland, France and Germany. Please contact Olivier Müller for more information.
  • Better-Com IT Services GmbH provides commercial support and consulting for companies in Germany and the Netherlands concerning qmail, add-ons, migration to Open Source Systems and secure data-systems.
  • MNIS supports qmail and ezmlm. Their main occupation is to integrate qmail/djbdns with Linux ipchains firewalls, based on different architectures (screen host, secure subnet ...)
  • INTRINsec provides integration of qmail plateforms with our own secured Redhat linux. We have experience on more than 10 successfull installation of plateform, including vpopmail, qmailadmin and qmail-scanner with antivirus protection (mac afee && TrendMicro Viruswall). INTRINsec is a French computer security company and provide support in both french and english.
  • AiDA Systems provides qmail support, by phone, online, and on-site. Also, preconfigured/custom built qmail (also pop, imap, webmail, secure remote administration, etc.), djbdns, virtual hosting servers, optionally inegrated with IDS/Firewall and routers at affordable prices (888)466-8171
  • Wizard IT Services/LinuxMagic: General Linux support, Web/Oracle server support. Qmail support contracts available. Spam blocking, virus scanning, high-volume mail servers, mail server installation and troubleshooting.
  • Kandalaya offers online and on-site support for Qmail, Apache, DNS, Perl and Linux in the Asia-Pacific region and beyond. We are in the final stages of testing our first Qmail customisation project for India's largest VSAT service provider and have been providing training on Qmail and the other software mentioned since the mid-1990's.
  • LIGHTWERK provides support for djbdns, qmail and most other Bernstein software. Support is mainly provided for Germany and nearby countries.
  • BERGMANN engineering & consulting offers preconfigured or custom build qmail-systems (qmail, pop, imap, ezmlm, antivirus) firewalls or VPN-gateways mainly within Austria.
  • Digimedia provides commercial support for qmail in the Latin American region.
  • Xelera provides GNU/Linux-based services for companies located in northern Italy: email/fax servers, file and print sharing servers, centralized backup, IT security and training.
  • Kangaroot Linux Solutions. Belgian Linux consultants focussed on Linux support and installations.
  • RWM Consultants and Training sells support and training for Qmail, Djbdns and Publicfile in Brasil.
  • Better Access offers support and consultancy for qmail including but not limited to viruschecking, high-volume mailservers, and openldap. We also provide general linux support, security audits and linux based networking solutions.
  • Dynamic evolution internet systems is a company who offers support for qmail, linux, *bsd, apache, publicfile, firewalls and internet security, squid, email content scanning in the UK and europe.
  • IDEALX offers support for qmail in France and nearby countries. They also provide support for djbdns, and other djbware.
  • PC Corp offers installation and support for qmail, djbdns and most other linux based software. Contact us for more info.
  • Apario, located in Trondheim, Norway, provides commercial qmail support.
  • Gremlins HK is an open source software systems integrator. We provide support for qmail (and related software), Apache, MySQL, Samba and Hylafax.
  • Gelecek A.S. provides commercial support for Qmail and varius services in Turkey.
  • DutNux Internet Technologies provides commercial installation and support of qmail and other services like transparent proxying with WCCP, and DNS servers.
  • Optima Technologies: An Spanish company offering qmail commercial support (Linux &Tru64 UNIX) to Spanish people (http://www.optimat.com)
  • Altamente.com, Inc.: Over 50 qmail installations in Puerto Rico ranging from local ISP's to several companies with 100 or more employees. We sell custom qmail and support packages in Spanish and English to help you kick the MS Exchange habit for good.
  • Protectix, Inc. provides remote and onsite commercial support for Qmail. Other services include outsourced server management & monitoring and Qmail training. Call Toll Free (866) 776-9255.
  • Linugen provides professional support and integration services for Qmail and add-ons (mailing-lists, anti-virus, high availability) in Europe.
  • Saturn5 Productions offers consulting services for qmail, ezmlm, apache, and DNS in the US, Australia, and New Zealand. We have experience with large scale systems and migrations. We also provide contract software development, database programming, and design.
  • Oeko.neT supports qmail, djbdns, and many other software packages, prefereably in the OpenSource area. Remote admin work, as well as e-mail and phone support and custom programming is available.
  • Harvest Consultoria is a brazilian company located in the São Paulo city that provides support services for Qmail mail systems, Djbdns DNS server and many other Linux-based services in Brazil and abroad.
  • Madeinlinux, MLX s.r.l., sells professional support for qmail on various *nix. We also develop a Linux distribution in Italian, sell training and complete solutions for companies in Italy.
  • Enigma Consulting Limited sells support for qmail, djbdns, and other open source network infrastructure software. Remote and on-site management and installation, email and phone support is available. We operate mostly in Ireland and the UK.
  • Software4Business offers qmail support, Consulting and additional Implemetations (eg individual Web Mail Frontend) for qMail in germany.
  • Collini Consulting sas is an italian company specialized in Linux-based servers and networking / Linux-Windows integration implementations. We also offer QMAIL, Vpopmail, Webmail, QmailAdmin installation, support and remote monitoring. We also offer integration with built-in antivirus engines.
  • iNovem provide qmail and ezmlm consultancy and support based in the UK. iNovem have designed and deployed many high volume resilient qmail based sites, including peaking at 2 million emails/day off twin Sun E250 servers.
  • EUROTUX Informatica, SA is a company which focuses on offering consulting services; we support qmail (content and virus-scanning), djbdns, ezmlm, publicfile, apache, etc in various configurations. We operate mostly in Portugal, but provide remote access installations/support in Europe.
  • Inode Servicios Informáticos provides support and consulting in Spain for qmail and add-ons.
  • Mailserver.com.my provides remote support for installation and maintenance of qmail.
  • Synchroweb Technology provides commercial support for Qmail in Malaysia & South east asia . Synchroweb provide implementation , deployment & other on Qmail , Mysql and Linux.
  • Integricity Corporation provides Qmail consulting services in Asia and Europe (UK/France). Customised Qmail solutions for platforms such as FreeBSD, Linux and Solaris.
  • Intercom TI offers commercial qmail installation and support in Sao Paulo, Brazil, since 1997. Dozens of successful installations, including high-volume, high-availabitity servers.
  • Actinux provides qmail consulting, integration, support & training services for France. +33 320 478 768 or contact@actinux.com for more informations.
  • Internet Infrastructure Group LLC provides custom Qmail installations (WebMail, Anti-Virus, Anti-SPAM, Backup MX, DNS, Apache, Samba, Windows, MySQL) + support via phone, remotely, and on-site in United States + world wide at very competitive rates.
  • Iqon provides qmail, qmail-ldap, vpopmail, IMP installation and support in Singapore and around Asia.
  • OPENiX Pte Ltd provides professional on-going maintenance support services for qmail implementations both as scalable full feature e-mail server and as secure content filtering, antivirus, anti-spam gateway in Singapore.
  • Stand Blue Technology provides service and support for qmail, djbdns, qmail-scanner, Clam Antivirus, vpopmail, ezmlm, TMDA and SpamAssassin from Richmond, Virginia.
  • 4iX.net is a german company specialized in consulting, integration, administration and security services for open source based systems. We provide commercial support for a wide range of open source software, including qmail and djbdns within Germany, Cameroon and nearby countries.
  • G-Tech consulting offers low-price Unix consultancy services including support for Qmail, Vpopmail, Ezmlm, Sqwebmail, Qmailadmin throughout the world and is based in Montreal, Canada.
  • Summersault provides professional consulting services for organizations wanting to upgrade, secure, fix or replace their e-mail infrastructure. We specialize in spam prevention/reduction strategies and replacing bloated, expensive proprietary software with robust, extendable free/open-source software.
  • Saffron Solutions, LLC provides installation and support for qmail, djbdns, and other packages, as well as system and network administration consulting services.
  • CASE Tecnologia is a brazilian company that provides Qmail support and consulting. They are specialists in Red Hat, and have been using Qmail under Red Hat in every mail solution since 1999. They are Linux solution providers in Espírito Santo and have clients all over Brazil.
LISTING OF A SERVICE PROVIDER GRANTS NO WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SERVICE IS WITH YOU.

 
   User-Contributed Documentation  
  

Documentation contributed by users

[index]

 
   Author's Enhancement Software for qmail  
  

Enhancements and additions to qmail by its author, Dan Bernstein.

[index]

 
   User-Contributed Software for Qmail  
  

General software contributed by users and supporters of qmail.

[index]

 
   User-Contributed Maildir Support  
  

Maildir-specific software contributed by qmail users. Maildir is a lock-free mailbox standard which is reliable over NFS.

[index]

 
   EZ Mailing List Manager  
  

EZ Mailing List Manager (EZMLM) is a mailing list manager which allows users to create their own mailing lists with a single command.

  • Dan Bernstein's ezmlm page.
  • Fred Lindberg and Fred B. Ringel have written an ezmlm FAQ. In addition, Fred L. has also written (in his copious free time) the Ezman, an ezmlm manual for both list owners and users.
  • Fred Lindberg has an add-on to ezmlm-0.53 called ezmlm-idx. It gives you headers, trailers, threaded digests, multi-message get, thread retrieval in MIME multipart/digest with headers filtered to make the digest rfc1153-like (default). It also has all aspects of message moderation, subscription moderation, and remote administration of subscriber addresses.
  • Fred Lindberg is the latest author of code to ensure that an ezmlm subscriber is on the list
  • Fred Lindberg has an EZMLM list splitter. It forwards subscribe/unsubscribe requests from a main list to one of a set of sublists based on the target address (hash or domain name). This way, the list can be split into a number of hosts for load splitting or geographic splitting without inconveniencing the user (who always deals with the main list).
  • Özgür Kesim has a ezmlm HOWTO for advanced mailing lists.
  • Steve Peterson implemented a simple web subscribe/unsubscribe interface to ezmlm.
  • Michael Hirohama wrote Ezmlm-Thresh, which allows EZMLM mailing list messages to be limited to a threshold per subscriber.
  • Guy Antony Halse has a web interface to ezmlm called ezmlm-web, currently at 2.1. It has improvements over Glen Stewart's version.
  • Glen Stewart has improved on Guy Antony Halse's EZmlm-Web 1.02. He's calling his version EZmlm-Web v1.0.2gs1.2. The gs1.2 version suffix modifications are fairly extensive and done by Glen Stewart. Some of the most notable changes in this release include:
    • list owner logon screen & password
    • ListMaster access/control from filtered, configurable IP addresses
    • Only the ListMaster can create and delete lists
    • skeleton support for WebGlimpse indexing of selected list archives
    • spam filter option for list owner addresses
    • tooltip help for all list configuration settings
    • case-insensitive list and subscriber address sorting
    • list owner can change their owner address
    • configuration tour (help) for list owners
    • many other fixes and enhancements
  • newSergiusz Pawlowicz wrote ezmlm-cgi-py, a more approachable (i.e. Python, not djb-C) version of "the Freds" ezmlm-cgi archive formatter.

[index]

 
   Living with Qmail - Tips & Advice  
  

Some good advice for new qmail users, contributed by qmail users.

  • Did you restart qmail? I find that to be a help for a lot of qmail problems. :-) [John Mitchell]
  • You should also check the permissions very carefully on all of the necessary directories and files. [John Mitchell]
  • You must also put the virtual domain into control/rcpthosts or the mailer will bounce the message with a notice saying that the host wasn't in rcpthosts. [John Mitchell]
  • Of course, you must also be the MX for the virtual hosts. I had a problem in my setup that was driving me nuts until I realized that my DNS provider had missed an MX update request. [John Mitchell]
  • Check all lines in sendmail.cf beginning with M. Any that contain P=[IPC] or P=[TCP] should also have E=\r\n. [Tim Goodwin]
  • You might want to limit posting to mailing lists.
  • The right-hand-side of entries in control/virtualdomains should begin with a username. If you don't use a username, the mail will be handled by ~alias. But if you forget, and create a user by that name, then the mail will suddenly be handled by the user, which is probably not what you intended to happen. Best to use, in this case, alias as the username and avoid trouble. [Russ Nelson]
  • remember to add 'preline' before procmail or other filters when moving .forward to .qmail. [Ira Abramov]
  • If you use qmail's preline utility, remember that preline expects to pipe the entire mail message through the specified program. If the specified program closes standard input before preline has finished, preline will exit with a transient failure and you'll see the following error in your logs:
        deferral: preline:_fatal:_unable_to_copy_input:_broken_pipe/
    
    You'll see this problem if you try to use the sendmail version of vacation. Use Peter's vacation program instead. [Peter Samuel]
  • Run qmail from an init.d script [Larry Doolittle]
  • You can usually create control/rcpthosts from
    sed 's/:.*//' <virtualdomains | cat - locals | sort >rcpthosts
    [Russ Nelson]
  • Sometimes you need to use a database to forward mail. Create ~alias/.qmail-default like this:
        |if T=`X`; then forward $T; else
           echo "Sorry, no mailbox here by that name (#5.1.1)";
           exit 100; fi
    
    That all goes on one line. Fill in the X part with a program that looks up the user, and exits with zero and prints the destination address, or else exits nonzero if no match is found. By the way, the X program probably should ignore case. For NIS, you would replace the X in the above command with: ypmatch $LOCAL aliases .
    [
    Russ Nelson]
  • Similarly, you could also use a simple linear search text file named mapping containing lines in the form incoming:outgoing like this:
        |if MAP=`grep -i "$LOCAL:" mapping` && T=`echo $MAP |  awk -F: '{print $2}'` ;
           then forward $T;
           else echo "Sorry, no mailbox here by that name (#5.1.1)";
           exit 100; fi
    

    [Russ Nelson]
  • Anything you print from a program run by a .qmail file ends up in the log file.
    [Russ Nelson]
  • Some syslog library calls use the TZ variable to timestamp the messages. qmail's env invocation strips out the whole environment, which causes the timestamp to be incorrect. When this happens, use env - PATH="/var/qmail/bin:$PATH" TZ=CST6CDT qmail-start ./Mailbox splogger qmail to start qmail.
    [Harald Hanche-Olsen]
  • You can do a reasonable imitation of sendmail delivery, including .forward and /var/spool/mail, with
    #!/bin/sh
    exec qmail-start '|dot-forward .forward
    |preline -f /bin/mail -f "$SENDER" -d "$USER"' splogger qmail
    
    depending on your system's binmail interface. Of course, I recommend throwing binmail away, but people who need to preserve /var/spool/mail should still be able to use qmail.
    [Daniel J. Bernstein]
  • If you want to have private .qmail files which only work on local mail (e.g. a fax gateway), you can put the following test at the beginning of it (all on one line): | if [ -n "`sed -n -e '/invoked from network/p' -e 2q`" ]; then exit 100; else exit 0; fi That is, peek at the headers, if the message came from the network, bounce it, otherwise forward it along.
    [John R. Levine]
  • [Daniel J. Bernstein] has three suggestions for allowing your users to relay when they're not at a known IP address (which is the FAQ 5.4 solution):
    • Use a secret IP address and port number, and you'll have much better security than user-chosen passwords.
    • Put a secret string into the HELO string sent by the client. This will be visible to the fixup script, so you can reject messages with bad passwords without changing qmail-smtpd---and it's still more widely supported than XTND XMIT.
    • Oh, you want real security? Check that all messages are PGP-signed by local users. I wouldn't be surprised if PGP plugins are available for more clients than XTND XMIT patches are.
  • [Anand Buddhdev] wrote turnmail, modified by Russell Nelson for publication here, which wraps around qmail-pop3d and triggers a serialmail delivery to the connecting host whose user just authenticated themselves. Or, a Unix system can use fetchmail, getmail or an NT system pullmail.
  • Dan Bernstein suggested that one might give ordinary users access to qmail-qread through ucspi. Steinar Haug implemented that suggestion thusly with a client that looks like this:
    #!/bin/sh
    exec /local/etc/tcpclient -RHl0 -- 127.0.0.1 20025 sh -c 'exec cat <&6'
    
    and he starts the server like this:
    tcpserver -u126 -g120 -R 127.0.0.1 20025 /var/qmail/bin/qmail-qread &
  • The default delivery instructions, which are invoked when a .qmail file is nonexistent or empty, are found in the first parameter of qmail-start. That's why the install instructions tell you to touch .qmail-root .qmail-mailer-daemon and .qmail-postmaster.
  • [Anand Buddhdev] recommends pullmail, which is a Windows NT program that pulls mail from a POP3 server, and stuffs it into NT's SMTP server.
  • [Mark Delany] modifies FAQ 2.3 so he can use the same .qmail file for multiple UUCP sites: Here is our .qmail-uucpfqdn-default file (all on one line) |preline -df /usr/bin/uux - -r -gC -a"$SENDER" `echo $EXT | cut -f2 -d-`!rmail "(${EXT3}@$HOST)" And here is a sample virtualdomains entry: some.domain:uucpfqdn-uuhostname
  • Dan Bernstein noted that qmail will skip dns queries for incoming mail with tcpserver -Hl your.host.name; and you can skip them for outgoing mail with control/smtproutes.
  • Harald Hanche-Olsen has a solution to the problem of mail that has wrongly been queued for a remote host (because, say, you didn't have a host in your locals or virtualdomains): echo tcn.net:[127.0.0.1] >> /var/qmail/control/smtproutes Now send qmail-send an ALRM signal.
  • Hitesh Patel has a patch for UnixWare 2.1.x and 7.0.x, which is not currently supported by qmail.

    By the way..... the patch above opens up the option of sending mail to root... if you want this then just copy the right files into your qmail source directory... if you don't go into conf-unusual.h and comment out line 25 that says "#define ALLOW_ROOT_MAIL 1". Probably a good idea to comment it out -russ .

  • Daniel J. Bernstein suggests that if you have buggy clients that send bare LFs, and you want to treat their messages the same way sendmail does, you can simply run his fixcrio program instead of qmail-smtpd for your outgoing mail relay. fixcrio then takes qmail-smtpd as argument. fixcrio is part of the ucspi-tcp package.
  • Balazs Nagy likes to watch logs in a virtual terminal (/dev/tty8). He uses
    ... | tee >(accustamp | tailocal > /dev/tty8) | accustamp | cyclog
    
    The extra accustamp seems to be needed to make it work with bash.
  • Frederik Vermeulen says: If you don't want a specific undeliverable mail to sit in the queue any longer, you can make it reach the queuelifetime by running touch -d '1 week ago' on its queue/info file. It will then be bounced after one more delivery attempt.
  • Russ Nelson has used qmail-local to deliver to a dynamic Mailbox or Maildir name. He does it like this: |qmail-local "$USER" "$HOME" "$LOCAL" "" "nodeliver" "$HOST" "$SENDER" "/path/to/users/maildir/here/"
  • Harald Hanche-Olsen warns people to beware when patching Solaris machines, because at least one patch restores the /etc/rc?.d/[SK]??sendmail symlink. You might want to remove files matching that name in your startup scripts.
  • Vern Hart doesn't like a pile of .qmail files in his home directory. So he uses users/assign to put them into a subdirectory:
    =vern:vern:2244:18:/home/vern:::
    +vern-:vern:2244:18:/home/vern:s/::
    
    This puts .qmail in his home directory but everything else is in .qmails/. This changes ~/.qmail-foo to ~/.qmails/foo and really cleans up his home.
  • Jim Simmons points out that you can stop linuxconf from creating a potential security hole by removing the /usr/sbin/sendmail line from /usr/lib/linuxconf/redhat/perm. If you don't do this, linuxconf will change /var/qmail/bin/sendmail to running suid.
  • Dag Wieers wants to see all messages that are delivered to his domain but were bounced because the user or alias does not exist. Since you cannot forward and pipe in the same dot-qmail he found the following solution to be his most simple option, .qmail-default:
    |forward dag@mind.be &>/dev/null
    |echo "Sorry, no mailbox here by that name. (#5.1.1)"; exit 100
    
    This way someone can simply check those mails regularly and forward them to the right person manually (which sometimes saves time when people are waiting for feedback)
  • Peter van Dijk suggests that you have two services running smtpd, one using recordio and the other not. He says that it's a great diagnostic tool. Create /service/qmail-smtpd as you would normally. Create /service/qmail-smtpd-recordio as a copy with recordio inserted, and logging to a separate space (be sure to chmod this logdir tight because recordio records complete emails). Create /service/qmail-smtpd-recordio/down. The switchover is then simply:
    # svc -u /service/qmail-smtpd-recordio ; svc -d /var/service/qmail-smtpd
    
    and viceversa.
  • newHan Boetes blocks sites with no reverse dns. He uses the following tcp.smtp file. The only thing I would do differently is to set RBLSMTPD instead of just denying the connection.
    127.0.0.1:allow,RELAYCLIENT=""
    172.16.11.:allow,RELAYCLIENT=""
    =:allow
    :deny
    
  • newAdrian Knoth suggests that your Unix client machines can use stunnel's public key mechanism to authenticate smtp.

[index]

 
   Alternative Checkpassword Implementations  
  

qmail-popup and qmail-pop3d are glued together by a program called checkpassword. It's run by qmail-popup, reads the username and password handed to the POP3 daemon, looks them up in /etc/passwd, verifies them, switches to the username/home directory, and runs pop3d. At least that's what the standard one does. Some alternatives are listed below.

Mark Delany has a clever way to test your checkpassword with a bit of command line re-direction. For example, with username fred, password bloggs,
printf "fred\0bloggs\0Y123456\0" | /bin/checkpassword `which id` 3<&0
will execute /bin/id if the password is right.

The printf is a bit trickier to manipulate if the username/password starts with a digit. If you haven't a printf then enter the data into a file with your favourite binary editor, such as emacs, and then it's simply:
/bin/checkpassword /bin/id 3<test.file

Or use perl: perl -e 'printf "%s\0%s\0Y123456\0","fred","bloggs"' | ...

[index]

 
   Yet More Qmail Addons  
  

Still need something more from qmail? The chances are good that you can find it here, contributed by users and supporters of qmail.

[index]

 
   Microsoft virus prevention  
  
Microsoft products are susceptible to a large variety of viruses, worms, and other fauna. The best solution is to not use them. A secondary solution is to use anti-virus software to keep viruses away from Microsoft products.

[index]

 
   Patches for high-volume servers  
  
  • Dave Smith of XOOM.com has updated Russell Nelson's big-todo patch for qmail 1.03. Bruce Guenter added a fix for qmail-qstat. Big-todo is only useful if you need to inject email into the queue when qmail-send is not running. This is not the usual case.
  • Johannes Erdfelt of S.u.S.E wrote a patch to allow qmail to use a concurrency greater than 240.
  • If your queue gets larger than about 23,000 separate messages you'll need to change conf-split and recompile. Different Unix filesystems will affect that 23,000 figure, but not by more than a factor of two. This will ruin your queue, however. The best way to make this change is to run two copies of qmail like this:
    1. stop qmail.
    2. rename /var/qmail to /var/qmail2.
    3. change conf-qmail to /var/qmail2.
    4. make setup.
    5. change conf-split to a prime number which reflects your requirements.
    6. change conf-qmail back to /var/qmail
    7. make setup.
    8. restart qmail
    9. run /var/qmail2/rc. In a week you'll be deleting this copy, so don't worry about setting it up under daemontools.

[index]

 
   Anti-spam techniques and code  
  

[index]

 
   Qmail books  
  
  • John Levine is writing a book, to be published late in 2001 by O'Reilly & Associates. Russell Nelson was pretending to be a co-author of the book for some time, but good sense has finally soaked in, and he didn't protest when O'Reilly kicked him off.
  • Dave Sill has written The qmail Handbook. You can buy it at Amazon.


Send kudos/brickbats to Russell Nelson. Some design contributed by Steve Cole and Olivier Mueller. Some lint'ing by Paul Theodoropoulos.
Last modified: Wed Dec 4 12:03:52 EST 2002















































Gratuitious blank lines added so that top.html#link works.