Mail::Decency::Policy::Greylist
A greylist implementation (http://www.greylisting.org/) for decency.
--- disable: 0 # interval in seconds until a sender is allowed to re-send # and pass min_interval: 60 # per default, the greylist does not work as a whitelist, but # a blacklist. it will reject (temporary) any mail not on the # list, but does not explicit allow mails which are on the list # to be passed (DUNNO).. you can enable passing by setting this # to OK, thus any mail is on the list will pass. # check with your restriction-classes to determine the better # behavior for your mailserver pass_code: DUNNO # scoring awre. will put mails only on the permant whitelist # (host or domain) if it has been scored zero or above # this should keep suspicious mails from the whitelist scoring_aware: 1 # policy for permanently whitelisting a whole sender server hosts_policy: # threshold of different sender mails unique_sender: 5 # threshold of mails received from ONE address finally # putting the host on the whitelist one_address: 10 # policy for permanently whitelisting a whole sender domain # use this with care and SPF (beforehand!) domains_policy: # threshold of different sender mails unique_sender: 5 # threshold of mails received from ONE address finally # putting the host on the whitelist one_address: 10
-- contains all sender host ips, which are or are to be -- whitelisted due to lot's of positives CREATE TABLE greylist_client_addresss ( id INTEGER PRIMARY KEY, client_address VARCHAR( 39 ), counter integer, last_seen integer ); CREATE UNIQUE INDEX greylist_client_addresss_uk ON greylist_client_addresss( client_address ); -- contains all sender_domains, which are or are to be -- whitelisted due to lot's of positives CREATE TABLE greylist_sender_domain ( id INTEGER PRIMARY KEY, sender_domain varchar( 255 ), counter integer, last_seen integer, unique_sender BLOB ); CREATE UNIQUE INDEX greylist_sender_domain_uk ON greylist_sender_domain( sender_domain ); -- contains all (sender -> recipient) address pairs which -- are used to allow the second send attempt CREATE TABLE greylist_sender_recipient ( id INTEGER PRIMARY KEY, sender_address varchar( 255 ), recipient_address varchar( 255 ), counter integer, last_seen integer, unique_sender BLOB ); CREATE UNIQUE INDEX greylist_sender_recipient_uk ON greylist_sender_recipient( sender_address, recipient_address );
Determines accommodation requirements per host (IP)
Determines accommodation requirements per domain (sender)
Min interval
Message for greylisted rejection.
Default: "Greylisted - Patience, young jedi"
Set to "OK" if mails on the found on the greylist shall be whitelisted. Per default, they just won't be rejected (DUNNO).
If scoring aware, will not use the host- and domain policies if score is below zero (spammy).
Database schema
Add counters to pass databases
Called by policy server in maintenance mode. Cleans up obsolete entries in greylist databsae
Ulrich Kautz <uk@fortrabbit.de>
Copyright (c) 2010 the "AUTHOR" as listed above
This library is free software and may be distributed under the same terms as perl itself.
To install Mail::Decency, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mail::Decency
CPAN shell
perl -MCPAN -e shell install Mail::Decency
For more information on module installation, please visit the detailed CPAN module installation guide.