GNU/Linux |
Debian 6.0.3(Squeeze) |
|
![]() |
Mail::SpamAssassin::Client(3pm) |
![]() |
Mail::SpamAssassin::Client − Client for spamd Protocol
my $client = new Mail::SpamAssassin::Client({ port => 783, host => 'localhost', username => 'someuser'}); or my $client = new Mail::SpamAssassin::Client({ socketpath => '/path/to/socket', username => 'someuser'}); Optionally takes timeout, which is applied to IO::Socket for the initial connection. If not supplied, it defaults to 30 seconds. if ($client−>ping()) { print "Ping is ok\n"; } my $result = $client−>process($testmsg); if ($result−>{isspam} eq 'True') { do something with spam message here }
Mail::SpamAssassin::Client is a module which provides a perl implementation of the spamd protocol.
new
public class (Mail::SpamAssassin::Client) new (\%
$args)
Description: This method creates a new Mail::SpamAssassin::Client object.
process
public instance (\%) process (String $msg)
Description: This method calls the spamd server with the PROCESS command.
The return value is a hash reference containing several pieces of information, if available:
content_length
isspam
score
threshold
message
check
public instance (\%) check (String $msg)
Description: The method implements the check call.
See the process method for the return value.
headers
public instance (\%) headers (String $msg)
Description: This method implements the headers call.
See the process method for the return value.
learn
public instance (Boolean) learn (String $msg,
Integer $learntype)
Description: This method implements the learn call. $learntype should be an integer, 0 for spam, 1 for ham and 2 for forget. The return value is a boolean indicating if the message was learned or not.
An undef return value indicates that there was an error and you should check the resp_code/resp_msg values to determine what the error was.
report
public instance (Boolean) report (String $msg)
Description: This method provides the report interface to spamd.
revoke
public instance (Boolean) revoke (String $msg)
Description: This method provides the revoke interface to spamd.
ping
public instance (Boolean) ping ()
Description: This method performs a server ping and returns 0 or 1 depending on if the server responded correctly.
_create_connection
private instance (IO::Socket) _create_connection ()
Description: This method sets up a proper IO::Socket connection based on the arguments used when creating the client object.
On failure, it sets an internal error code and returns undef.
_parse_response_line
private instance (@) _parse_response_line (String
$line)
Description: This method parses the initial response line/header from the server and returns its parts.
We have this as a separate method in case we ever decide to get fancy with the response line.
_clear_errors
private instance () _clear_errors ()
Description: This method clears out any current errors.
_filter
private instance (\%) _filter (String $msg, String
$command)
Description: Makes the actual call to the spamd server for the various filter method (ie PROCESS , CHECK , HEADERS , etc). The command that is passed in is sent to the spamd server.
The return value is a hash reference containing several pieces of information, if available:
content_length
isspam
score
threshold
message (if available)
![]() |
Mail::SpamAssassin::Client(3pm) | ![]() |