Provided by: dovecot-sieve_2.2.22-1ubuntu2_amd64 bug


       sievec - Pigeonhole's Sieve script compiler


       sievec [options] script-file [out-file]


       The  sievec  command  is  part of the Pigeonhole Project (pigeonhole(7)), which adds Sieve
       (RFC 5228) support to the Dovecot secure IMAP and POP3 server (dovecot(1)).

       Using the sievec command, Sieve scripts can be compiled into a binary representation.  The
       resulting  binary  can  be  used  directly  to process e-mail messages during the delivery
       process. The delivery of mail messages and - by means of the LDA Sieve plugin -  also  the
       execution  of  Sieve  scripts  is performed by Dovecot's local delivery agent (LDA) called
       dovecot-lda(1).  Usually, it is not necessary to compile the Sieve script  manually  using
       sievec,  because dovecot-lda will do this automatically if the binary is missing. However,
       in some cases dovecot-lda does not have permission to write the compiled binary  to  disk,
       forcing  it to recompile the script every time it is executed. Using the sievec tool, this
       can be performed manually by an authorized user to increase performance.

       The Pigeonhole Sieve implementation recognizes files with  a  .sieve  extension  as  Sieve
       scripts and corresponding files with a .svbin extension as the associated compiled binary.
       This means for example that Dovecot's LDA process  will  first  look  for  a  binary  file
       "dovecot.svbin"  when  it  needs  to execute "dovecot.sieve". It will compile a new binary
       when it is missing or outdated.

       The sievec command is also useful to verify Sieve  scripts  before  using.   Additionally,
       with the -d option it can output a textual (and thus human-readable) dump of the generated
       Sieve code to the specified file. The output is then identical to what  the  sieve-dump(1)
       command  produces  for  a stored binary file. This output is mainly useful to find bugs in
       the compiler that yield corrupt binaries.


       -c config-file
              Alternative Dovecot configuration file path.

       -d     Don't write the binary to out-file, but write a textual dump of the binary instead.
              In  this  context,  the  out-file  value '-' has special meaning: it causes the the
              textual dump to be written to stdout.  The out-file argument may also  be  omitted,
              which  has  the  same  effect  as  '-'.   The  output  is  identical  to  what  the
              sieve-dump(1) command produces for a compiled Sieve binary  file.  Note  that  this
              option is not allowed when the out-file argument is a directory.

       -D     Enable Sieve debugging.

       -x extensions
              Set the available extensions. The parameter is a space-separated list of the active
              extensions. By prepending the extension identifiers with + or -, extensions can  be
              included  or  excluded  relative  to the configured set of active extensions. If no
              extensions have a + or - prefix, only those extensions that are  explicitly  listed
              will be enabled. Unknown extensions are ignored and a warning is produced.

              For example -x "+imapflags -enotify" will enable the deprecated imapflags extension
              and disable the enotify extension. The rest of the active extensions depends on the
              sieve_extensions  and  sieve_global_extensions  settings.  By  default,  i.e.  when
              sieve_extensions and sieve_global_extensions  remain  unconfigured,  all  supported
              extensions  are available, except for deprecated extensions or those that are still
              under development.


              Specifies the script to be compiled. If the script-file argument  is  a  directory,
              all  files  in  that  directory  with  a  .sieve  extension  are  compiled  into  a
              corresponding .svbin binary file. The compilation is not  halted  upon  errors;  it
              attempts  to compile as many scripts in the directory as possible. Note that the -d
              option and the out-file argument are not allowed when the script-file argument is a

              Specifies  where  the  (binary) output is to be written. This argument is optional.
              If this argument is omitted, a binary compiled from <scriptname>.sieve is saved  as
              <scriptname>.svbin.  If  this  argument  is omitted and -b is specified, the binary
              dump is output to stdout.


       sievec will exit with one of the following values:

       0   Compile was successful. (EX_OK, EXIT_SUCCESS)

       1   Operation failed. This is returned for almost all failures.  (EXIT_FAILURE)

       64  Invalid parameter given. (EX_USAGE)


              Dovecot's main configuration file.

              Sieve interpreter settings (included from Dovecot's main configuration file)


       Report   bugs,   including   doveconf   -n   output,   to   the   Dovecot   Mailing   List
       <>.     Information    about    reporting   bugs   is   available   at:


       dovecot(1), dovecot-lda(1), sieve-dump(1), sieve-filter(1), sieve-test(1), pigeonhole(7)