=head1 WARNING This is a sample plugin, it may not work at all, so buyer beware. =cut package validuserplugin; use strict; use bytes; use Mail::SpamAssassin::Plugin; use vars qw(@ISA); @ISA = qw(Mail::SpamAssassin::Plugin); sub new { my $class = shift; my $mailsaobject = shift; # some boilerplate... $class = ref($class) || $class; my $self = $class->SUPER::new($mailsaobject); bless ($self, $class); return $self; } # test the method. only allow if the username is NOT iwillfail sub services_allowed_for_username { my ($self, $options) = @_; my $username = $options->{username}; my $services = $options->{services}; $services->{bayessql} = 1 unless ($username eq 'iwillfail'); return; } 1;