IndiMail 1.6 onwards implements greylisting using qmail-greyd daemon. You additionally need to have the environment variable GREYIP defined for the qmail-smtpd process. The environment variable GREYIP specifies on which IP and port, qmail-greyd is accepting greylisting requests. qmail-smtpd uses UDP to send a triplet (IP+RETURN_PATH+RECIPIENT) to the greylisting server and waits for an answer which tells qmail-smtpd to proceed ahead or to temporarily reject the mail. qmail-greyd also accepts a list of whitelisted IP addresses for which greylisting should not be done.
1. Enabling qmail-greyd greylisting server
% su
# svctool --greylist=1999 --servicedir=/service --min-resend-min=2 \
--resend-win-hr=24 --timeout-days=30 --context-file=greylist.context \
--save-interval=5 --whitelist=greylist.whitelist --use-greydaemon
NOTE: The above service has already been setup for you, if you have done a binary installation of IndiMail/indimail-mta
2. Enabling greylisting in SMTP
- Assuming you've setup your qmail-smtpd service with tcpserver with the
-x
option (as in LWQ), you just need to update the cdb file referenced by this-x
option. The source for this file is typically/etc/indimail/tcp.smtp
. For example,127.:allow,RELAYCLIENT=""192.168.:allow,RELAYCLIENT="":allow - 127.:allow,RELAYCLIENT=""192.168.:allow,RELAYCLIENT="":allow,GREYIP="127.0.0.1@1999"
- If you've setup
qmail-greyd
on a non-default address (perhaps you're runningqmail-greyd
on a separate machine), you'll also need to specify the address it's listening on - adjust the above to includeGREYIP="192.168.5.5@1999"
, for example. - Finally, don't forget to update the cdb file corresponding to the source file you've just edited. If you have a LWQ setup that's,# qmailctl cdb
- Alternatively (and particularly if you're not using the
-x
option totcpserver
) you can enable greylisting for all SMTP connections by settingGREYIP
in the environment in whichqmail-smtpd
is started - for example your variables directory for qmail-smtpd can contain a file with the name GREYIP# echo GREYIP=\"127.0.0.1@1999\" > /service/qmail-smtpd.25/variables/GREYIP
NOTE: The above instructions are for IndiMail/indimail-mta 2.x and above. For 1.x releases, use /var/indimail/etc for the location of tcp.smtp and tcp.smtp.cdb