dwww Home | Manual pages | Find package

SIEVEC(1)                           Dovecot                           SIEVEC(1)

NAME
       sievec - Pigeonhole's Sieve script compiler

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

DESCRIPTION
        command  is  part  of Pigeonhole (pigeonhole(7)), which adds Sieve (RFC
       5228) and ManageSieve (RFC 5804) support to Dovecot (dovecot(1)).

        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).

       , because dovecot-lda(1) will do this automatically  if  the  binary  is
       missing.  However, in some cases dovecot-lda(1) does not have permission
       to write the compiled binary to disk, forcing it to recompile the script
       every time it is executed. Using the

       The Pigeonhole Sieve implementation recognizes files with a  .sieve  ex-
       tension 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.

        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.

OPTIONS
       -c config-file

           Alternative Dovecot configuration file path.

       -d

            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

       -D

           Enable Sieve debugging.

       -o setting=value

           Overrides  the  configuration setting from /etc/dovecot/dovecot.conf
           and from the userdb with the given value. In order to override  mul-
           tiple settings, the -o option may be specified multiple times.

       -u user/mask

           Run  the  command only for the given user. It's also possible to use
           '*' and '?' wildcards (e.g. -u *@example.org).

       -x auth_info

           auth_info specifies additional conditions for the user command.  The
           auth_info  option  string  has to be given as name = value pair. For
           multiple conditions the -x option could be supplied multiple times.

           Possible names for the auth_info are:

           service

               The service for which the userdb lookup should  be  tested.  The
               value  may be the name of a service, commonly used with Dovecot.
               For example: imap, pop3 or smtp.

       session

           Session identifier.

       lip

           The local IP address (server) for the test.

       rip

           The remote IP address (client) for the test.

       lport

           The local port, e.g. 143

       rport

           The remote port, e.g. 24567

       real_lip

           The local IP to which the client connected on this host.

       real_rip

           The remote IP where client connected from to this host.

       real_lport

           The local port to which client connected to to this host.

       real_rport

           The remote port from where the client connected from to this host.

       forward_<field>

           Field to forward as %{forward:field} to auth process.

ARGUMENTS
       script-file

           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 direc-
           tory.

       out-file

           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.

EXIT STATUS
       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)

       67

           User does not exist.

       68

           Input file, address or other resource does not exist.

       73

           Cannot create output file.

       77

           Permission error.

       78

           Configuration error.

       127

           Unknown error.

FILES
       /etc/dovecot/dovecot.conf

           Dovecot's main configuration file.

       /etc/dovecot/conf.d/90-sieve.conf

           Sieve interpreter settings (included from Dovecot's main

           configuration file)

REPORTING BUGS
       Report bugs, including doveconf -n output, to the Dovecot  Mailing  List
       dovecot@dovecot.org⟩. Information about reporting bugs is available at:
       https://dovecot.org/bugreport.html

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

78ffb79                            March 2025                         SIEVEC(1)

Generated by dwww version 1.16 on Tue Dec 16 05:56:57 CET 2025.