Pigeonhome Sieve: check existence of a folder?

Martin Johannes Dauser mdauser at cs.sbg.ac.at
Thu Feb 28 12:37:39 EET 2019


What about extension "mailbox"?
https://wiki.dovecot.org/Pigeonhole/Sieve
https://tools.ietf.org/html/rfc5490#section-3

A simple example (not tested, but should work):

note: 
+ I use '/' instead of '.' as hierarchical separator
+ stop; stops the whole script, but you could use elsif instead.

require ["fileinto", "mailbox"];

if header :contains "header's name" "aaa" {
    if mailboxexists "INBOX/aaa" {
        fileinto "INBOX/aaa";
        stop;
    }
} 

if header :contains "header's name" "def" {
    if mailboxexists  "INBOX/def" {
        fileinto "INBOX/def";
        stop;
    }
}

Greetings Martin




On Thu, 2019-02-28 at 10:42 +0100, AvV via dovecot wrote:
> Dear All,
> 
> Thanks ofr the great job so far.
> 
> I have crawled the doc & web, and did not find oh to check for the 
> presence of a folder ina  a mailbox?
> 
> I know about "fileinto :create" of course, but the purpose is
> slightly 
> different: I want to automate the move into a folder based on some
> rules 
> but *only if* an associated folder is present (which name is based
> on 
> the rule), otherwise I will do a form of catch-all.
> 
> Example:
> 
> - INBOX
>       +- abc
>       +- def
> 
> - Rule detects "aaa" in someheader field: folder "aaa" not present"
> -> 
> continue;
> 
> - Rule detect "def" in some header field: "def exists" -> fileinto
> "def" 
>     ; stop;
> 
> Any help appreciated.
> 
> Cheers,
> 
> A/
> 


More information about the dovecot mailing list