From: Teun V. <te...@mo...> - 2003-07-31 21:58:26
|
----- Original Message ----- From: "Mark Martinec" <Mar...@ij...> To: <ama...@li...> Sent: Thursday, July 31, 2003 6:31 PM Subject: Re: [AMaViS-user] regular expression for rewriting $spam_quarantine_to > Teun, > > | In my mailsetup, I'm trying to achieve the following: all spam should be > | sent to another emailaddress, which should look something like this: > | > | spam for fo...@ba... should be sent to fo...@sp... > | spam for us...@do... should be sent to us...@sp... > | > | (basically, I want to add de spam. subdomain entry) > | > | I've been playing around with the $spam_quarantine_to settings in the > | amavisconfig, but can't figure out what the correct regular expression > | should be. I tried stuff like > | > | $spam_quarantine_to = new_RE( [qr'^([^@]*)@([^@]*)' => '\1@spam.\2'] ); > | > | but that doesn't work: the \1 and \2 aren't replaced. I've tried some > | other things (double \, $1, etc), no luck so far. > > \1, \2 notation is incorrect. README.lookups: > > The pattern allows for capturing of parenthesized substrings, which can > then be referenced from the result string using the $1, $2, ... notation, > as with the Perl m// operator. The number after the $ may be a multi-digit > number. To avoid possible ambiguity the ${n} or $(n) form may be used. > Substring numbering starts with 1. Nonexistent references evaluate to empty > strings. If any substitution is done, the result inherits the taintedness > of the key. Keep in mind that the $ character needs to be backslash-quoted > in qq() strings. Example: > $virus_quarantine_to = new_RE( > [ qr'^(.*)@example\.com$'i => 'virus-${1}@example.com' ], > [ qr'^(.*)(@[^@]*)?$'i => 'virus-${1}${2}' ] ); > > > Anchoring to $ is advised, but otherwise your example > should work (using ${1} and ${2} (or $1, $2) notation): > $spam_quarantine_to = new_RE( [qr'^([^@]*)@(.*)$' => '$1@spam.$2'] ); > > The lookup_re should report its result value at log level 5. > > Look for something like: > > (09607-01) do_spam: looking for a quarantine address > (09607-01) lookup_RE: key="ma...@ex..." matches > "(?-xism:^([^@]*)@([^@]*))", result=ma...@sp... > ... > (09607-01) SEND via SMTP: [127.0.0.1:10025] > <te...@ex...> -> <ma...@sp...> > > Mark, Thanks for explaining, I obviously misunderstood the docs :-( I'll go try that tomorrow on my new filterbox! Regards, Teun |