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>