Hi, folks! My problem: I set up dovecot with imapsieve to execute a script whenever a user copies a mail to his Spam folder (spam autolearning). Unfortunately this script is never executed regardless what I’m configuring for imapsieve. It looks like dovecot doesn’t really load the plugin…
The "dovecot -n" output is attached. I already tried setting imapsieve_mailbox1_name to *, but even this does not execute the script… Also I tried a mailbox without mail_crypt enabled, no success as well. In the attached mail.log (mail_debug=yes) you can see, that imap_sieve_plugin is loaded, but it isn’t really executed. The normal (LMTP) sieve is working - if a mail is incoming the sieve module shows it work in mail.log: May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: file storage: Storage path `/var/vmail/myhost.name/postmaster/sieve' not found May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: file storage: Storage path `/var/vmail/myhost.name/postmaster/.dovecot.sieve' not found May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: storage: No default script location configured May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: User has no personal script May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: file storage: Using script storage path: /etc/dovecot/sieve/after/ May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: file script: Opened script `spam' from `/etc/dovecot/sieve/after/spam.sieve' May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: executed after user's Sieve script(1): /etc/dovecot/sieve/after/spam.sieve May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: header Message-ID (Cache file is unusable) May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: Opening script 1 of 1 from `/etc/dovecot/sieve/after/spam.sieve' May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: Loading script /etc/dovecot/sieve/after/spam.sieve May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: Script binary /etc/dovecot/sieve/after/spam.svbin successfully loaded May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: binary save: not saving binary /etc/dovecot/sieve/after/spam.svbin, because it is already stored May 7 17:54:04 dovecot dovecot: lmtp([email protected]): Debug: YEm9ILyS8FqSaAAAujt/SA: sieve: Executing script from `/etc/dovecot/sieve/after/spam.svbin' I already spent hours on this problem so please let me know if you have any idea what the problem could be… :( Thanks in advance! Andreas
# 2.2.34 (874deae): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.22 (22940fb7)
# OS: Linux 4.13.13-5-pve x86_64 Debian 9.4 zfs
# Hostname: myhost.name
dict {
ldap = ldap:/etc/dovecot/dovecot-ldap.conf.ext
}
disable_plaintext_auth = no
mail_attribute_dict = file:/var/vmail/%d/%n/Maildir/dovecot-attributes
mail_debug = yes
mail_gid = vmail
mail_location = maildir:/var/vmail/%d/%n/Maildir
mail_uid = vmail
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 index ihave duplicate
mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = no
special_use = \Sent
}
mailbox "Sent Messages" {
auto = subscribe
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = .
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin {
imapsieve_mailbox1_before = file:/etc/dovecot/sieve/learn-spam.sieve
imapsieve_mailbox1_causes = COPY FLAG
imapsieve_mailbox1_name = Spam
imapsieve_mailbox2_before = file:/etc/dovecot/sieve/learn-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Spam
imapsieve_mailbox2_name = *
last_login_dict = proxy::ldap
last_login_key = last-login/%u
mail_crypt_curve = secp521r1
mail_crypt_save_version = 2
mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
flag_change append
sieve = file:~/sieve;active=~/.dovecot.sieve
sieve_after = /etc/dovecot/sieve/after/
sieve_global = /etc/dovecot/sieve/global/
sieve_global_extensions = +vnd.dovecot.pipe
sieve_pipe_bin_dir = /etc/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
sieve_trace_dir = /var/log/sieve/
sieve_trace_level = commands
}
protocols = " imap lmtp sieve"
service auth {
inet_listener sasl-auth {
port = 12345
}
}
service imap-login {
inet_listener imap {
port = 143
}
}
service lmtp {
inet_listener lmtp {
port = 24
}
}
ssl = no
userdb {
driver = prefetch
}
userdb {
args = uid=vmail gid=vmail home=/var/vmail/%d/%n
driver = static
}
protocol lmtp {
mail_plugins = " last_login sieve"
plugin {
last_login_key = last-mail/%u
}
}
protocol imap {
mail_plugins = " imap_sieve"
}
mail.log
Description: Binary data
