#11 Cannot use 'keep' on unconditional rule

open
nobody
None
5
2003-07-11
2003-07-11
Kevin Myers
No

When defining an unconditional rule (eg. file a copy of all
mail in shared folder) and selecting 'keep', the rule is
built with incorrect syntax and rejected by the parser:
Using funclib.pl this produces:

"res=IMAP::Sieve [ putscript ]: couldn't save script
default : NO {69}
Update successful...Error: getscript->IMAP::Sieve [
putscript ]: couldn't save script default : NO {69}"

Using funclib.cyrus in place of funclib.pl this produces:

Updatesieve Error: Cant' update script...
Returned Error: Putting script: script errors: line 6: parse
error, unexpected KEEP, expecting ';'

Workaround:
Use a wildcard rule instead (not fully tested):
require ["fileinto"];

if allof (address :matches ["from"] "***") {
fileinto "shared.store";
keep;
}

else {
keep;
}

Discussion

  • Alain Turbide
    Alain Turbide
    2004-07-07

    Logged In: YES
    user_id=300172

    Should be fixed now with versions 0.62 and up