Well spotted. In my first attempt, the configuration I originally posted was at the end of my dovecot.conf file, and I was not including the conf.d configuration files. Preceding that was my lmtp protocol cong.
protocol lmtp { postmaster_address = postmaster # Space separated list of plugins to load (default is global mail_plugins). mail_plugins = $mail_plugins sieve } >>>> >>>> mail_plugins = $mail_plugins zlib >>>> >>>> plugin { >>>> zlib_save_level = 6 >>>> zlib_save = xz >>>> } >>>> The doveconf -n associated with this is as follows: 01 # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf 02 # Pigeonhole version 0.4.13 (7b14904) 03 # OS: Linux 4.9.15-x86_64-linode81 x86_64 Ubuntu 16.04.2 LTS 04 auth_mechanisms = plain login 05 log_timestamp = "%Y-%m-%d %H:%M:%S " 06 mail_gid = vmail 07 mail_home = maildir:/var/vmail/%d/%n 08 mail_location = maildir:~/Maildir 09 10 mail_privileged_group = vmail 11 mail_uid = vmail 12 managesieve_notify_capability = mailto 13 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 14 namespace inbox { 15 inbox = yes 16 location = 17 mailbox Archive { 18 auto = subscribe 19 special_use = \Archive 20 } 21 mailbox Drafts { 22 auto = subscribe 23 special_use = \Drafts 24 } 25 mailbox Sent { 26 auto = subscribe 27 special_use = \Sent 28 } 29 mailbox Spam { 30 auto = subscribe 31 special_use = \Junk 32 } 33 mailbox Trash { 34 auto = subscribe 35 special_use = \Trash 36 } 37 prefix = 38 } 39 passdb { 40 args = /etc/dovecot/dovecot-sql.conf.ext 41 driver = sql 42 } 43 plugin { 44 sieve = ~/.dovecot.sieve 45 sieve_dir = ~/sieve 46 zlib_save = bz2 47 zlib_save_level = 6 48 } 49 protocols = " imap lmtp sieve" 50 service auth { 51 unix_listener /var/spool/postfix/private/dovecot-auth { 52 group = postfix 53 mode = 0660 54 user = postfix 55 } 56 user = root 57 } 58 service lmtp { 59 unix_listener /var/spool/postfix/private/dovecot-lmtp { 60 group = postfix 61 mode = 0600 62 user = postfix 63 } 64 } 65 ssl_ca = </etc/ssl/repeal18c.today/fullchain.pem 66 ssl_cert = </etc/ssl/repeal18c.today/cert.pem 67 ssl_cipher_list = ALL:!LOW:!SSLv2:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM 68 ssl_key = </etc/ssl/repeal18c.today/privkey.pem 69 userdb { 70 args = /etc/dovecot/dovecot-sql.conf.ext 71 driver = sql 72 } 73 protocol imap { 74 imap_client_workarounds = delay-newmail 75 mail_max_userip_connections = 100 76 } 77 protocol lmtp { 78 mail_plugins = " sieve zlib" 79 postmaster_address = postmaster 80 } (The blank line at 09 I have inserted.) Note the mail_plugins for protocol lmtp at 77. I changed the protocol lmtp settings in dovecot.conf as follows: protocol lmtp { postmaster_address = postmaster mail_plugins = $mail_plugins sieve zlib } and I removed this line: >>>> mail_plugins = $mail_plugins zlib The resulting doveconf -n is: 01 # 2.2.22 (fe789d2): /etc/dovecot/dovecot.conf 02 # Pigeonhole version 0.4.13 (7b14904) 03 # OS: Linux 4.9.15-x86_64-linode81 x86_64 Ubuntu 16.04.2 LTS 04 auth_mechanisms = plain login 05 log_timestamp = "%Y-%m-%d %H:%M:%S " 06 mail_gid = vmail 07 mail_home = maildir:/var/vmail/%d/%n 08 mail_location = maildir:~/Maildir 09 mail_plugins = " zlib" 10 mail_privileged_group = vmail 11 mail_uid = vmail 12 managesieve_notify_capability = mailto 13 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 14 namespace inbox { 15 inbox = yes 16 location = 17 mailbox Archive { 18 auto = subscribe 19 special_use = \Archive 20 } 21 mailbox Drafts { 22 auto = subscribe 23 special_use = \Drafts 24 } 25 mailbox Sent { 26 auto = subscribe 27 special_use = \Sent 28 } 29 mailbox Spam { 30 auto = subscribe 31 special_use = \Junk 32 } 33 mailbox Trash { 34 auto = subscribe 35 special_use = \Trash 36 } 37 prefix = 38 } 39 passdb { 40 args = /etc/dovecot/dovecot-sql.conf.ext 41 driver = sql 42 } 43 plugin { 44 sieve = ~/.dovecot.sieve 45 sieve_dir = ~/sieve 46 zlib_save = bz2 47 zlib_save_level = 6 48 } 49 protocols = " imap lmtp sieve" 50 service auth { 51 unix_listener /var/spool/postfix/private/dovecot-auth { 52 group = postfix 53 mode = 0660 54 user = postfix 55 } 56 user = root 57 } 58 service lmtp { 59 unix_listener /var/spool/postfix/private/dovecot-lmtp { 60 group = postfix 61 mode = 0600 62 user = postfix 63 } 64 } 65 ssl_ca = </etc/ssl/repeal18c.today/fullchain.pem 66 ssl_cert = </etc/ssl/repeal18c.today/cert.pem 67 ssl_cipher_list = ALL:!LOW:!SSLv2:!aNULL:!ADH:!eNULL:!EXP:RC4+RSA:+HIGH:+MEDIUM 68 ssl_key = </etc/ssl/repeal18c.today/privkey.pem 69 userdb { 70 args = /etc/dovecot/dovecot-sql.conf.ext 71 driver = sql 72 } 73 protocol imap { 74 imap_client_workarounds = delay-newmail 75 mail_max_userip_connections = 100 76 } 77 protocol lmtp { 78 mail_plugins = " sieve" 79 postmaster_address = postmaster 80 } Note line 09, and the modified value of mail_plugins at 78. These are the only changes in doveconf -n. The result is a reversal of the previous situation. Received messages in /var/vmail/<host>/<username>/cur are compressed; sent messages in /var/vmail/<host>/<username>/.Sent/cur are not compressed. I assume that I need both specifications. -- Peter West p...@pbw.id.au And the great throng heard him gladly. > On 10 Jun 2017, at 6:50 pm, Aki Tuomi <aki.tu...@dovecot.fi> wrote: > > Please check that you are not overwriting mail plugins for lmtp. Or post your > doveconf -n. > > Aki > >> On June 10, 2017 at 11:10 AM Peter West <li...@pbw.id.au> wrote: >> >> >> Not sure what you mean. I’m using lmtp to send messages to Dovecot from >> Postfix. >> >>> On 10 Jun 2017, at 6:08 pm, Aki Tuomi <aki.tu...@dovecot.fi> wrote: >>> >>> What's your LDA? >>> >>> Aki >>> >>>> On June 10, 2017 at 11:01 AM Peter West <li...@pbw.id.au> wrote: >>>> >>>> >>>> Thanks for that Aki. >>>> >>>> Follow-up question. I tried to initiate compression by adding >>>> >>>> mail_plugins = $mail_plugins zlib >>>> >>>> plugin { >>>> zlib_save_level = 6 >>>> zlib_save = xz >>>> } >>>> >>>> >>>> to dovecot.conf. I restarted dovecot and sent one message to the server, >>>> and one message from the server. Neither was compressed. I changed the >>>> save type to >>>> >>>> zlib_save = bz2 >>>> >>>> and repeated. This time the message received (in >>>> /var/vmail/<host>/<username>/cur) was not compressed, but the message in >>>> /var/vmail/<host>/<username>/.Sent/cur was bzip2 compressed. >>>> >>>> Why is the received mail not being compressed? Is this the point of the >>>> discussion about compressing old mails? >>>> >>>> >>>>> On 10 Jun 2017, at 4:43 pm, Aki Tuomi <aki.tu...@dovecot.fi> wrote: >>>>> >>>>> >>>>>> On June 10, 2017 at 5:58 AM Peter West <li...@pbw.id.au> wrote: >>>>>> >>>>>> >>>>>> Concerning Maildir, the wiki page on compression has this: >>>>>> >>>>>> All mails must have ,S=<size> in their filename where <size> contains >>>>>> the original uncompressed mail size, otherwise there will be problems >>>>>> with quota calculation as well as other potential random failures. Note >>>>>> that if the filename doesn’t contain the ,S=<size> before compression, >>>>>> adding it afterwards changes the base filename and thus the message UID. >>>>>> The safest thing to do is simply to not compress such files. >>>>>> >>>>>> Further down on the same page is this: >>>>>> >>>>>> If the file does exist, rename() (mv) the compressed file over the >>>>>> original file. >>>>>> • Dovecot can now read the file, but to avoid compressing it again on >>>>>> the next run, you'll probably want to rename it again to include e.g. a >>>>>> "Z" flag in the file name to mark that it was compressed (e.g. >>>>>> 1223212411.M907959P17184.host,S=3271:2,SZ). >>>>>> >>>>>> These comments seem to contradict each. Or is there a difference between >>>>>> adding the size specifier to the filename and adding a Z flag to the end >>>>>> of the file name? >>>>>> >>>>>> -- >>>>>> Peter West >>>>>> p...@pbw.id.au >>>>>> And the great throng heard him gladly. >>>>>> >>>>> >>>>> Keyword is 'base filename'. From the wiki, "The standard filename >>>>> definition is: "<base filename>:2,<flags>".". Z is a flag. >>>>> >>>>> Aki >>>> >>
signature.asc
Description: Message signed with OpenPGP