store into mailbox 'Junk' aborted
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@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@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@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@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@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@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@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
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@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@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@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
Am 22. August 2017 02:29:30 MESZ schrieb kenneth topp <toppk@bllue.org>: 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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tue, 22 Aug 2017, kenneth topp wrote:
Aug 21 19:43:59 lmtp(toppk): Debug: $MAILDIR/Junk: Mailbox opened because: lib-lda delivery
sieve: info: started log at Aug 21 19:43:59. error: msgid=<E1cxyRv-000F7r-E9@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?
$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.
Are you sure?
if header :matches "Subject" "*junktest*" { fileinto "Junk";
^^ No $MAILDIR
}
#if header :matches "Subject" ["*money*","*Viagra*","Cialis"] { # fileinto "Junk";
^^ Neither
#}
if header :contains "X-Spam-Flag" "YES" { fileinto "Junk";
^^ No $MAILDIR
}
if header :comparator "i;octet" :contains "X-Spam-Flag" "YES" { fileinto "$MAILDIR/Junk";
^^ Why here?? copy the fileinto of the other rules.
}
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1
iQEVAwUBWZwzgXz1H7kL/d9rAQK5TQgAkT7OcnKJv6b8BtF1OcuV8HHDjXX8Vh9a WUJud3cC2gR2jewmTzQn+RuOLuHQp5+NQO7jFunTdK63Kls6l3bT8QkyYmv/DleG 9kFIZ4PEzS5wqfvE2GPIaVqwu6GwCxpFCc65GTqQ6GzNzl53zAdHRkbyJkK0SPOa bAKv8RFWF0PQd9e5ZvQquj/keOlayl/fH8lcNMY/PcdF0ilQJRyKkuFd25XJ5k4U LvJjq8vGQBGQkrM76TRBmU5nWk4NxFY9un5v41TVU9Rp2YIMadvoUJrcELOQG90D mgIK9KxOgeDQirL7ESGIKFeGDBoTQQudWE60Vv+euTohPeCLUHZ8UQ== =YUpK -----END PGP SIGNATURE-----
On August 22, 2017 9:37:05 AM EDT, Steffen Kaiser <skdovecot@smail.inf.fh-brs.de> wrote:
On Tue, 22 Aug 2017, kenneth topp wrote:
Aug 21 19:43:59 lmtp(toppk): Debug: $MAILDIR/Junk: Mailbox opened because: lib-lda delivery
sieve: info: started log at Aug 21 19:43:59. error: msgid=<E1cxyRv-000F7r-E9@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?
$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.
Are you sure?
Yes, I'm sure.
if header :matches "Subject" "*junktest*" { fileinto "Junk";
^^ No $MAILDIR
}
#if header :matches "Subject" ["*money*","*Viagra*","Cialis"] { # fileinto "Junk";
^^ Neither
#}
if header :contains "X-Spam-Flag" "YES" { fileinto "Junk";
^^ No $MAILDIR
}
if header :comparator "i;octet" :contains "X-Spam-Flag" "YES" { fileinto "$MAILDIR/Junk";
^^ Why here?? copy the fileinto of the other rules.
I've removed the duplicate rules and that seems to have sorted out the issue. Although it doesn't explain why the issue was only happening sporadically, I'll consider this solved.
Thanks for the help.
}
-- Steffen Kaiser
-- Sent from my Android device with K-9 Mail. Please excuse my brevity.
participants (4)
-
Christian Kivalo
-
kenneth topp
-
Kenneth Topp
-
Steffen Kaiser