Op 30-5-2018 om 14:01 schreef Barry Pearce:
Hi,
Im on Manjaro linux fully up to date running
dovecot 2.3.1-2 pigeonhole 0.5.1-2
All is running well except I am having problems with fileinto - it refuses to use variables, and mailboxexists is also failing for me.
Im just dealing with plus addressing - should be simple but the behaviour Im experiencing isnt right.
require ["variables", "envelope", "fileinto", "subaddress", "mailbox"]; if envelope :matches :detail "to" "*" { set :lower "name" "${1}"; } fileinto :create "folder3";
This works, but changing the last line to:
fileinto :create "${name}";
fails and files into inbox. As does:
fileinto :create "${1}";
It makes no difference if the fileinto is placed inside the if statement or otherwise. Using sieve-test suggests the basic scriptit should work and traces show the right action.
On a related matter the script Im actually trying to get to work is:
require ["variables", "envelope", "fileinto", "subaddress", "mailbox"]; if envelope :matches :detail "to" "*" { set :lower "name" "${1}"; } if mailboxexists "${name}" { fileinto :create "${name}"; }
But fails and files in the inbox.
This happens for a reason, which you can either find in your syslog or in the user log file (e.g. ~/.dovecot.sieve -> ~/.dovecot.sieve.log).
Modifying the script to:
require ["variables", "envelope", "fileinto", "subaddress", "mailbox"]; if envelope :matches :detail "to" "*" { set :lower "name" "${1}"; } if mailboxexists "${name}" { fileinto :create "folder7"; } else { fileinto :create "folder8"; }
Files into folder8. So the mailboxexists is failing.
## Started executing script 'plus-addressing' 3: envelope test 3: starting
:matches' match with
i;ascii-casemap' comparator: 3: gettingto' part from message envelope 3: extracting
detail' part from address test+folder4@test.net 3: matching valuefolder4' 3: with key
*' => 1 3: finishing match with result: matched 3: jump if result is false 3: not jumping 4: set command 7: modify :lower "folder4" => "folder4" 7: assignname' [0] = "folder4" 7: mailboxexists test 7: mailbox
folder4' cannot be opened 7: some mailboxes are unavailable 7: jump if result is false 7: jumping to line 9 10: fileinto action 10: store message in mailbox `folder8' ## Finished executing script 'plus-addressing'Here folder4 actually does exist - so the sieve-test confirms that issue. Im at a loss as to whats going on. Im particularly perplexed by the difference in behaviour between sieve-test and the result under the live server.
You can also get a trace for the live server: https://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration#Trace_Debugging
Regards,
Stephan.