Bu, belgenin yazarı tarafından bir Python gerçeklenimi olarak geliştirilmiş bir grilisteleme gerçeklenimidir. (Doğal olarak, bu gerçeklenim
Tamamlanmış ACL'ler bölümünde uygulanacak.) Tek başına bir artalan süreci olarak çalışır ve herhangi bir veritabanını kullanmaz. Grilesteleme verisi verimlilik açısından 32 bitlik basit bir çırpı olarak saklanır.
# apt-get install greylistd
greylistd'yi devreye sokmak için,
acl_rcpt_to ACL'sinde sonuncu
accept deyiminden hemen önceye iki deyim ekleyeceğiz.
# Belli bir sunucu/gönderici/alıcı üçlüsü için grilisteleme durumunu
# belirleyecek "greylistd"'yi devreye sokacağız.
#
# Grilisteleme iletilerini bir boş gönderici için yapmıyoruz, çünkü
# boş gönderici adresli varlık doğrulaması işimize yaramaz (gerçek
# göndericinin varlığını sınamak için bir konağa posta gönderemeyiz).
#
defer
message = $sender_host_address is not yet authorized to deliver mail \
from <$sender_address> to <$local_part@$domain>. \
Please try later.
log_message = greylisted.
domains = +local_domains : +relay_to_domains
!senders = : postmaster@*
set acl_m9 = $sender_host_address $sender_address $local_part@$domain
set acl_m9 = ${readsocket{/var/run/greylistd/socket}{$acl_m9}{5s}{}{}}
condition = ${if eq {$acl_m9}{grey}{true}{false}}
Grilistelemenin amaçlarına uygun olarak veriyi burada yukarıdakinden biraz farklı olarak kullanıyoruz. Boş olan $sender_address'e ek olarak, bu noktada ne $local_part ne de $domain tanımlıdır. Ancak, $recipients, tüm alıcı adreslerinin virgüllerle ayrılmış bir listesini içerir. Meşru teslimat durum bildirimleri için bu değişken sadece bir adres içermelidir.
# Burada, zarf gönderici adresi olmayan iletilere grilisteleme
# uygulayacağız. Bunları RCPT TO:'dan sonra grilistelemeye konu
# etmeyeceğiz, çünkü gönderici varlık doğrulamaları yaparken
# karşı konaklarla olumsuz etkileşime girilebilir.
#
defer
message = $sender_host_address is not yet authorized to send \
delivery status reports to <$recipients>. \
Please try later.
log_message = greylisted.
senders = : postmaster@*
set acl_m9 = $sender_host_address $recipients
set acl_m9 = ${readsocket{/var/run/greylistd/socket}{$acl_m9}{5s}{}{}}
condition = ${if eq {$acl_m9}{grey}{true}{false}}