=head1 NAME

rspamc - a simple client for rspamd spam filtering system

=head1 SYNOPSIS

rspamc [B<-h> I<host[:port]>] [B<-p>] [B<-v>] [B<-b> I<bind_address>] [B<-u> I<user>]
[B<-F> I<from>] [B<-r> I<rcpt>] [B<-d> I<deliver-to>]
[B<-i> I<ip>] [B<-c> I<classifier>] [B<-w> I<weight>]
[B<-P> I<password>] [B<-f> I<flag>] [B<-t> I<timeout>] [command] [file [file ...]] 

rspamc [B<--help>]

=head1 DESCRIPTION

B<Rspamc> is a simple client for checking messages using rspamd or for learning rspamd by messages.
B<Rspamc> has several mandatory options for learning: I<password> and I<statfile>.

=head1 OPTIONS

=over 4

=item B<-h> I<host[:port]>, B<--connect> I<host[:port]>

Specify host and port for connecting to rspamd server. Default host is I<localhost> and
default port is I<11333> for checking messages and I<11334> for learning and statistic. 
Also it is possible to specify a unix socket for all operations (for example:
B<rspamc> B<-h> /path/to/soket)

=item B<-b> I<local_ip>, B<--bind> I<local_ip>

Specify explicit IP address to bind a client for operations.

=item B<-u> I<user>, B<--user> I<user>

Specify username for connection with rspamd server.

=item B<-F> I<from_addr>, B<--from> I<from_addr>

Specify SMTP FROM address for connection with rspamd server.

=item B<-r> I<rcpt_addr>, B<--rcpt> I<rcpt_addr>

Specify SMTP RCPT TO address for connection with rspamd server.

=item B<-d> I<deliver_addr>, B<--deliver> I<deliver_addr>

Specify real delivery address for connection with rspamd server.

=item B<-p>, B<--pass-all>

Pass all filters when checking messages. Ignored in case of learning.

=item B<-v>, B<--verbose>

Be more verbose while displaying results. For example show descriptions of symbols.

=item B<-P> I<password>, B<--password> I<password>

Specify controller's password. Mandatory option for learning.

=item B<-c> I<classifier>, B<--classifier> I<classifier>

Specify classifier to learn message. Mandatory option for learning. Bayes classifier is used by default if this option is omitted.

=item B<-i> I<ip>, B<--ip> I<ip>

Add IP header when scanning message. Useful for checking messages and emulating that client comes from 
specific IP address.

=item B<-w> I<weight>, B<--weight> I<weight>

Weight of message for fuzzy operations.

=item B<-f> I<flag>, B<--flag> I<flag>

Flag of list for fuzzy operations.

=item B<-t> I<timeout>, B<--timeout> I<timeout>

Timeout in seconds for all operations. Default value is 5 seconds.

=back

=head1 RETURN VALUE

On exit B<rspamc> returns 0 if operation was successfull and error code otherwise.

=head1 EXAMPLES

Check stdin:

	rspamc < some_file

Check files:
	
	rspamc symbols file1 file2 file3
	
Learn files:

	rspamc -P pass learn_spam file1 file2 file3

Add fuzzy hash to set 2:
	
	rspamc -P pass -f 2 -w 10 fuzzy_add file1 file2
	
Delete fuzzy hash from other server:

	rspamc -P pass -h hostname:11334 -f 2 fuzzy_del file1 file2
	
Get statistics:
	
	rspamc stat

Get uptime:
	
	rspamc uptime

Add custom rule's weight:

	rspamc add_symbol test 1.5
	
Add custom action's weight:

    rspamc add_action reject 7.1

=head1 AUTHOR

Vsevolod Stakhov <vsevolod@highsecure.ru>

=head1 COPYRIGHT AND LICENSE

Copyright 2011-2012 by Vsevolod Stakhov <vsevolod@highsecure.ru>.

This program is free software; you may redistribute it and/or modify it
under the terms of BSD license.

=cut