ml at smtp.fakessh.eu
2011-Jun-22  01:18 UTC
[Dovecot] sieve problem email silently discard
hello folks hello Timo hello all the guru I met a few times the problem or an email that passes through a sieve script is silently discard after delivery but never returned to the inbox all testimonials are welcome -- ?http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x092164A7 ?gpg --keyserver pgp.mit.edu --recv-key 092164A7 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available URL: <http://dovecot.org/pipermail/dovecot/attachments/20110622/2223d51c/attachment-0002.bin>
Op 22-6-2011 3:18, ml at smtp.fakessh.eu schreef:> hello folks > hello Timo > hello all the guru > > I met a few times the problem or an email that passes through a sieve script > is silently discard > after delivery but never returned to the inbox > > all testimonials are welcomeWe cannot say much about this problem, unless we get some more information: 1) What is your configuration? Provide the output of dovecot -n. 2) Is it reproducible somehow? - What is the Sieve script you see this behavior for? Or does it happen for all users? - Is there a specific kind of incoming message that gets discarded all the time? 3) Is there any error or other message in the logs that may explain this behavior? Regards, Stephan.
ml at smtp.fakessh.eu
2011-Jul-03  20:22 UTC
[Dovecot] sieve problem email silently discard
hello folks
hello Timo
hello all the guru
I met a few times the problem or an email that passes through a sieve script 
is silently discard
after delivery but never returned to the inbox
all testimonials are welcome
my dovecot -n
~]# /usr/sbin/dovecot -n
# 2.0.13: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32.2-xxxx-grs-ipv6-32 i686 CentOS release 5.6 (Final)
auth_mechanisms = plain login
base_dir = /var/run/dovecot/
lda_mailbox_autocreate = yes
lda_mailbox_autosubscribe = yes
listen = [::]
log_path = /var/log/maillog
log_timestamp = %Y-%m-%d %H:%M:%S
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l %c
mail_debug = yes
mail_location = maildir:~/Maildir
mail_max_userip_connections = 20
managesieve_notify_capability = mailto
managesieve_sieve_capability = comparator-i;octet comparator-i;ascii-casemap 
fileinto reject envelope encoded-character vacation subaddress 
comparator-i;ascii-numeric relational regex imap4flags copy include variables 
body enotify environment mailbox date spamtest spamtestplus virustest
namespace {
  inbox = yes
  location   prefix   separator = .
}
passdb {
  driver = pam
}
plugin {
  autocreate = Trash
  autocreate2 = Junk
  autocreate3 = Sent
  autocreate4 = Drafts
  autosubscribe = Trash
  autosubscribe2 = Junk
  autosubscribe3 = Sent
  autosubscribe4 = Drafts
  plugin = $mail_plugins  autocreate managesieve  sieve
  sieve = ~/.dovecot.sieve
  sieve_before = /var/sieve-scripts/roundcube.sieve
  sieve_dir = ~/sieve
  sieve_global_path = whatever
}
protocols = sieve imap pop3
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0600
    user = postfix
  }
  unix_listener auth-master {
    mode = 0666
  }
  unix_listener auth-userdb {
    mode = 0666
  }
  vsz_limit = 64 M
}
service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    address = * , [::]
    port = 993
  }
  process_limit = 128
  vsz_limit = 64 M
}
service imap {
  client_limit = 1
  service_count = 0
}
service managesieve-login {
  inet_listener managesieve-login {
    address = * , [::]
    port = 2000
  }
  process_limit = 128
  vsz_limit = 64 M
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    address = * , [::]
    port = 995
  }
  process_limit = 128
  vsz_limit = 64 M
}
ssl_ca = </etc/pki/tls/certs/class3.crt
ssl_cert = </etc/pki/tls/certs/r13151.ovh.net.cert
ssl_key = </etc/pki/tls/private/r13151.ovh.net.key
ssl_verify_client_cert = yes
userdb {
  driver = passwd
}
version_ignore = yes
protocol imap {
  imap_client_workarounds = delay-newmail tb-extra-mailbox-sep
  imap_max_line_length = 64 k
  mail_plugins = "   autocreate"
}
protocol pop3 {
  mail_plugins = autocreate
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_logout_format = top=%t/%p, retr=%r/%b, del=%d/%m, size=%s
}
protocol lda {
  hostname = r13151.ovh.net
  mail_plugins = autocreate  sieve
  postmaster_address = postmaster at fakessh.eu
  sendmail_path = /usr/lib/sendmail
}
protocol sieve {
  managesieve_implementation_string = dovecot
  managesieve_logout_format = bytes ( in=%i : out=%o )
  managesieve_max_line_length = 65536
}
egrep lda /var/Log/maillog
2011-07-03 19:47:15lda: Debug: Loading modules from 
directory: /usr/lib/dovecot
2011-07-03 19:47:15lda: Debug: Module 
loaded: /usr/lib/dovecot/lib20_autocreate_plugin.so
2011-07-03 19:47:15lda: Debug: Module 
loaded: /usr/lib/dovecot/lib90_sieve_plugin.so
2011-07-03 19:47:15lda(fakessh): Debug: Effective uid=500, gid=100, 
home=/home/fakessh
2011-07-03 19:47:15lda(fakessh): Debug: Namespace : type=private, prefix=, 
sep=., inbox=yes, hidden=no, list=yes, subscriptions=yes 
location=maildir:~/Maildir
2011-07-03 19:47:15lda(fakessh): Debug: maildir++: root=/home/fakessh/Maildir, 
index=, control=, inbox=/home/fakessh/Maildir
2011-07-03 19:47:15lda(fakessh): Debug: Namespace : Using permissions 
from /home/fakessh/Maildir: mode=0775 gid=-1
2011-07-03 19:47:15lda(fakessh): Debug: userdb lookup skipped, username taken 
from USER environment
2011-07-03 19:47:15lda(fakessh): Debug: none: root=, index=, control=,
inbox2011-07-03 19:47:15lda(fakessh): Debug: Destination address:
fakessh at r13151.ovh.net (source: user at hostname)
2011-07-03 19:47:15lda(fakessh): Debug: sieve: using sieve path for user's 
script: /home/fakessh/.dovecot.sieve
2011-07-03 19:47:15lda(fakessh): Debug: sieve: executed before user's 
script(1): /var/sieve-scripts/roundcube.sieve
2011-07-03 19:47:15lda(fakessh): Debug: sieve: opening 
script /var/sieve-scripts/roundcube.sieve
2011-07-03 19:47:15lda(fakessh): Debug: sieve: script 
binary /var/sieve-scripts/roundcube.svbin successfully loaded
2011-07-03 19:47:15lda(fakessh): Debug: sieve: binary save: not saving 
binary /var/sieve-scripts/roundcube.svbin, because it is already stored
2011-07-03 19:47:15lda(fakessh): Debug: sieve: executing script 
from /var/sieve-scripts/roundcube.svbin
2011-07-03 19:47:15lda(fakessh): Info: sieve: 
msgid=<6EBEE5FC-62B1-4C73-B26E-DEBFD6E26DB6 at shorewall.net>: marked
message to
be discarded if not explicitly delivered (discard action)
-- 
?http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x092164A7
?gpg --keyserver pgp.mit.edu --recv-key 092164A7
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL:
<http://dovecot.org/pipermail/dovecot/attachments/20110703/06c5f160/attachment-0002.bin>
On 07/03/2011 10:22 PM, ml at smtp.fakessh.eu wrote:> > I met a few times the problem or an email that passes through a sieve script > is silently discard > after delivery but never returned to the inbox > > all testimonials are welcome[...]> plugin {[...]> plugin = $mail_plugins autocreate managesieve sieve > sieve = ~/.dovecot.sieve > sieve_before = /var/sieve-scripts/roundcube.sieve > sieve_dir = ~/sieve > sieve_global_path = whatever > }[...]> egrep lda /var/Log/maillog[...]> 2011-07-03 19:47:15lda(fakessh): Debug: sieve: executed before user's > script(1): /var/sieve-scripts/roundcube.sieve[...]> 2011-07-03 19:47:15lda(fakessh): Debug: sieve: executing script > from /var/sieve-scripts/roundcube.svbin > 2011-07-03 19:47:15lda(fakessh): Info: sieve: > msgid=<6EBEE5FC-62B1-4C73-B26E-DEBFD6E26DB6 at shorewall.net>: marked message to > be discarded if not explicitly delivered (discard action) >I would not call this a silent discard: it is reported in the log above. Also, the contents of roundcube.sieve that you showed in an earlier thread contained a single discard action, which is therefore the only likely culprit. Now the question boils down to: why is this discard action triggered? The interesting part of the script is the following: require ["comparator-i;ascii-numeric","relational"]; if header :value "ge" :comparator "i;ascii-numeric" ["X-Spam-score"]["500"] { discard; stop; } Since the message is discarded, it will most likely be impossible to retrieve that message and check why it fires this rule. The relatively innocent situation would be that your Spam filter truly produces this interesting score of > 500. A less innocent case would be a bug in the Sieve interpreter. Either way, we need to have access to one of those messages that triggers this rule and gets discarded without apparent reason. My suggestion is to replace that `discard;' action with a `fileinto :create "Debug";' action (:create creates the folder implicitly; depends on mailbox extension require) to file messages that would normally be discarded into a special folder for later evaluation. Alternatively, you can redirect such messages to a special mail account. Only then can we trace this problem any deeper. Regards, Stephan.