Setup sieve failed

Christian Vielhauer c.vielhauer at me.com
Wed Sep 3 16:28:33 UTC 2014


Hi,

I try to setup sieve but I have some trouble.

Using dovecot 2.2.9 on Ubuntu 14.04.1 LTS.

I replaced my correct domain with „domain.tld“.



I am able to create sieve scripts using SOGo. The scripts are created in my mailbox. 

For example in /var/www/kunden/mail/domain.tld/testuser/sieve/sogo.sieve I have the following script and in same ~/sieve folder is a subdirectory available that’s called "tmp“:

~/sieve
~/sieve/tmp

require ["vacation"];
if allof ( not exists ["list-help", "list-unsubscribe", "list-subscribe", "list-owner", "list-post", "list-archive", "list-id", "Mailing-List"], not header :comparator "i;ascii-casemap" :is "Precedence" ["list", "bulk", "junk"], not header :comparator "i;ascii-casemap" :matches "To" "Multiple recipients of*" ) {vacation :days 1 :addresses [„testuser at domain.tld"] text:
This is a vacation test message. Please ignore.
.
;
}


Now I open /var/log/mail.err and I can see the following:

Sep  3 17:50:09 mail dovecot: imap(testuser at domain.tld): Error: stat(/var/www/kunden/mail/domain.tld/testuser/.dovecot.sieve/tmp) failed: Not a directory


I try to create ~/.dovecot.sieve folder, but this file exists and is a symlink.
0 lrwxrwxrwx 1 vmail vmail 16 Sep  3 18:14 .dovecot.sieve -> sieve/sogo.sieve





I think I have some miss configuration because i don’t receive any vacation reply when I send mail to my testuser.
In log files i cannot see any entries according to my sieve script.




Here is my dovecot -n

# 2.2.9: /etc/dovecot/dovecot.conf
# OS: Linux 3.13.0-35-generic x86_64 Ubuntu 14.04.1 LTS ext4
auth_default_realm = domain.tld
auth_mechanisms = plain login
default_vsz_limit = 512 M
hostname = mail.domain.tld
mail_location = maildir:/var/www/kunden/mail/%d/%n
mail_plugins = quota zlib fts
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date ihave
namespace inbox {
  inbox = yes
  location = 
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix = 
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
passdb {
  args = nopassword=y allow_nets=10.27.1.20/32
  driver = static
}
plugin {
  quota = maildir:User quota
  quota_exceeded_message = Quota exceeded, please go to http://www.example.com/over_quota_help for instructions on how to fix this.
  quota_rule2 = Trash:storage=+100M
  quota_rule3 = Archive:storage=+100%%
  quota_rule4 = Archive.2012:storage=+100%%
  quota_rule5 = Archive.Gesendet:storage=+100%%
  quota_warning = storage=99%% quota-exceeded 100 %u
  quota_warning1 = storage=99%% quota-exceeded 99 %u
  quota_warning10 = storage=80%% quota-warning 90 %u
  quota_warning11 = storage=80%% quota-warning 80 %u
  quota_warning12 = storage=50%% quota-warning 50 %u
  quota_warning2 = storage=95%% quota-warning 98 %u
  quota_warning3 = storage=95%% quota-warning 97 %u
  quota_warning4 = storage=95%% quota-warning 96 %u
  quota_warning5 = storage=95%% quota-warning 95 %u
  quota_warning6 = storage=80%% quota-warning 94 %u
  quota_warning7 = storage=80%% quota-warning 93 %u
  quota_warning8 = storage=80%% quota-warning 92 %u
  quota_warning9 = storage=80%% quota-warning 91 %u
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
postmaster_address = postmaster at domain.tld
protocols = " imap lmtp sieve pop3"
quota_full_tempfail = yes
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service dns_client {
  unix_listener dns-client {
    mode = 0600
  }
}
service imap-login {
  inet_listener imap {
    port = 143
  }
  inet_listener imaps {
    port = 993
    ssl = yes
  }
  service_count = 0
}
service imap {
  client_limit = 5
  process_limit = 200
  service_count = 0
  vsz_limit = 2 G
}
service lmtp {
  unix_listener lmtp {
    mode = 0600
  }
}
service managesieve-login {
  inet_listener sieve {
    port = 4190
  }
  inet_listener sieve_deprecated {
    port = 2000
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 110
  }
  inet_listener pop3s {
    port = 995
    ssl = yes
  }
}
service pop3 {
  client_limit = 5
  process_limit = 200
  service_count = 0
}
service quota-exceeded {
  executable = script /usr/local/bin/quota-exceeded.sh
  unix_listener quota-exceeded {
    user = vmail
  }
  user = root
}
service quota-warning {
  executable = script /usr/local/bin/quota-warning.sh
  unix_listener quota-warning {
    user = vmail
  }
  user = root
}
ssl = required
ssl_ca = </certificate/domain_tld.ca-bundle
ssl_cert = </certificate/domain_tld.crt
ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!ADH:!eNULL
ssl_key = </certificate/domain_tld.key
userdb {
  args = /etc/dovecot/dovecot-sql.conf.ext
  driver = sql
}
userdb {
  args = uid=5000 gid=5000 home=/var/www/kunden/mail/%d/%Ln
  driver = static
}
protocol lmtp {
  mail_plugins = quota zlib fts sieve
}
protocol lda {
  mail_plugins = quota zlib fts sieve
}
protocol imap {
  mail_plugins = quota zlib fts imap_quota imap_zlib quota zlib
}






Please help me to fix my problems and get sieve running.




More information about the dovecot mailing list