mirror of
https://git.proxmox.com/git/proxmox-spamassassin
synced 2025-04-29 10:25:13 +00:00
51 lines
1.1 KiB
Perl
51 lines
1.1 KiB
Perl
=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;
|