blob: 1ddb672f25111927ce5f5c28b211850fcd2e2ab3 [file] [log] [blame]
=head1 testplugin2.pm
To try this out, write these lines to /etc/mail/spamassassin/plugintest.cf:
loadplugin myTestPlugin
header MY_TEST_PLUGIN eval:check_test_plugin()
=cut
package myTestPlugin2;
use Mail::SpamAssassin::Plugin;
use Mail::SpamAssassin::Logger;
use strict;
use bytes;
our @ISA = qw(Mail::SpamAssassin::Plugin);
# constructor: register the eval rule
sub new {
my $class = shift;
my $mailsaobject = shift;
# some boilerplate...
$class = ref($class) || $class;
my $self = $class->SUPER::new($mailsaobject);
bless ($self, $class);
$self->register_method_priority('extract_metadata', 200);
print "registered myTestPlugin2: $self\n";
return $self;
}
sub extract_metadata {
my ($self, $opts) = @_;
my $msg = $opts->{msg};
print "myTestPlugin2 extract_metadata: $self\n";
# note: this has to run after myTestPlugin has run, via the magic
# of priorities, otherwise 'Plugin-Meta-Test2' will not contain
# 'bar2'.
if ($msg->get_metadata("Plugin-Meta-Test") =~ /bar/) {
$msg->put_metadata("Plugin-Meta-Test2", "bar2");
}
return 1;
}
1;