Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Mail::SpamAssassin::SQUsereContributed)Mail::SpamAssassin::SQLBasedAddrList(3)

NAME
       Mail::SpamAssassin::SQLBasedAddrList - SpamAssassin SQL Based Auto
       Whitelist

SYNOPSIS
	   my $factory = Mail::SpamAssassin::SQLBasedAddrList->new()
	   $spamtest->set_persistent_addr_list_factory ($factory);
	 ... call into SpamAssassin classes...

       SpamAssassin will call:

	   my $addrlist	= $factory->new_checker($spamtest);
	   $entry = $addrlist->get_addr_entry ($addr, $origip);
	 ...

DESCRIPTION
       A SQL based persistent address list implementation.

       See "Mail::SpamAssassin::PersistentAddrList" for	more information.

       Uses DBI::DBD module access to your favorite database (tested with
       MySQL, SQLite and PostgreSQL) to	store user auto-whitelists.

       The default table structure looks like this: CREATE TABLE awl (
	 username varchar(100) NOT NULL	default	'',
	 email varchar(255) NOT	NULL default '',
	 ip varchar(40)	NOT NULL default '',
	 count int(11) NOT NULL	default	'0',
	 totscore float	NOT NULL default '0',
	 signedby varchar(255) NOT NULL	default	'',
	 PRIMARY KEY (username,email,signedby,ip) ) TYPE=MyISAM;

       Your table definition may change	depending on which database driver you
       choose.	There is a config option to override the table name.

       This module introduces several new config variables:

       user_awl_dsn

       user_awl_sql_username

       user_awl_sql_password

       user_awl_sql_table

       user_awl_sql_override_username

       see "Mail::SpamAssassin::Conf" for more information.

   new
       public class (Mail::SpamAssassin::SQLBasedAddrList) new ()

       Description: This method	creates	a new instance of the SQLBasedAddrList
       factory and calls the parent's (PersistentAddrList) new method.

   new_checker
       public instance (Mail::SpamAssassin::SQLBasedAddrList) new_checker (\%
       $main)

       Description: This method	is called to setup a new checker interface and
       return a	blessed	copy of	itself.	 Here is where we setup	the SQL
       database	connection based on the	config values.

   get_addr_entry
       public instance (\%) get_addr_entry (String $addr, String $signedby)

       Description: This method	takes a	given $addr and	splits it between the
       email address component and the ip component and	performs a lookup in
       the database. If	nothing	is found in the	database then a	blank entry
       hash is created and returned, otherwise an entry	containing the found
       information is returned.	 If a with_awl_signer configuration option is
       enabled only addresses signed by	the given signing identity are taken
       into account, or, if $signedby is undefined (or empty) only unsigned
       entries are considered.

       A key, "exists_p", is set to 1 if an entry already exists in the
       database, otherwise it is set to	0.

   add_score
       public instance (\%) add_score (\% $entry, Integer $score)

       Description: This method	adds a given $score to a given $entry.	If the
       entry was marked	as not existing	in the database	then an	entry will be
       inserted, otherwise a simple update will	be performed.

       NOTE: This code uses a self referential SQL call	(ie set	foo = foo + 1)
       which is	supported by most modern database backends, but	not everything
       calling itself a	SQL database.

   remove_entry
       public instance () remove_entry (\% $entry)

       Description: This method	removes	a given	$entry from the	database.  If
       the ip portion of the entry address is equal to "none" then remove any
       perl-IP entries for this	address	as well.

   finish
       public instance () finish ()

       Description: This method	provides the necessary cleanup for the address
       list.

   _unpack_addr
       private instance	(String, String) _unpack_addr(string $addr)

       Description: This method	splits an autowhitelist	address	into it's two
       components, email and ip	address.

perl v5.24.1			  2015-Mail::SpamAssassin::SQLBasedAddrList(3)

NAME | SYNOPSIS | DESCRIPTION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Mail::SpamAssassin::SQLBasedAddrList&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help