Hi, I've just switch from procmail to pigeonhole, and I'm seeing an issue (twice in six hours). I have spamassisn running via postfix milter, and dropping off via main.cf "mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp" The issue is that I get a sequence of these log messages: Aug 21 19:43:59 lmtp(toppk): Debug: Junk: Mailbox opened because: lib-lda delivery Aug 21 19:43:59 lmtp(toppk): Debug: $MAILDIR/Junk: Mailbox opened because: lib-lda delivery Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: copying Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: virtual size (Cache file is unusable) Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: store into mailbox 'Junk' aborted Aug 21 19:43:59 lmtp(toppk): Debug: INBOX: Mailbox opened because: lib-lda delivery Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail UID=1 because: copying Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: stored mail into mailbox 'INBOX' Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: Execution of script /home/toppk/.dovecot.sieve failed, but implicit keep was successful (user logfile /home/toppk/.dovecot.sieve.log may reveal additional details) and in /home/toppk/.dovecot.sieve.log I get this: sieve: info: started log at Aug 21 19:43:59. error: msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: failed to store into mailbox '$MAILDIR/Junk': Mailbox doesn't exist: $MAILDIR/Junk. So instead of the email going into mbox /home/toppk/mail/Junk it goes into INBOX (/var/mail/toppk). I'm watching the Junk to see if is removed for even a split second and I don't see that. I'm not sure how to further track this down, or if there is a more optimal configuration (i'd prefer to stay mbox if possible). I was thinking of turning on mailbox_list_index. Below is the full doveadm -n output. Any guidance or suggestions welcome. Ken # 2.2.31 (65cde28): /etc/dovecot/dovecot.conf # Pigeonhole version 0.4.19 (e5c7051) # OS: Linux 4.12.4-300.fc26.x86_64 x86_64 Fedora release 26 (Twenty Six) auth_debug = yes auth_username_format = %Ln log_path = /var/log/dovecot.log mail_debug = 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 mbox_write_locks = fcntl 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 { driver = pam } plugin { sieve = file:~/sieve;active=~/.dovecot.sieve sieve_default = /etc/dovecot/sieve/default.sieve } protocols = imap lmtp sieve service auth { unix_listener auth-client { group = postfix mode = 0660 user = postfix } unix_listener auth-master { group = mail mode = 0660 user = mail } user = root } service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } service managesieve { process_limit = 1024 } ssl = required ssl_cert = </etc/pki/dovecot/certs/dovecot.pem ssl_cipher_list = ALL:!LOW:!SSLv2 ssl_key = # hidden, use -P to show it userdb { driver = passwd } verbose_ssl = yes protocol lmtp { mail_plugins = " sieve" } protocol lda { info_log_path = /var/log/dovecot-lda.log log_path = /var/log/dovecot-lda-errors.log } protocol sieve { info_log_path = /var/log/dovecot-sieve.log log_path = /var/log/dovecot-sieve-errors.log mail_max_userip_connections = 10 managesieve_implementation_string = Dovecot Pigeonhole managesieve_max_line_length = 65536 }
Am 22. August 2017 02:29:30 MESZ schrieb kenneth topp <toppk at bllue.org>:>Hi, > >I've just switch from procmail to pigeonhole, and I'm seeing an issue >(twice in six hours). > >I have spamassisn running via postfix milter, and dropping off via >main.cf >"mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp" > >The issue is that I get a sequence of these log messages: > > >Aug 21 19:43:59 lmtp(toppk): Debug: Junk: Mailbox opened because: >lib-lda >delivery >Aug 21 19:43:59 lmtp(toppk): Debug: $MAILDIR/Junk: Mailbox opened >because: >lib-lda delivery >Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail >UID=1 >because: copying >Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail >UID=1 >because: virtual size (Cache file is unusable) >Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: >msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: store into mailbox 'Junk' >aborted >Aug 21 19:43:59 lmtp(toppk): Debug: INBOX: Mailbox opened because: >lib-lda >delivery >Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail >UID=1 >because: copying >Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: >msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: stored mail into mailbox >'INBOX' >Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: >Execution of script /home/toppk/.dovecot.sieve failed, but implicit >keep >was successful (user logfile /home/toppk/.dovecot.sieve.log may reveal >additional details) > >and in /home/toppk/.dovecot.sieve.log I get this: > >sieve: info: started log at Aug 21 19:43:59. >error: msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: failed to store into >mailbox '$MAILDIR/Junk': Mailbox doesn't exist: $MAILDIR/Junk.What is $MAILDIR and where do you use it? The error message says that the path can't be found. I suspect the problem is in your sieve script. You probably have to use the full path in there. Oil Please show the contents of your sieve script.>So instead of the email going into mbox /home/toppk/mail/Junk it goes >into >INBOX (/var/mail/toppk). > >I'm watching the Junk to see if is removed for even a split second and >I >don't see that. I'm not sure how to further track this down, or if >there >is a more optimal configuration (i'd prefer to stay mbox if possible). > >I was thinking of turning on mailbox_list_index. > >Below is the full doveadm -n output. > >Any guidance or suggestions welcome. > >Ken > > ># 2.2.31 (65cde28): /etc/dovecot/dovecot.conf ># Pigeonhole version 0.4.19 (e5c7051) ># OS: Linux 4.12.4-300.fc26.x86_64 x86_64 Fedora release 26 (Twenty >Six) >auth_debug = yes >auth_username_format = %Ln >log_path = /var/log/dovecot.log >mail_debug = 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 >mbox_write_locks = fcntl >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 { > driver = pam >} >plugin { > sieve = file:~/sieve;active=~/.dovecot.sieve > sieve_default = /etc/dovecot/sieve/default.sieve >} >protocols = imap lmtp sieve >service auth { > unix_listener auth-client { > group = postfix > mode = 0660 > user = postfix > } > unix_listener auth-master { > group = mail > mode = 0660 > user = mail > } > user = root >} >service lmtp { > unix_listener /var/spool/postfix/private/dovecot-lmtp { > group = postfix > mode = 0600 > user = postfix > } >} >service managesieve-login { > inet_listener sieve { > port = 4190 > } >} >service managesieve { > process_limit = 1024 >} >ssl = required >ssl_cert = </etc/pki/dovecot/certs/dovecot.pem >ssl_cipher_list = ALL:!LOW:!SSLv2 >ssl_key = # hidden, use -P to show it >userdb { > driver = passwd >} >verbose_ssl = yes >protocol lmtp { > mail_plugins = " sieve" >} >protocol lda { > info_log_path = /var/log/dovecot-lda.log > log_path = /var/log/dovecot-lda-errors.log >} >protocol sieve { > info_log_path = /var/log/dovecot-sieve.log > log_path = /var/log/dovecot-sieve-errors.log > mail_max_userip_connections = 10 > managesieve_implementation_string = Dovecot Pigeonhole > managesieve_max_line_length = 65536 >}-- Christian Kivalo
> > > Am 22. August 2017 02:29:30 MESZ schrieb kenneth topp <toppk at bllue.org>: >>Hi, >> >>I've just switch from procmail to pigeonhole, and I'm seeing an issue >>(twice in six hours). >> >>I have spamassisn running via postfix milter, and dropping off via >>main.cf >>"mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp" >> >>The issue is that I get a sequence of these log messages: >> >> >>Aug 21 19:43:59 lmtp(toppk): Debug: Junk: Mailbox opened because: >>lib-lda >>delivery >>Aug 21 19:43:59 lmtp(toppk): Debug: $MAILDIR/Junk: Mailbox opened >>because: >>lib-lda delivery >>Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail >>UID=1 >>because: copying >>Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail >>UID=1 >>because: virtual size (Cache file is unusable) >>Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: >>msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: store into mailbox 'Junk' >>aborted >>Aug 21 19:43:59 lmtp(toppk): Debug: INBOX: Mailbox opened because: >>lib-lda >>delivery >>Aug 21 19:43:59 lmtp(toppk): Debug: Mailbox <lmtp DATA>: Opened mail >>UID=1 >>because: copying >>Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: >>msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: stored mail into mailbox >>'INBOX' >>Aug 21 19:43:59 lmtp(toppk): Info: YK1SNj9wm1kMaQAAjC58EQ: sieve: >>Execution of script /home/toppk/.dovecot.sieve failed, but implicit >>keep >>was successful (user logfile /home/toppk/.dovecot.sieve.log may reveal >>additional details) >> >>and in /home/toppk/.dovecot.sieve.log I get this: >> >>sieve: info: started log at Aug 21 19:43:59. >>error: msgid=<E1cxyRv-000F7r-E9 at tra-vmail-01>: failed to store into >>mailbox '$MAILDIR/Junk': Mailbox doesn't exist: $MAILDIR/Junk. > What is $MAILDIR and where do you use it? > The error message says that the path can't be found. > I suspect the problem is in your sieve script. You probably have to use > the full path in there. > Oil > Please show the contents of your sieve script.$MAILDIR is /home/toppk/mail (for clarity, it was printing $MAILDIR) Another thing I need to be clear on. This sieve moves are working 99% of the time, just once in a while it fails. here is my /home/toppk/.dovecot.sieve. I notice that I have confusing (overlapping) rules. Could that be the issue? Thanks for any response, Ken # Sieve Filter require ["fileinto","regex","envelope","vacation","reject"]; if header :matches "Subject" "*rejecttest*" { reject "rejecttest"; discard; stop; } if header :matches "List-Id" "Dovecot Mailing List <dovecot.dovecot.org>" { fileinto "lists/dovecot"; } if header :matches "Subject" "*junktest*" { fileinto "Junk"; } #if header :matches "Subject" ["*money*","*Viagra*","Cialis"] { # fileinto "Junk"; #} if header :contains "X-Spam-Flag" "YES" { fileinto "Junk"; } if header :comparator "i;octet" :contains "X-Spam-Flag" "YES" { fileinto "$MAILDIR/Junk"; }> >>So instead of the email going into mbox /home/toppk/mail/Junk it goes >>into >>INBOX (/var/mail/toppk). >> >>I'm watching the Junk to see if is removed for even a split second and >>I >>don't see that. I'm not sure how to further track this down, or if >>there >>is a more optimal configuration (i'd prefer to stay mbox if possible). >> >>I was thinking of turning on mailbox_list_index. >> >>Below is the full doveadm -n output. >> >>Any guidance or suggestions welcome. >> >>Ken >> >> >># 2.2.31 (65cde28): /etc/dovecot/dovecot.conf >># Pigeonhole version 0.4.19 (e5c7051) >># OS: Linux 4.12.4-300.fc26.x86_64 x86_64 Fedora release 26 (Twenty >>Six) >>auth_debug = yes >>auth_username_format = %Ln >>log_path = /var/log/dovecot.log >>mail_debug = 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 >>mbox_write_locks = fcntl >>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 { >> driver = pam >>} >>plugin { >> sieve = file:~/sieve;active=~/.dovecot.sieve >> sieve_default = /etc/dovecot/sieve/default.sieve >>} >>protocols = imap lmtp sieve >>service auth { >> unix_listener auth-client { >> group = postfix >> mode = 0660 >> user = postfix >> } >> unix_listener auth-master { >> group = mail >> mode = 0660 >> user = mail >> } >> user = root >>} >>service lmtp { >> unix_listener /var/spool/postfix/private/dovecot-lmtp { >> group = postfix >> mode = 0600 >> user = postfix >> } >>} >>service managesieve-login { >> inet_listener sieve { >> port = 4190 >> } >>} >>service managesieve { >> process_limit = 1024 >>} >>ssl = required >>ssl_cert = </etc/pki/dovecot/certs/dovecot.pem >>ssl_cipher_list = ALL:!LOW:!SSLv2 >>ssl_key = # hidden, use -P to show it >>userdb { >> driver = passwd >>} >>verbose_ssl = yes >>protocol lmtp { >> mail_plugins = " sieve" >>} >>protocol lda { >> info_log_path = /var/log/dovecot-lda.log >> log_path = /var/log/dovecot-lda-errors.log >>} >>protocol sieve { >> info_log_path = /var/log/dovecot-sieve.log >> log_path = /var/log/dovecot-sieve-errors.log >> mail_max_userip_connections = 10 >> managesieve_implementation_string = Dovecot Pigeonhole >> managesieve_max_line_length = 65536 >>} > > -- > Christian Kivalo >