
=head1 NAME

spamc - client for spamd

=head1 SYNOPSIS

=over

=item spamc [-c] [-d host] [-f] [-h] [-p port] [-s max_size] [-u username]

=back

=head1 OPTIONS

=over

=item B<-c>

Just check if the message is spam or not.  Set process exitcode to 1 is message is spam, 0 if not spam or processing failure occurs.  Will print score/threshold to stdout (as ints) or 0/0 if there was an error.

=item B<-d> I<host>

Connect to spamd server on given host

=item B<-f>

Cause spamc to safe-failover if it can't connect to spamd -- what this means
is that in case spamc fails to connect to spamd, it will not return with an
exitcode set, it will instead dump the original message to stdout, allowing
the message to be delivered, albeit unscanned for spam.  Without this flag,
connection failures to spamd will cause message delivery failures.
Even with this flag set however, if spamc connects successfully, and then
encounters an error at a later stage of communication, it will still return
an exitcode.
This now defaults to B<on>, and can't be turned off.  This flag is accepted
though for backwards-compatibility.

=item B<-h>

Print this help message and terminate without action

=item B<-p> I<port>

Connect to spamd server listening on given port

=item B<-s> I<max_size>

Set the maximum message size which will be sent to spamd -- any bigger than this threshold and the message will be returned unprocessed.  Note that the default size is 250k, so if spamc gets handed a message bigger than this, it won't be passed to spamd.  The size is specified in bytes, and if you send it a negative number, things are quite likely to break very hard.

=item B<-u> I<username>

This argument has been semi-obsoleted.  To have spamd use per-user-config files, run spamc as the user whose config files spamd should load.  If you're running spamc as some other user though (eg. root, mail, nobody, cyrus, etc.) then you can still use this flag.

=back

=head1 DESCRIPTION

Spamc is the client half of the spamc/spamd pair.  It should be used in place
of C<spamassassin -P> in scripts to process mail.  It will read the mail from
stdin, and spool it to its connection to spamd, then read the result back and
print it to stdout.  Spamc has extremely low overhead in loading, so it should
be much faster to load than the whole spamassassin program.

See the F<README> file in the F<spamd> directory of the SpamAssassin distribution
for more details.

=head1 SEE ALSO

spamd(1)
spamassassin(1)
Mail::SpamAssassin(3)

=head1 AUTHOR

Craig R Hughes E<lt>craig@hughes-family.orgE<gt>

=head1 PREREQUISITES

C<Mail::SpamAssassin>

=cut

