[Dovecot] trying to make cmusieve happen globally

Phil Howard ttiphil at gmail.com
Wed Dec 22 21:11:05 EET 2010

On Wed, Dec 22, 2010 at 13:27, Thomas Leuxner <tlx at leuxner.net> wrote:

> May be a good idea to post some snippets of the actual Postfix delivery attempts just to make sure it really uses the external LDA. You can also crank up 'mail_debug = yes' to log more verbosely. IIRC it should show CMU Sieve warnings too (it's way old). Going forward using Pigeonhole would make more sense IMHO as it spits out more useful information. Can you also post the relevant Postfix 'main.cf' and 'master.cf' sections?

If it is not using the LDA, I don't know what it is doing.  There have
been several hundred thousand messages going from Postfix to Dovecot
since I installed this a few months ago, all successfully arriving in
the appropriate user INBOX as far as I can tell.  Note that I am using
a gmail account for this mailing list because I set this up way back
when I was installing the mail server, and chose to leave this set up
just in case things break.  Right now, the mail server is working
"fine" except for the sieve part behaving as if there is no sieve
part.  I just started trying to run it today.

part of main.cf is:
================================================================ begin
# Use Dovecot SASL for authentication to submit email.
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
smtpd_sasl_auth_enable = yes

# Use Dovecot for transport delivery.
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
virtual_mailbox_domains = cdb:/var/maildb/domains
virtual_mailbox_maps = cdb:/var/maildb/mailbox
================================================================ end

part of master.cf is:
================================================================ begin
# This is used by "virtual_transport = dovecot" in main.cf
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -a
${recipient} -d ${user}@${nexthop} -f ${sender}
================================================================ end

Note that the -a ${recipient} part was added on today, due to this
being shown in the http://wiki1.dovecot.org/LDA/Sieve page.  I tested
that it did not break ordinary delivery.  But things have been working
(sans sieve) for months without it.  I just assumed sieve might need
it, or benefit from it.

The filesystem access timestamps are not showing any accesses
happening on either sieve file except my own accesses from the command

I do see the following as suspicious, that the settings in "protocol
lda" do not show up in "dovecot -n" at all.  But I don't know if they
should or not.  Of particular concern was that "main_plugin" was
missing.  But here (domain name redacted with XXXXXXXXXXXX) is the
whole output of "dovecot -n" just in case something is relevant (the
"protocol lda" part of dovecot-postfix.conf follows it):
================================================================ begin
# 1.1.11: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.31-22-server x86_64 Ubuntu 9.10 ext3
base_dir: /var/run/dovecot/
log_path: /var/log/dovecot/error.log
info_log_path: /var/log/dovecot/info.log
log_timestamp: %Y-%m-%d %H:%M:%S
protocols: imap pop3 imaps pop3s
listen:, [fcca::1c],, [::1]
ssl_cert_file: /etc/ssl/certs/imapx.XXXXXXXXXXXX.crt
ssl_key_file: /etc/ssl/private/imapx.XXXXXXXXXXXX.key
ssl_parameters_regenerate: 24
login_dir: /var/run/dovecot//login
login_executable(default): /usr/lib/dovecot/imap-login
login_executable(imap): /usr/lib/dovecot/imap-login
login_executable(pop3): /usr/lib/dovecot/pop3-login
login_greeting: AUTHORIZED USERS ONLY -- unauthorized access strictly prohibited
login_greeting_capability(default): yes
login_greeting_capability(imap): yes
login_greeting_capability(pop3): no
mail_max_userip_connections(default): 10
mail_max_userip_connections(imap): 10
mail_max_userip_connections(pop3): 3
verbose_proctitle: yes
first_valid_uid: 250
mail_privileged_group: mail
mail_uid: vmail
mail_gid: vmail
mail_location: maildir:/home/mail/%Ld/%Ln/mail
mail_debug: yes
mail_executable(default): /usr/lib/dovecot/imap
mail_executable(imap): /usr/lib/dovecot/imap
mail_executable(pop3): /usr/lib/dovecot/pop3
mail_process_size: 768
mail_plugin_dir(default): /usr/lib/dovecot/modules/imap
mail_plugin_dir(imap): /usr/lib/dovecot/modules/imap
mail_plugin_dir(pop3): /usr/lib/dovecot/modules/pop3
imap_client_workarounds(default): outlook-idle delay-newmail
imap_client_workarounds(imap): outlook-idle delay-newmail
pop3_client_workarounds(pop3): outlook-no-nuls oe-ns-eoh
auth default:
  mechanisms: plain login
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_ at +
  username_format: %Ln@%Ld
  verbose: yes
  debug: yes
  debug_passwords: yes
    driver: passwd-file
    args: scheme=crypt username_format=%Ln /var/maildb/authdir/%Ld/passwd
    driver: passwd-file
    args: username_format=%Ln /var/maildb/authdir/%Ld/passwd
    type: listen
      path: /var/spool/postfix/private/dovecot-auth
      mode: 432
      user: postfix
      group: postfix
      path: /var/run/dovecot/auth-master
      mode: 384
      user: vmail
      group: vmail
  sieve_global_path: /etc/dovecot/sieve-global.d/spam.sieve
================================================================ end

here is part of dovecot-postfix.conf (pointed to by dovecot.conf):
================================================================ begin
protocol lda {
        log_path = /var/log/deliver/error.log
        info_log_path = /var/log/deliver/info.log

        user = vmail
        group = vmail

        postmaster_address = postmaster
        hostname = XXXXXXXXXXXX

        mail_plugins = cmusieve
        mail_plugin_dir = /usr/lib/dovecot/modules/lda
        quota_full_tempfail = yes

        # Format to use for logging mail deliveries. You can use variables:
        #  %$ - Delivery status message (e.g. "saved to INBOX")
        #  %m - Message-ID
        #  %s - Subject
        #  %f - From address
        deliver_log_format = msgid=%m: %$

        #sendmail_path = /usr/lib/sendmail
        rejection_reason = Your message to <%t> was automatically rejected:%n%r

        # UNIX socket path to master authentication server to find users.
        #auth_socket_path = /var/run/dovecot/auth-master
================================================================ end

sHiFt HaPpEnS!

More information about the dovecot mailing list