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 >