Sieve scripts not triggered on IMAP inbound messages using IMAPC
Fred
admin at mgrids.com
Tue Mar 12 03:18:29 EET 2019
Stephan--
Thank you for the troubleshooting link. I've already been through that and
every other HowTo I could find. The likely underlying problem is that I'm
not using an LDA -- I'm simply using this as a proxy using IMAPC.
I can define static rules in dovecot.conf and they get triggered (e.g., when
moving a message between folders), similar to this:
imapsieve_mailbox1_name = *
imapsieve_mailbox1_causes = COPY APPEND FLAG
imapsieve_mailbox1_before =
file:/var/vmail/sieve/global/spam_rule.sieve
This will trigger on an existing message, such as if I manually move a
message from the inbox into trash, or mark the message as read. What I want
to have happen is for this rule (or something similar) to trigger when a
message is initially received into the inbox.
Op 08/03/2019 om 15:12 schreef Fred via dovecot:
>
> Good morning.
>
> I am using Dovecot as an IMAP proxy -- using IMAPC -- and the system
> is working great. Thank you for contributing such great software to
> the community!
>
> Im using Dovcot 2.3.5 and Pigeonhole 0.5.5.
>
> My server is located behind a content-filtering firewall that will
> mark incoming messages by adding [SPAM] to the subject line. Im
> trying to use Sieve to identify those messages and move them into the
> Spam folder. I have a basic Sieve script that looks like this:
>
> require ["fileinto"];
>
> if anyof (header :contains "Subject" "[SPAM]",
>
> header :contains "X-Spam-Flag" "Yes")
>
> {
>
> fileinto "Spam";
>
> stop;
>
> }
>
> I can see in the logs that Sieve is loaded, and also the
> imapsieve_plugin
>
> Debug: sieve: Pigeonhole version 0.5.5 (2483b085) initializing
>
> Debug: sieve: Sieve imapsieve plugin for Pigeonhole version 0.5.5
> (2483b085) loaded
>
> Sieve detects outbound messages (from the log: Debug: imapsieve:
> mailbox INBOX.Sent: APPEND event) but nothing registers for inbound,
> and my spam_rule is never triggered. Any suggestions?
>
https://wiki.dovecot.org/Pigeonhole/Sieve/Troubleshooting
> Here is the output from Dovecot -n:
>
> # 2.3.5 (513208660): /etc/dovecot/dovecot.conf
>
> # Pigeonhole version 0.5.5 (2483b085)
>
> # OS: Linux 3.10.0-957.5.1.el7.x86_64 x86_64 CentOS Linux release
> 7.6.1810 (Core) xfs
>
> # Hostname: <redacted>
>
> auth_master_user_separator = *
>
> auth_mechanisms = PLAIN LOGIN
>
> auth_verbose_passwords = plain
>
> deliver_log_format = from=%{from}, envelope_sender=%{from_envelope},
> subject=%{subject}, msgid=%m, size=%{size}, %$
>
> dict {
>
> acl = pgsql:/etc/dovecot/dovecot-share-folder.conf
>
> quotadict = pgsql:/etc/dovecot/dovecot-used-quota.conf
>
> }
>
> first_valid_uid = 2000
>
> imapc_features = fetch-bodystructure fetch-headers
>
> imapc_host = <redacted>
>
> imapc_port = 993
>
> imapc_ssl = imaps
>
> imapc_ssl_verify = no
>
> last_valid_uid = 2000
>
> listen = * [::]
>
> mail_debug = yes
>
> mail_gid = 2000
>
> mail_home = /var/mail/imapc/home/%d/%n
>
> mail_location = imapc:/var/mail/imapc/%d/%n
>
> mail_plugins = mailbox_alias mail_log notify
>
> mail_uid = 2000
>
> 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
>
> list = yes
>
> location =
>
> prefix =
>
> separator = .
>
> type = private
>
> }
>
> passdb {
>
> args = host=<redacted>
>
> default_fields = userdb_imapc_user=%u
> userdb_imapc_password=#hidden_use-P_to_show#
>
> driver = imap
>
> }
>
> passdb {
>
> args = /etc/dovecot/dovecot-master-users
>
> driver = passwd-file
>
> master = yes
>
> }
>
> plugin {
>
> imapsieve_default = /var/vmail/sieve/global/spam_rule.sieve
>
> mail_log_events = delete undelete expunge mailbox_delete
> mailbox_rename
>
> mail_log_fields = uid box msgid size from subject
>
> mailbox_alias_new = Sent Messages
>
> mailbox_alias_new2 = Sent Items
>
> mailbox_alias_old = Sent
>
> mailbox_alias_old2 = Sent
>
> sieve_global_dir = /var/vmail/sieve/global/
>
> sieve_max_redirects = 30
>
> sieve_plugins = sieve_imapsieve
>
> sieve_trace_debug = yes
>
> sieve_trace_dir = /var/log/dovecot
>
> sieve_trace_level = matching
>
> }
>
> protocols = imap sieve
>
> service auth {
>
> unix_listener /var/spool/postfix/private/dovecot-auth {
>
> group = postfix
>
> mode = 0666
>
> user = postfix
>
> }
>
> unix_listener auth-master {
>
> group = vmail
>
> mode = 0666
>
> user = vmail
>
> }
>
> unix_listener auth-userdb {
>
> group = vmail
>
> mode = 0660
>
> user = vmail
>
> }
>
> }
>
> service dict {
>
> unix_listener dict {
>
> group = vmail
>
> mode = 0660
>
> user = vmail
>
> }
>
> }
>
> service imap-login {
>
> process_limit = 500
>
> service_count = 1
>
> }
>
> service lmtp {
>
> executable = lmtp -L
>
> inet_listener lmtp {
>
> address = 127.0.0.1
>
> port = 24
>
> }
>
> process_min_avail = 5
>
> unix_listener /var/spool/postfix/private/dovecot-lmtp {
>
> group = postfix
>
> mode = 0600
>
> user = postfix
>
> }
>
> user = vmail
>
> }
>
> service managesieve-login {
>
> inet_listener sieve {
>
> address = 127.0.0.1
>
> port = 4190
>
> }
>
> }
>
> ssl = required
>
> ssl_cert = </etc/letsencrypt/live/mgrids.dynu.com/fullchain.pem
>
> ssl_cipher_list =
> ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3D
> ECDH+ES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5
>
> ssl_client_ca_file = /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
>
> ssl_dh = # hidden, use -P to show it
>
> ssl_key = # hidden, use -P to show it
>
> ssl_prefer_server_ciphers = yes
>
> syslog_facility = local5
>
> userdb {
>
> driver = prefetch
>
> }
>
> protocol imap {
>
> imap_client_workarounds = tb-extra-mailbox-sep
>
> mail_max_userip_connections = 30
>
> mail_plugins = mailbox_alias mail_log notify imap_sieve
>
> }
>
> protocol sieve {
>
> info_log_path = /var/log/dovecot/sieve-info.log
>
> log_path = /var/log/dovecot/sieve-err.log
>
> managesieve_implementation_string = Dovecot Pigeonhole
>
> managesieve_max_line_length = 65536
>
> }
>
More information about the dovecot
mailing list