[Top] [All Lists]

Re: [sieve] Sieve :fcc option

2017-05-01 13:28:24

On 01/17/2017 10:31 AM, Ken Murchison wrote:

A vendor that uses Cyrus IMAP has some customers that would like to have copies of outgoing Sieve-generated messages (e.g. reject, vacation) stored in their Sent mailbox. We could obviously do this with a user configurable option, but I was thinking of extending Sieve to support a :fcc <mailbox> option on reject, vacation and any new actions where it might apply. The option could also leverage draft-bosch-sieve-special-use to do something like :fcc "\\Sent"

I have a complete implementation of :fcc for vacation which also interacts with specific fileinto options (mailbox, imap4flags, special-use). My question, before I start writing up a draft, is what the exact grammar should look like:

vacation VACATION-OPTS [ ":fcc" FILEINTO-OPTS <mailbox: string>] <reason: string>


vacation VACATION-OPTS [ ":fcc" <mailbox: string> FILEINTO-OPTS ] <reason: string>


vacation VACATION-OPTS [ ":fcc" <mailbox: string> ] FILEINTO-OPTS <reason: string>

where VACATION-OPTS is the expected:

[":days" number | ":seconds" number] [":subject" string] [":from" string]
 [":addresses" string-list] [":mime"] [":handle" string]


[ ":create" ] [ ":flags" <list-of-flags: string-list> ] [ ":specialuse" <special-use-flag: string> ]

At this point I prefer the first choice since it looks a lot like fileinto itself and has the FILEINTO-OPTS booked-ended. The last choice allows all of the options to appear in any order (including inter-mingling of VACATION-OPTS with FILEINTO-OPTS), but also removes the dependency of FILEINTO-OPTS on :fcc, which would allow a nonsensical :create or :flags to be used outside of :fcc.

Note that we do have at least one existing action command that has an option dependent on another:

deleteheader" [":index" <fieldno: number> [":last"]] ...


Kenneth Murchison
Principal Systems Software Engineer
Carnegie Mellon University

sieve mailing list

<Prev in Thread] Current Thread [Next in Thread>
  • Re: [sieve] Sieve :fcc option, Ken Murchison <=