THIS DOCUMENT IS A REPOSITORY OF ANSWERS TO FREQUENT QMAIL MAILING LIST QUESTIONS

The current FAQ maintainer is Chris Berry who can be reached at chris_berry@jm-associates.com

FAQ-1.0 How to unsubscribe from the qmail mailing list

Unsubscribing is easy, just send a blank email to qmail-unsubscribe@list.cr.yp.to from the email address where you initially subscribed.

FAQ-2.0 How to set up qmail to send mail from a specific IP address

What you want is the qmail-remote outgoing IP patch
or the qmail virtual domain outgoing IP address patch

FAQ-3.0 How to fix the errno problem when trying to build qmail on a new distro

Due to changes in glibc you're going to need to apply one of the recommended patches at www.qmail.org
The patch you're looking for is Phil Edwards fix for glibc's change to errno.

FAQ-4.0 How do I keep a copy of all outgoing mail

This has already been described here http://cr.yp.to/qmail/faq/admin.html#copies

FAQ-5.0 Why is qmail showing up as a relay on the MAPS test (or similiar relay testers)?

It's not actually, their test just doesn't take into account qmail's default behavior. Here is a good explanation maps-relay-test-is-wrong
and here is the location of a tester that does understand qmail good-relay-test

FAQ-6.0 How can I restrict some users so that they can only send local email?

Basically what you need to do is set up a second smtpd on port 26 that is only open to your LAN (must be blocked at exterior firewall or you'll get spam).
I have a slightly older qmail handbook type setup so it might be slightly different for you, but this is how I did it:

mkdir -p /var/qmail/supervise/qmail-smtpd2/log
chmod +t /var/qmail/supervise/qmail-smtpd2
mkdir -p /var/log/qmail/smtpd2
chown qmaill /var/log/qmail/smtpd2

Create /var/qmail/supervise/qmail-smtpd2/run script:

#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
MAXSMTPD=`head -1 /var/qmail/control/concurrencyincoming`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" ]; then
    echo $0: QMAILDUID, NOFILESGID, or MAXSMTPD is unset
    exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
    echo "No /var/qmail/control/rcpthosts!"
    echo "Refusing to start SMTP listener because it will create an open relay"
    exit 1
fi
exec /usr/local/bin/softlimit -m 2000000 \
    /usr/local/bin/tcpserver -v -p -x /etc/tcp2.smtp.cdb -c "$MAXSMTPD" \
        -u "$QMAILDUID" -g "$NOFILESGID" 0 26 \
    /var/qmail/bin/qmail-smtpd 2>&1

create the /var/qmail/supervise/qmail-smtpd2/log/run file

#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd2

create the tcp2.smtp file

127.:allow,RELAYCLIENT=""

build the /etc/tcp2.smtp.cdb

tcprules /etc/tcp2.smtp.cdb /etc/tcp2.smtp.tmp < /etc/tcp2.smtp
chmod 644 /etc/tcp2.smtp.cdb

set the script permissions

chmod 755 /var/qmail/supervise/qmail-smtpd2/run
chmod 755 /var/qmail/supervise/qmail-smtpd2/log/run

then link the service

ln -s /var/qmail/supervise/qmail-smtpd2 /service

Then all you have to do is set up the email clients for restricted users to point to port 26 instead of 25 for sending mail, and block those users from accessing port 25.
All credit for this solution goes to Charles Cazabon who was very patient while I floundered around looking for an answer.

FAQ-7.0 How can I prevent qmail from accepting mail for non-existing users?

There are basically four ways to do this that I know of:
1) Use Paul Jarc's realrcptto patch found here http://multivac.cwru.edu/qmail/
2) Use Eben Pratt's goodrcptto patch found here http://http.netdevice.com:9020/qmail/
3) Use Dr. Erwin Hoffmann's recipients extension patch found here http://www.fehcom.de/qmail/qmail.html
Or, if you're like me and not real fond of patching qmail unneccessarily:
4) Use Bruce Guenter's mailfront package found here http://untroubled.org/mailfront/