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/