Bram Mertens <[EMAIL PROTECTED]> writes:
> Somebody suggested to use a rule like:
> /From\:\s".*"\s*<my_e-mail-address>/i
>
> And another rule to catch the 2 exceptions. But the .* means that the
> parser might test the entire e-mail making the test slow and heavy on
> memory-usage.
> Something like:
> /From\:\s".{0,20}"\s*<my_e-mail-address>/i prevents this but I'd like to
> know if there's a better solution.
You may get some REALLY inventive regex here... I have before.
But I think you're working too hard and should resort to
spamassassins own tools. This can be done with a push/pull technique.
Investigate spamassassins `meta' handle. (In place of the more normal
`header' handle)
I think most of the documantation is in Mail::SpamAssassin::Conf but
I remember having to have it spelled out for me.
It works like this:
(NB:The underscores are important, spamassin uses them to know how to
handle `meta')
> I'm trying to write a rule for SpamAssassin that looks for the following
> in a message:
> "From: " followed by "anything BUT 'Mertens Bram' or 'Bram Mertens'"
> followed by "<my_e-mail-address>"
(Please note this is untested and may be done more simply)
First define the push and the pull using underscores as shown
header __To_Me_First From =~ /[EMAIL PROTECTED](Mertens Bram|Bram Mertens)
header __Just_My_Email From =~ /<my_e-mail-address>/
Now the meta combo
(Note the bang (not)
meta Not_My_Name_Just_My_Email __Just_My_Email && !__To_Me_First
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>