Re: Sieve filter fileinto doesn't preserve flags
Op 3/2/2018 om 6:41 PM schreef Konstantinos Tsakiltzidis: > Using `fileinto` to move a mail into another mailbox removes flags > > that have been set with a previous sieve filter with `addflag`. I need to see your script to help you. Regards, Stephan Bosch. > > # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.21 (92477967) > # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 > lda_mailbox_autocreate = yes > lda_mailbox_autosubscribe = yes > mail_debug = yes > mail_location = maildir:/var/vmail/%d/%n > 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 > 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 = > separator = . > subscriptions = yes > type = private > } > namespace modulus { > list = children > location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes > mailbox admin { > auto = subscribe > } > mailbox support { > auto = subscribe > } > mailbox telecoms { > auto = subscribe > } > prefix = Public. > separator = . > subscriptions = yes > type = public > } > passdb { > driver = pam > } > plugin { > acl = vfile > mail_log_events = flag_change > mail_log_fields = box flags uid > sieve = ~/dovecot.sieve > sieve_before = /var/vmail/global.sieve > sieve_dir = ~/sieve > sieve_global_dir = /var/vmail/sieve > } > protocols = " imap lmtp sieve lmtp" > service auth { > unix_listener /var/spool/postfix/private/auth { > group = mail > mode = 0666 > user = postfix > } > unix_listener auth-userdb { > group = mail > mode = 0666 > user = vmail > } > } > service imap-login { > inet_listener imap { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0600 > user = postfix > } > } > service managesieve-login { > inet_listener sieve { > port = 4190 > } > process_min_avail = 0 > service_count = 1 > vsz_limit = 64 M > } > service managesieve { > process_limit = 1024 > } > ssl = required > ssl_cert = ssl_key = # hidden, use -P to show it > userdb { > driver = passwd > } > protocol imap { > mail_max_userip_connections = 20 > mail_plugins = " mail_log notify acl" > passdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > } > userdb { > args = uid=vmail gid=mail home=/var/vmail/%d/%n > driver = static > name = > } > } > protocol lda { > mail_plugins = " sieve acl" > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol lmtp { > mail_plugins = " sieve acl" > postmaster_address = postmas...@modulus.gr > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol doveadm { > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol sieve { > mail_max_userip_connections = 10 > managesieve_implementation_string = Dovecot Pigeonhole > managesieve_logout_format = bytes=%i/%o > managesieve_max_line_length = 65536 > passdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > } > userdb { > args = uid=vmail gid=mail home=/var/vmail/%d/%n > driver = static > name = > } > } >
Re: Sieve filter imapflags with "flagvar" not working
Op 3/2/2018 om 6:09 PM schreef Konstantinos Tsakiltzidis: > Following the rfc5232, Sieve Email Filtering: Imap4flags Extension > > the following filter doesn't work when the `"flagvar"` part is added > > require "imap4flags"; > > if header :contains "X-Spam" "Yes" { > > setflag "flagvar" "spam"; > > } You should be getting an error logged somewhere. Using a flag variable is not allowed, unless the variables extension is enabled. So, you must add `require "variables";' for this script to make sense at all. Regards, Stephan. > removing the `"flagvar"` part works as expected > > > # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf > # Pigeonhole version 0.4.21 (92477967) > # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 > lda_mailbox_autocreate = yes > lda_mailbox_autosubscribe = yes > mail_debug = yes > mail_location = maildir:/var/vmail/%d/%n > 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 > 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 = > separator = . > subscriptions = yes > type = private > } > namespace modulus { > list = children > location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes > mailbox admin { > auto = subscribe > } > mailbox support { > auto = subscribe > } > mailbox telecoms { > auto = subscribe > } > prefix = Public. > separator = . > subscriptions = yes > type = public > } > passdb { > driver = pam > } > plugin { > acl = vfile > mail_log_events = flag_change > mail_log_fields = box flags uid > sieve = ~/dovecot.sieve > sieve_before = /var/vmail/global.sieve > sieve_dir = ~/sieve > sieve_global_dir = /var/vmail/sieve > } > protocols = " imap lmtp sieve lmtp" > service auth { > unix_listener /var/spool/postfix/private/auth { > group = mail > mode = 0666 > user = postfix > } > unix_listener auth-userdb { > group = mail > mode = 0666 > user = vmail > } > } > service imap-login { > inet_listener imap { > port = 0 > } > } > service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0600 > user = postfix > } > } > service managesieve-login { > inet_listener sieve { > port = 4190 > } > process_min_avail = 0 > service_count = 1 > vsz_limit = 64 M > } > service managesieve { > process_limit = 1024 > } > ssl = required > ssl_cert = ssl_key = # hidden, use -P to show it > userdb { > driver = passwd > } > protocol imap { > mail_max_userip_connections = 20 > mail_plugins = " mail_log notify acl" > passdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > } > userdb { > args = uid=vmail gid=mail home=/var/vmail/%d/%n > driver = static > name = > } > } > protocol lda { > mail_plugins = " sieve acl" > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol lmtp { > mail_plugins = " sieve acl" > postmaster_address = postmas...@modulus.gr > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol doveadm { > userdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n > } > userdb { > args = /etc/dovecot/dovecot-ldap-groups.conf.ext > driver = ldap > name = > override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n > mail=maildir:/var/vmail/%d/Public/.%n > } > } > protocol sieve { > mail_max_userip_connections = 10 > managesieve_implementation_string = Dovecot Pigeonhole > managesieve_logout_format = bytes=%i/%o > managesieve_max_line_length = 65536 > passdb { > args = /etc/dovecot/dovecot-ldap-users.conf.ext > driver = ldap > name = > } > userdb { > args =
Re: Virtual question
On Mar 2, 2018, at 14:56, Listwrote: > > namespace { > prefix = @virtual. > separator = . > location = > virtual:/usr/local/etc/dovecot/virtual:INDEX=˜/Maildir/virtual:CONTROL:˜/Maildir/virtual > } # cat /usr/local/etc/virtual/month/dovecot-vitual # ~/Maildir/virtual/month/dovecot-virtual * all younger 2678400 -- My main job is trying to come up with new and innovative and effective ways to reject even more mail. I'm up to about 97% now.
pigeonhole 0.4.22 with sieve_before script crashes
Hello! Dovecot 2.2.34 (874deae) Pigeonhole version 0.4.22 (22940fb7) After the update to pigeonhole version 0.4.22 the following configuration does not work. With version 0.4.21 it works. dovecot.conf (only sieve configuration) --- 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 editheader sieve = file:~/sieve;active=~/.dovecot.sieve sieve_before = /etc/dovecot/sieve/filter sieve_extensions = +editheader sieve_max_script_size = 1M service managesieve-login { inet_listener sieve { port = 4190 } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Sieve managesieve_logout_format = bytes=%i/%o } --- sieve_before script for all users (/etc/dovecot/sieve/filter) --- require ["editheader"]; if header :contains "X-Spam-Flag" "YES" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "SPAM"; } elsif header :contains "X-Amavis-Alert" "INFECTED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "VIRUS"; } elsif header :contains "X-Amavis-Alert" "BANNED" { addheader "X-Filter-Junk-Flag" "YES"; addheader "X-Filter-Junk-Type" "ATTACHMENT"; } else { addheader "X-Filter-Junk-Flag" "NO"; addheader "X-Filter-Junk-Type" "NONE"; } --- sieve script for user post...@example.com (.dovecot.sieve) --- require ["copy"]; if allof (header :is "X-Filter-Junk-Flag" "NO") { redirect :copy "c...@example.com"; } --- I use LMTP to deliver the mail to the user and the following error occurs: Mar 3 02:31:34 test dovecot: lmtp(post...@example.com): Panic: file istream.c: line 197 (i_stream_read): assertion failed: ((size_t)ret+old_size == _stream->pos - _stream->skip) Mar 3 02:31:34 test dovecot: lmtp(post...@example.com): Error: Raw backtrace: /usr/local/lib/dovecot/libdovecot.so.0(+0x9c7a0) [0x7f8c015be7a0] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x9c88c) [0x7f8c015be88c] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f8c0155294d] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x2c8) [0x7f8c015c99d8] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(message_parse_header_next+0x63) [0x7f8c015a72e3] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x7efb1) [0x7f8c015a0fb1] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read+0x53) [0x7f8c015c9763] -> /usr/local/lib/dovecot/libdovecot.so.0(i_stream_read_data+0x3d) [0x7f8c015ca15d] -> /usr/local/lib/dovecot/libdovecot.so.0(io_stream_copy+0x75) [0x7f8c015df1a5] -> /usr/local/lib/dovecot/libdovecot.so.0(+0xbf5e0) [0x7f8c015e15e0] -> /usr/local/lib/dovecot/libdovecot.so.0(o_stream_send_istream+0x33) [0x7f8c015df003] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x4dbf4) [0x7f8bfbb3abf4] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x3f22a) [0x7f8bfbb2c22a] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_result_execute+0x27f) [0x7f8bfbb2da6f] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(+0x502ee) [0x7f8bfbb3d2ee] -> /usr/local/lib/dovecot/libdovecot-sieve.so.0(sieve_multiscript_run+0xa6) [0x7f8bfbb3def6] -> /usr/local/lib/dovecot/lib90_sieve_plugin.so(+0x379a) [0x7f8bfbda279a] -> /usr/local/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0xa2) [0x7f8c01b9d942] -> dovecot/lmtp [DATA 127.0.0.1 post...@example.com]() [0x406c0b] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x52) [0x7f8c015d3c22] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0xea) [0x7f8c015d51ca] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x3c) [0x7f8c015d3cbc] -> /usr/local/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f8c015d3e68] -> /usr/local/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f8c0155caa3] -> dovecot/lmtp [DATA 127.0.0.1 post...@example.com](main+0x18c) [0x404fbc] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7f8c01198b45] -> dovecot/lmtp [DATA 127.0.0.1 post...@example.com]() [0x405065] Mar 3 02:31:34 test dovecot: lmtp(post...@example.com): Fatal: master: service(lmtp): child 13445 killed with signal 6 (core dumps disabled) If I change the sieve script for this user, it works. For example: --- require ["copy"]; if allof (header :is "X-Filter-Junk-Status" "NO") { redirect :copy
Re: Upgrade to 2.3.0.1 bre aks server
Another remark: I have installed the new version from the PPA provided by dovecot.org: deb https://repo.dovecot.org/ce-2.3-latest/ubuntu/xenial xenial main Before (2.2.22) I had installed it from the ubuntu (canonical) package sources - and not the PPA provided by dovecot.org. Could it be, that the two don't play together? Bye Volker
Re: Upgrade to 2.3.0.1 bre aks server
Here is my "dovecot -n": # 2.3.0.1 (ffd8a29): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.0.1 (d33dca2) # OS: Linux 4.4.0-116-generic x86_64 Ubuntu 16.04.4 LTS auth_debug = yes auth_username_format = %n auth_verbose = yes hostname = volker-wysk.de log_path = /var/log/dovecot.log mail_debug = yes mail_location = mdbox:~/lib/Dovecot-Mail 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 { special_use = \Drafts } mailbox Entwürfe { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Papierkorb { special_use = \Trash } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } mailbox "Versendete Nachrichten" { special_use = \Sent } prefix = separator = . } passdb { driver = pam } plugin { imapsieve_mailbox1_before = file:/usr/lib/dovecot/sieve/report-spam.sieve imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_name = Spam imapsieve_mailbox2_before = file:/usr/lib/dovecot/sieve/report-ham.sieve imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_from = Spam imapsieve_mailbox2_name = * sieve = ~/.dovecot.sieve sieve_dir = ~/lib/Sieve sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment sieve_pipe_bin_dir = /usr/lib/dovecot/sieve sieve_plugins = sieve_imapsieve sieve_extprograms } postmaster_address = p...@volker-wysk.de protocols = imap lmtp sieve ssl = required ssl_cert =
Upgrade to 2.3.0.1 breaks server
Hi I've upgraded dovecot from 2.2.22 to 2.3.0.1, and now I can't log in any longer. My mail client says that the user name and password are rejected by dovecot. I get this messsage in the system logs: % journalctl -u dovecot.service (...) Mär 03 01:39:23 desktop systemd[1]: Stopped Dovecot IMAP/POP3 email server. Mär 03 01:39:23 desktop systemd[1]: Started Dovecot IMAP/POP3 email server. Mär 03 01:39:39 desktop auth[5736]: PAM audit_log_acct_message() failed: Operation not permitted I've followed the instructions in https://wiki2.dovecot.org/Upgrading/2.3 and https://repo.dovecot.org/ (for Ubuntu Xenial). Any ideas..? Bye V.W.
Re: Virtual question
Sorry, different email client on the road. I created the folders under my dovecot install /usr/local/etc/dovecot/virtual/ and then created month and day folders with dovecot-virtaul files in each folder. The folders how up on the mail clients, but either are inaccessible, or empty. namespace { prefix = @virtual. separator = . location = virtual:/usr/local/etc/dovecot/virtual:INDEX=˜/Maildir/virtual:CONTROL:˜/Maildir/virtual} On Mar 1, 2018, at 22:35, Aki Tuomiwrote:/etc/dovecot/virtual/month/dovecot-virtual Then in dovecot.conf you put namespace virtual { location = virtual:/etc/dovecot/virtual:INDEX=~/virtual:CONTROL=~/virtual
Re: Debian: Dovecot 2.3.0.1 won't start if dovecot-pop3d is missing
Aki Tuomi, Fri, 02 Mar 2018 20:06:35 +0200: > the problem is default > protocols = imap pop3 Ah, OK. I wasn't aware that the default had changed. It seems to be protocols = imap pop3 lmtp now. > packaging should use > protocols = > protocols = $protocols imap Yep, explicitly setting protocols = before !include_try /usr/share/dovecot/protocols.d/*.protocol helps. IMO Something like that should be changed in the official packages too. -- Regards mks
requiring a full fqdn for authentication
Hello, I'm using dovecot to do postfix authentication. I'm trying to get dovecot to require a complete email address as a login. Currently I can log in by either a username or fqdn. I've got the below what is the issue? If I need to provide my sql password query let me know. Thanks. Dave. doveconf -n # 2.2.34 (874deae): /usr/local/etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: FreeBSD 11.1-RELEASE-p4 amd64 # Hostname: localhost auth_cache_size = 10 M auth_default_realm = example.com auth_realms = example.com example2.com dict { acl = mysql:/usr/local/etc/dovecot/shared-folders.conf sqlquota = mysql:/usr/local/etc/dovecot/quota.conf } first_valid_gid = 999 first_valid_uid = 999 hostname = mail.example.com imap_idle_notify_interval = 10 mins last_valid_gid = 999 last_valid_uid = 999 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes lda_original_recipient_header = X-Original-To listen = 127.0.0.1 xxx.xxx.xxx.xxx lmtp_rcpt_check_quota = yes mail_access_groups = vmail mail_fsync = never mail_gid = vmail mail_home = /home/vmail/mailboxes/%d/%n mail_location = maildir:~/mail:LAYOUT=fs mail_plugins = acl mail_log notify quota quota_clone trash virtual welcome zlib mail_privileged_group = vmail mail_server_admin = mailto:postmas...@example.com mail_uid = vmail mailbox_list_index = yes 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 imapflags notify imapsieve vnd.dovecot.imapsieve namespace { list = children location = maildir:/home/vmail/public:LAYOUT=fs:INDEXPVT=~/mail/public mailbox TestFolder { auto = subscribe comment = Public Folder for message sharing } prefix = public/ separator = / subscriptions = no type = public } namespace { list = children location = maildir:%%h/Maildir:INDEXPVT=~/Maildir/shared/%%u prefix = shared/%%u/ separator = / subscriptions = no type = shared } namespace inbox { inbox = yes location = mailbox Archive { auto = no special_use = \Archive } mailbox Archives { auto = subscribe special_use = \Archive } mailbox "Deleted Messages" { auto = no autoexpunge = 30 days special_use = \Trash } mailbox Drafts { auto = subscribe special_use = \Drafts } mailbox Junk { auto = no autoexpunge = 30 days special_use = \Junk } mailbox "Junk E-mail" { auto = no autoexpunge = 30 days special_use = \Junk } mailbox Sent { auto = subscribe special_use = \Sent } mailbox "Sent Items" { auto = no special_use = \Sent } mailbox "Sent Messages" { auto = no special_use = \Sent } mailbox Spam { auto = subscribe autoexpunge = 30 days special_use = \Junk } mailbox Trash { auto = subscribe autoexpunge = 30 days special_use = \Trash } mailbox virtual/All { comment = All my messages special_use = \All } prefix = separator = / type = private } namespace virtual { location = virtual:/usr/local/etc/dovecot/virtual:INDEX=~/virtual:CONTROL=~/virtual prefix = virtual/ separator = / } passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf.ext driver = sql } plugin { acl = vfile:/usr/local/etc/dovecot/global-acls:cache_secs=300 acl_anyone = allow acl_globals_only = yes acl_shared_dict = proxy::acl fts = solr fts_autoindex = yes fts_solr = url=http://127.0.0.1:8983/solr/dovecot/ imapsieve_mailbox1_before = file:/home/vmail/sieve/global/learn-spam.sieve imapsieve_mailbox1_causes = COPY imapsieve_mailbox1_name = Spam imapsieve_mailbox2_before = file:/home/vmail/sieve/global/learn-ham.sieve imapsieve_mailbox2_causes = COPY imapsieve_mailbox2_from = Spam imapsieve_mailbox2_name = * last_login_dict = proxy::lastlogin last_login_key = last-login/%u mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size quota = count:User quota quota_clone_dict = proxy::sqlquota quota_exceeded_message = Storage quota for this account has been exceeded, please try again later. quota_grace = 10%% quota_status_nouser = DUNNO quota_status_overquota = 552 5.2.2 Mailbox is full quota_status_success = DUNNO quota_vsizes = true quota_warning = storage=100%% quota-exceeded 100 %u quota_warning2 = storage=95%% quota-warning 95 %u quota_warning3 = storage=90%% quota-warning 90 %u quota_warning4 = storage=85%% quota-warning 85 %u quota_warning5 = storage=75%% quota-warning 75 %u sieve = ~/.dovecot.sieve sieve_before = /home/vmail/sieve/before.d sieve_default = /home/vmail/sieve/default.sieve sieve_dir = ~/sieve sieve_extensions = +notify +imapflags sieve_global_dir = /home/vmail/sieve sieve_global_extensions =
Re: Virtual question
On Mar 1, 2018, at 22:35, Aki Tuomiwrote: > > Under /etc/dovecot/virtual > > you create the virtual folder structure you want, and put the dovecot-virtual > files under those folders. > > such as > > /etc/dovecot/virtual/month/dovecot-virtual > > Then in dovecot.conf you put > > namespace virtual { > location = virtual:/etc/dovecot/virtual:INDEX=~/virtual:CONTROL=~/virtual Ah, that is nifty. I did try setting up a sample monthly box under my list accounts, but when I loaded up my mail client (I tried three) it only showed "virtual”and "month”as empty mailboxes (Mail.app in iOS/macOS, Thunderbird, Roundcube webmail). However, this is more in line with what I would like to create, a single configuration for ALL users, so I will give that a shot before I start trouble-shooting. One quick note, ISBN;'t the default separator for Maildir '.’ and not '/'? I'd guess most everyone will need to specify prefix=virtual. separator=. Yes? (At least when I tried '/‘as the separator dovecot complained) -- My main job is trying to come up with new and innovative and effective ways to reject even more mail. I'm up to about 97% now. >
Re: Sieve filter imapflags with "flagvar" not working
It is: - imap4flags extension: Fix binary byte-code corruption occurring when the setflag, addflag, or removeflag command's flag-list is a variable. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 From: dovecoton behalf of Aki Tuomi Date: Friday, March 2, 2018 at 12:07 PM To: Larry Rosenman , Konstantinos Tsakiltzidis , Dovecot List Subject: Re: Sieve filter imapflags with "flagvar" not working its quite likely fixed in 0.4.22 --- Aki Tuomi Dovecot oy Original message From: Larry Rosenman Date: 02/03/2018 19:55 (GMT+02:00) To: Konstantinos Tsakiltzidis , dovecot@dovecot.org Subject: Re: Sieve filter imapflags with "flagvar" not working I don't remember if this was fixed in 0.4.21 or not, but it's definitely fixed in 0.5.0, which requires dovecot 2.3. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:42 AM, "dovecot on behalf of Konstantinos Tsakiltzidis" wrote: well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Re: Sieve filter imapflags with "flagvar" not working
I don't remember if this was fixed in 0.4.21 or not, but it's definitely fixed in 0.5.0, which requires dovecot 2.3. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:42 AM, "dovecot on behalf of Konstantinos Tsakiltzidis"wrote: well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Debian: Dovecot 2.3.0.1 won't start if dovecot-pop3d is missing
Hello, given a Debian 9 system with Dovecot 2.2.34 installed from self-built packages made from the official tarball combined with Stephan Bosch's debian files (upgraded multiple times from packages made in a similar way). Today, I updated this system to 2.3.0.1 from the official repository at repo.dovecot.org. After the update, dovecot wouldn't start because of: > dovecot: master: Fatal: service(pop3) access(/usr/lib/dovecot/pop3) failed: No such file or directory Obviously, installing the dovecot-pop3d package, which provides the pop3 binary, made the error go away. Nevertheless, until v. 2.2.34 not installing the pop3 binary had never been a problem. Trying to solve this, I even commented the following sections in the config (which previously hadn't caused problems since the lines defining the ports etc. had already been commented): > 10-master.conf: > service pop3-login { > inet_listener pop3 { > #port = 110 > } > inet_listener pop3s { > #port = 995 > #ssl = yes > } > } > service pop3 { > # Max. number of POP3 processes (connections) > #process_limit = 1024 > } > 10-director.conf: > service pop3-login { > #executable = pop3-login director > } After those changes I had the configuration shown below, which produced the described error. Why would Dovecot insist that the pop3 binary has to exist on the system? BTW: Note the protocols = line in the doveconf -n output, whereas > # grep -R protocols /etc/dovecot/ > /etc/dovecot/dovecot.conf:# Most (but not all) settings can be overridden by > different protocols and/or > /etc/dovecot/dovecot.conf:# Enable installed protocols > /etc/dovecot/dovecot.conf:!include_try > /usr/share/dovecot/protocols.d/*.protocol > /etc/dovecot/conf.d/20-managesieve.conf:#protocols = $protocols sieve > /etc/dovecot/conf.d/10-ssl.conf:# SSL protocols to use > /etc/dovecot/conf.d/10-ssl.conf:#ssl_protocols = !SSLv2 > # ll /usr/share/dovecot/protocols.d/ > insgesamt 12 > -rw-r--r-- 1 root root 28 Mär 2 14:51 imapd.protocol > -rw-r--r-- 1 root root 28 Mär 2 14:51 lmtpd.protocol > -rw-r--r-- 1 root root 29 Mär 2 14:51 managesieved.protocol Regards mks doveconf -n # 2.3.0.1 (ffd8a29): /etc/dovecot/dovecot.conf # Pigeonhole version 0.5.0.1 (d33dca2) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.3 ext4 auth_master_user_separator = * auth_mechanisms = plain login dict { quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext } imap_id_log = * mail_home = /var/spool/vmail/home/%d/%n mail_location = mdbox:/var/spool/vmail/mail/%d/%n mail_log_prefix = "%s[%p](%u)<%{session}>: " mail_plugins = " quota acl" 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 namespace { list = children location = mdbox:/var/spool/vmail/mail/Public:INDEXPVT=/var/spool/vmail/home/Public prefix = Public/ separator = / subscriptions = no type = public } 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 = separator = / } passdb { args = /etc/dovecot/master-users driver = passwd-file master = yes pass = yes } passdb { args = /etc/dovecot/dovecot-proxy-sql.conf.ext driver = sql } passdb { args = /etc/dovecot/dovecot-sql.conf.ext driver = sql } passdb { args = /etc/dovecot/dovecot-system-sql.conf.ext driver = sql } plugin { acl = vfile mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename mail_log_fields = uid box msgid size quota = dict:User quota::proxy::quota recipient_delimiter = + sieve = file:~/sieve;active=~/.dovecot.sieve sieve_after = /var/spool/vmail/home/1-global/sieve } protocols = imap pop3 lmtp imap lmtp sieve service auth { inet_listener { port = 12345 } unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } } service dict { unix_listener dict { group = vmail mode = 0600 user = vmail } } service imap-login { inet_listener imap_2 { port = 10143 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } ssl_cert = } protocol lda { mail_plugins = " quota acl sieve" } protocol imap { mail_max_userip_connections = 40 mail_plugins = " quota acl imap_quota acl" } remote 192.168.1.116 { protocol imap { disable_plaintext_auth = no } } remote 192.168.1.127 { protocol imap { disable_plaintext_auth = no } }
Re: Sieve filter imapflags with "flagvar" not working
well i posted the doveconf... # Pigeonhole version 0.4.21 (92477967)
Sieve filter fileinto doesn't preserve flags
Using `fileinto` to move a mail into another mailbox removes flags that have been set with a previous sieve filter with `addflag`. # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n 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 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 = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol lmtp { mail_plugins = " sieve acl" postmaster_address = postmas...@modulus.gr userdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol doveadm { userdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Dovecot Pigeonhole managesieve_logout_format = bytes=%i/%o managesieve_max_line_length = 65536 passdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = } userdb { args = uid=vmail gid=mail home=/var/vmail/%d/%n driver = static name = } }
Re: Sieve filter imapflags with "flagvar" not working
That's the DOVECOT version, what's the PIGEONHOLE version? -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:22 AM, "Konstantinos Tsakiltzidis"wrote: debian package Version: 1:2.2.33.2-1~bpo9+1 On 03/02/2018 07:13 PM, Larry Rosenman wrote: > What version of pigeonhole are you using? This was fixed recently. > >
Re: Sieve filter imapflags with "flagvar" not working
debian package Version: 1:2.2.33.2-1~bpo9+1 On 03/02/2018 07:13 PM, Larry Rosenman wrote: What version of pigeonhole are you using? This was fixed recently.
Re: Sieve filter imapflags with "flagvar" not working
What version of pigeonhole are you using? This was fixed recently. -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 214-642-9640 E-Mail: larry...@gmail.com US Mail: 5708 Sabbia Drive, Round Rock, TX 78665-2106 On 3/2/18, 11:09 AM, "dovecot on behalf of Konstantinos Tsakiltzidis"wrote: Following the rfc5232, Sieve Email Filtering: Imap4flags Extension the following filter doesn't work when the `"flagvar"` part is added require "imap4flags"; if header :contains "X-Spam" "Yes" { setflag "flagvar" "spam"; } removing the `"flagvar"` part works as expected # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n 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 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 = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert =
Sieve filter imapflags with "flagvar" not working
Following the rfc5232, Sieve Email Filtering: Imap4flags Extension the following filter doesn't work when the `"flagvar"` part is added require "imap4flags"; if header :contains "X-Spam" "Yes" { setflag "flagvar" "spam"; } removing the `"flagvar"` part works as expected # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n 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 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 = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol lmtp { mail_plugins = " sieve acl" postmaster_address = postmas...@modulus.gr userdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol doveadm { userdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Dovecot Pigeonhole managesieve_logout_format = bytes=%i/%o managesieve_max_line_length = 65536 passdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = } userdb { args = uid=vmail gid=mail home=/var/vmail/%d/%n driver = static name = } }
Sieve filter doesn't respect mailbox separator
namespace separator is '.', this sieve script incorrectly tries to put the mail inside a mailbox rather that beside it, for example if the mailbox is named 'example', the mail will be put in the path 'example/.Spam' instead of 'example.Spam' require ["fileinto"]; if header :contains "X-Spam" "yes" { fileinto "Spam"; } # 2.2.33.2 (d6601f4ec): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.21 (92477967) # OS: Linux 4.9.0-6-amd64 x86_64 Debian 9.1 ext4 lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_debug = yes mail_location = maildir:/var/vmail/%d/%n 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 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 = separator = . subscriptions = yes type = private } namespace modulus { list = children location = maildir:/var/vmail/%d/Public:INDEXPVT=~/public/indexes mailbox admin { auto = subscribe } mailbox support { auto = subscribe } mailbox telecoms { auto = subscribe } prefix = Public. separator = . subscriptions = yes type = public } passdb { driver = pam } plugin { acl = vfile mail_log_events = flag_change mail_log_fields = box flags uid sieve = ~/dovecot.sieve sieve_before = /var/vmail/global.sieve sieve_dir = ~/sieve sieve_global_dir = /var/vmail/sieve } protocols = " imap lmtp sieve lmtp" service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0666 user = postfix } unix_listener auth-userdb { group = mail mode = 0666 user = vmail } } service imap-login { inet_listener imap { port = 0 } } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } process_min_avail = 0 service_count = 1 vsz_limit = 64 M } service managesieve { process_limit = 1024 } ssl = required ssl_cert = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol lmtp { mail_plugins = " sieve acl" postmaster_address = postmas...@modulus.gr userdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol doveadm { userdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/%n } userdb { args = /etc/dovecot/dovecot-ldap-groups.conf.ext driver = ldap name = override_fields = uid=vmail gid=mail home=/var/vmail/%d/Public/.%n mail=maildir:/var/vmail/%d/Public/.%n } } protocol sieve { mail_max_userip_connections = 10 managesieve_implementation_string = Dovecot Pigeonhole managesieve_logout_format = bytes=%i/%o managesieve_max_line_length = 65536 passdb { args = /etc/dovecot/dovecot-ldap-users.conf.ext driver = ldap name = } userdb { args = uid=vmail gid=mail home=/var/vmail/%d/%n driver = static name = } }
sieve vacation alias handling problem
Hi, I am using Dovecot LDA as LMTP renders envelope extension unusable. The problem I have noticed is that when user has multiple aliases sieve responds to all of them, not only to :addresses specified. >From testing it seems that :addresses only adds addresses to the list of "known" emails to check against. It is not limiting it. As I understand, sieve should check if To: header is consistent with addresses known to be users. But how Dovecot knows about aliases assigned to the user? >From my testing if header To: address is consistent with envelope To: address the reply is fired. I have sieve_vacation_use_original_recipient left at it's default value (no), so that shouldn't be the case. Now if user addr...@example.com has alias al...@example.com specified, the vacation reply will be sent to email addressed to al...@example.com, which is weird, because this behavior should be enabled by switching sieve_vacation_use_original_recipient to yes. When user receives an email that was originally sent to his gmail account (forwarded) there is no reply. If I add gmail address to :addresses reply is generated as expected. So my main question is if this is expected? I would like to enable only delivery to primary address and to + extensions to that address by default. I think that it might be that Postfix is expanding aliases and passing the final recipient (as to=) to dovecot. Then dovecot is using that address to check for explicit delivery, but something fails, as this address is obviously not in To: header. So it looks like orig_to has to be used as well which should be disabled by sieve_vacation_use_original_recipient? My address is: ka...@augustin.pl, alias is: ca...@augustin.pl Mar 2 12:37:32 mail dovecot: lda(ka...@augustin.pl): sieve: msgid=<3ba0578a5f6b170e942b5bac1b19b...@posteo.net>: sent vacation response toMar 2 12:37:32 mail postfix/qmgr[4744]: 3zt82h4CG4z2xlw: from=<>, size=732, nrcpt=1 (queue active) Mar 2 12:37:32 mail dovecot: lda(ka...@augustin.pl): sieve: msgid=<3ba0578a5f6b170e942b5bac1b19b...@posteo.net>: stored mail into mailbox 'INBOX' Mar 2 12:37:32 mail postfix/pipe[8793]: 3zt82f3x4xz2xmw: to= , orig_to= , relay=dovecot, delay=2.2, delays=2.2/0/0/0.06, dsn=2.0.0, status=sent (delivered via dovecot service) Forward from from gmail: Mar 2 11:38:19 mail postfix/qmgr[4744]: 3zt6kL1yF7z2xgg: from= , size=5831, nrcpt=1 (queue active) Mar 2 11:38:19 mail dovecot: lda(ka...@augustin.pl): sieve: msgid= : discarding vacation response for implicitly delivered message; no known (envelope) recipient address found in message headers (recipient= , and additional `:addresses' are specified) Mar 2 11:38:19 mail dovecot: lda(ka...@augustin.pl): sieve: msgid= : stored mail into mailbox 'INBOX' Mar 2 11:38:19 mail postfix/pipe[5362]: 3zt6kL1yF7z2xgg: to= , relay=dovecot, delay=1.3, delays=1.2/0/0/0.05, dsn=2.0.0, status=sent (delivered via dovecot service) from my master.cf: dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -a ${original_recipient} -d ${user}@${nexthop} Thanks, Karol -- Karol Augustin ka...@augustin.pl http://karolaugustin.pl/ +353 85 775 5312
Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p))
I have an email which cannot be delivered using LMTP: Mar 2 15:26:54 mail-cbf dovecot: lmtp(backup@backup.invalid)<29736>: Panic: file smtp-address.c: line 530 (smtp_address_write): assertion failed: (smtp_char_is_qpair(*p)) Mar 2 15:26:54 mail-cbf dovecot: lmtp(backup@backup.invalid)<29736>: Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0xc6aca) [0x7f7fb50d3aca] -> /usr/lib/dovecot/libdovecot.so.0(+0xc6bad) [0x7f7fb50d3bad] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f7fb5045721] -> /usr/lib/dovecot/libdovecot.so.0(smtp_address_write+0x21d) [0x7f7fb504931d] -> /usr/lib/dovecot/libdovecot.so.0(smtp_address_encode+0x21) [0x7f7fb5049411] -> /usr/lib/dovecot/libdovecot-lda.so.0(+0x3774) [0x7f7fb56d0774] -> /usr/lib/dovecot/libdovecot-lda.so.0(+0x3abf) [0x7f7fb56d0abf] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_save_finish+0x7c) [0x7f7fb53c858c] -> /usr/lib/dovecot/libdovecot-storage.so.0(mail_storage_copy+0x104) [0x7f7fb53baeb4] -> /usr/lib/dovecot/libdovecot-storage.so.0(mdbox_copy+0x46) [0x7f7fb53e13f6] -> /usr/lib/dovecot/libdovecot-lda.so.0(+0x3999) [0x7f7fb56d0999] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x48956) [0x7f7fb53c8956] -> /usr/lib/dovecot/libdovecot-lda.so.0(mail_deliver_save+0x1ac) [0x7f7fb56d12ac] -> /usr/lib/dovecot/libdovecot-lda.so.0(mail_deliver+0x1f6) [0x7f7fb56d1916] -> dovecot/lmtp(lmtp_local_data+0x610) [0x560dfd665dc0] -> dovecot/lmtp(cmd_data_continue+0x233) [0x560dfd664b53] -> /usr/lib/dovecot/libdovecot.so.0(+0x4a6e0) [0x7f7fb50576e0] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x69) [0x7f7fb50eb649] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x109) [0x7f7fb50ecf29] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x52) [0x7f7fb50eb752] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7f7fb50eb968] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7f7fb50682a3] -> dovecot/lmtp(main+0x23d) [0x560dfd663c3d] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f7fb4c63830] -> dovecot/lmtp(_start+0x29) [0x560dfd663d79] Mar 2 15:26:55 mail-cbf dovecot: lmtp(backup@backup.invalid)<29736>: Fatal: master: service(lmtp): child 29736 killed with signal 6 (core dumped) Using dovecot 2:2.3.0.1-6 packages on Ubuntu 16.04 The address causing the error is: From: =?utf-8?Q?Dorit_M=C3=BCller?=Note the "umlaut" in the email address... :) -- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebra...@charite.de | https://www.charite.de
Re: Plugin charset_alias
On 02.03.2018 09:38, MRob wrote: > On 2018-03-01 22:59, John Woods wrote: >> Hey Everyone, >> >> We are getting a compile error for Dovecot 2.2.34 on Solaris 11.3 >> x86, using Solaris Studio 12.6 compiler, and it doesn't occur with >> Dovecot 2.2.33. >> >>> Making all in charset-alias > > Can someone easily explain what the usage of this plugin is? Maybe example > when it is helpful? There is a short explanation at https://wiki2.dovecot.org/Plugins/CharsetAlias It is intended for mapping charactersets to work around some e.g. Windows specific letters being lost when Dovecot converts mail to UTF8 using iconv. br, Teemu
Autoexpunge of lazy_expunge namespace
Hi, I'm using autoexpunge to clean my users' Trash and Spam mailboxes. But I'm also using lazy_expunge to keep a copy of deleted messages. Is there any to configure lazy_expunge namespace to be autoexpunged too? My lazy_expunge configuration is the "1 Namespace" described at https://wiki2.dovecot.org/Plugins/Lazyexpunge -- Angel L. Mateo Martínez Sección de Telemática Área de Tecnologías de la Información y las Comunicaciones Aplicadas (ATICA) http://www.um.es/atica Tfo: 868889150 Fax: 86337