=head1 NAME package CustomDeleteTag =head1 SYNOPSIS loadplugin CustomDeleteTag /path/to/CustomDeleteTag.pm custom_delete_score 9.5 add_header all Delete _CUSTOMDELETESCORE_ =head1 DESCRIPTION This SpamAssassin plugin module allows users to specify a value that will be added to the message header, for all messages, specifying what value/score it is safe to delete the message. Obviously, you need some other process that looks at this header and performs the action, since SpamAssassin only filters and does not delete. =cut package CustomDeleteTag; use Mail::SpamAssassin::Plugin; use strict; use bytes; use vars qw(@ISA); @ISA = qw(Mail::SpamAssassin::Plugin); sub new { my $class = shift; my $mailsaobject = shift; $class = ref($class) || $class; my $self = $class->SUPER::new($mailsaobject); bless ($self, $class); $self->set_config($mailsaobject->{conf}); return $self; } sub set_config { my ($self, $conf) = @_; my @cmds = (); push(@cmds, { setting => 'custom_delete_score', default => 1000, type => $Mail::SpamAssassin::Conf::CONF_TYPE_NUMERIC, }); $conf->{parser}->register_commands(\@cmds); } sub parsed_metadata { my ($self, $opts) = @_; $opts->{permsgstatus}->{tag_data}->{CUSTOMDELETESCORE} = $opts->{permsgstatus}->{conf}->{custom_delete_score}; } 1;