Hi all!
I have written a patch to allow the spamassasin plugin to have a custom
spam tag read in from a configuration file as opposed to the default ***
SPAM *** that is hard coded.
When the configuration file (spamsubjectprefix) is not defined or empty
the default value still applies, if it is provided the value from the
configuration file is used.
Any change this can be considered for implementation as we would really
like to have it for SME Server.
Kind regards,
Jonathan
diff -up qpsmtpd-0.83/plugins/spamassassin.subjectrewrite
qpsmtpd-0.83/plugins/spamassassin
--- qpsmtpd-0.83/plugins/spamassassin.subjectrewrite 2009-11-04
10:19:51.000000000 +0100
+++ qpsmtpd-0.83/plugins/spamassassin 2009-11-04 10:48:33.000000000 +0100
@@ -41,7 +41,8 @@ The default is to never reject mail base
=item munge_subject_threshold [threshold]
Set the threshold where the plugin will prefix the subject with
-'***SPAM***'. A modified subject is easier to filter on than the
+'***SPAM***' or the value defined in the spamsubjectprefix
+configuration file. A modified subject is easier to filter on than the
other headers for many people with not so clever mail clients. You
might want to make another plugin that does this on a per user basis.
@@ -236,8 +237,9 @@ sub check_spam_munge_subject {
return DECLINED unless $score >= $self->{_args}->{munge_subject_threshold};
+ my $subject_prefix = $self->qp->config('spamsubjectprefix') || '*** SPAM
***';
my $subject = $transaction->header->get('Subject') || '';
- $transaction->header->replace('Subject', "***SPAM*** $subject");
+ $transaction->header->replace('Subject', "$subject_prefix $subject");
return DECLINED;
}