Pokud nedostačuje stávající řešení s bojem proti spamu, jako je například
značkování spamassassinu, odmítání mailů z neověřených IP adres případně
neověřených mailboxů můžeme nasadit těžkotonážní záležitost Graylist.
Začněme instalací Postgrey
Postgrey je v repozitářích Fedory stačí nám tedy příkaz
yum install postgrey
Spusťte Postgrey a přidejte do skriptů pouštěných po startu systému
/etc/init.d/postgrey start
chkconfig --level 3 postgrey on
Pokud nevyhovuje defaultní čas 5 minut pro odmítnutí můžete jej změnit třeba
na minutu. Nezapomeňte restartovat postgrey pro načtení nové konfigurace.
echo OPTIONS="--unix=$SOCKET --delay 20" >> /etc/sysconfig/postgrey
Do konfigurace Postfixu je potřeba přidat toto
smtpd_recipient_restrictions = ...
check_policy_service unix:postgrey/socket
u mě to vypadá takto
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
check_policy_service unix:postgrey/socket
A restartujte Postfix
/etc/init.d/postfix restart
Ještě můžete otestovat konfiguraci
mail -s test email@example.com
.

V logu Vašeho serveru najdete toto
Aug 6 14:53:43 nazev_serveru postfix/smtpd[19920]: connect from mail.example.com[IP.AD.RE.SA]
Aug 6 14:53:43 nazev_serveru postfix/smtpd[19920]: NOQUEUE: reject: RCPT from mail.example.com[IP.AD.RE.SA]:
450 4.7.1 :Recipient address rejected: Greylisted,
see http://isg.ee.ethz.ch/tools/postgrey/help/atisgroup.cz.html;
from= to= proto=ESMTP helo=
Příkazem
mailq
si můžete vypsat frontu na odesílajícím serveru
105D2A35E2 923 Wed Aug 6 14:53:43 email@example.com
(host mail.example.net[IP.AD.RE.SA] said: 450 4.7.1 : Recipient
address rejected: Greylisted, see http://isg.ee.ethz.ch/tools/postgrey/help/atisgroup.cz.html (in reply to RCPT TO command))
email@example.net
po pěti minutách můžete odesílající server přinutit vysypat frontu příkazem
mailq -q
email by se měl již korektně doručit