Dovecot: pigeonhole sieve daemon not starting

dovecotsieve

I'm trying to get dovecot + pigeonhole sieve working on ubuntu 14.04.

From everything I've read it seems like this should be pretty straightforward, but I can't seem to get it working.

I've installed and configured dovecot, and everything is working properly. Now I'm trying to get pigeonhole working for filtering.

I installed pigeonhole from the repo:

apt-get install -y dovecot-sieve dovecot-managesieved

This is my dovecot.conf:

disable_plaintext_auth = no
mail_privileged_group = mail
mail_location = mbox:~/mail:INBOX=/var/mail/%u

userdb {
  driver = prefetch
}

userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}

passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}

protocols = imap lmtp

protocol imap {
  mail_plugins = " autocreate"
  disable_plaintext_auth = no
}

plugin {
  autocreate = Trash
  autocreate2 = Sent
  autosubscribe = Trash
  autosubscribe2 = Sent
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}

service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}

service lmtp {
    unix_listener /var/spool/postfix/private/dovecot-lmtp {
        group = postfix
        mode = 0600
        user = postfix
    }
}

protocol lmtp {
    postmaster_address=postmaster@irn.cc
    hostname=irn.cc
    mail_plugins = $mail_plugins sieve
}

protocol sieve {
}

ssl=required
ssl_cert = </etc/ssl/certs/mailcert.pem
ssl_key = </etc/ssl/private/mail.key

From my understanding starting dovecot should start the sieve daemon as well. However, nothing seems to be listening on 4190.

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      241/master      
tcp        0      0 0.0.0.0:993             0.0.0.0:*               LISTEN      1706/dovecot    
tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN      241/master      
tcp        0      0 0.0.0.0:143             0.0.0.0:*               LISTEN      1706/dovecot    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::993                  :::*                    LISTEN      1706/dovecot    
tcp6       0      0 :::143                  :::*                    LISTEN      1706/dovecot    
tcp6       0      0 :::80                   :::*                    LISTEN      420/apache2     
tcp6       0      0 :::22                   :::*                    LISTEN      -               
tcp6       0      0 :::5432                 :::*                    LISTEN      -               
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -               
udp        0      0 172.17.42.1:123         0.0.0.0:*                           -               
udp        0      0 10.0.8.15:123           0.0.0.0:*                           -               
udp        0      0 127.0.0.1:123           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:123             0.0.0.0:*                           -               
udp        0      0 0.0.0.0:59800           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:35789           0.0.0.0:*                           -               
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           -               
udp6       0      0 fe80::5484:7aff:fef:123 :::*                                -               
udp6       0      0 fe80::250:56ff:fe81:123 :::*                                -               
udp6       0      0 ::1:123                 :::*                                -               
udp6       0      0 :::123                  :::*                                -               
udp6       0      0 :::58320                :::*                                -               

Am I missing a step here to start it up? Logs don't seem to show any errors, or any indication that it sees these settings. All I see is the dovecot process starting up.

Jun 22 17:10:51 castle dovecot: master: Dovecot v2.2.9 starting up

Best Answer

You have to enable the sieve in general:

protocols = imap sieve

Then you have to enable sieve invocation from deliver LDA:

protocol lda {
  mail_plugins          = sieve 
. . . . .
}

Now you have to configure the plugin itself:

plugin {
  sieve_before          = /etc/dovecot/common.sieve
  sieve_dir             = ~/sieve/
  sieve                 = ~/user.sieve
. . . . .
}

And the last step - you have to configure the managesieve daemon:

service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
}