[Dovecot] dovecot + antispam plugin - no retraining

Michael Moerz michael at moerz.co.at
Wed Jan 16 23:36:10 EET 2013


Hi,

dovecot -n

# 2.1.7: /etc/dovecot/dovecot.conf
# OS: Linux 3.8.0-0-generic x86_64 Ubuntu Raring Ringtail (development branch) 
listen = 10.10.200.39
login_log_format_elements = user=<%u> method=%m rip=%r lip=%l mpid=%e %c
mail_debug = yes
mail_location = maildir:~/Maildir
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 ihave
namespace inbox {
  inbox = yes
  location = 
  prefix = 
}
passdb {
  driver = pam
}
plugin {
  antispam_backend = pipe
  antispam_mail_notspam = ham at example.org
  antispam_mail_sendmail = /usr/sbin/sendmail
  antispam_mail_sendmail_args = -f;%u at example.org
  antispam_mail_spam = spam at example.org
  antispam_mail_tmpdir = /tmp
  antispam_signature = X-DSPAM-Signature
  antispam_signature_missing = error
  antispam_spam_pattern_ignorecase = SPAM;Junk
  antispam_trash = trash;Trash;Deleted Items; Deleted Messages
  mail_log_events = delete undelete expunge copy mailbox_delete mailbox_rename
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
protocols = " imap sieve pop3"
service auth {
  unix_listener /var/spool/postfix/private/dovecot-auth {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service imap-login {
  inet_listener imaps {
    port = 993
    ssl = yes
  }
}
ssl_cert = </etc/ssl/certs/mail.dmz.example.org.cert.pem
ssl_key = </etc/ssl/private/mail.dmz.example.org.key.pem
userdb {
  driver = passwd
}
protocol imap {
  imap_client_workarounds = delay-newmail
  mail_max_userip_connections = 15
  mail_plugins = " antispam"
}
protocol pop3 {
  mail_max_userip_connections = 10
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
}
protocol lda {
  deliver_log_format = msgid=%m: %$
  mail_plugins = sieve
  postmaster_address = postmaster
  quota_full_tempfail = yes
  rejection_reason = Your message to <%t> was automatically rejected:%n%r
}

filesystem is ext4
antispam util is dspam

I'm trying to utilize the imap plugin antispam for retraining spam/ham when 
moving mail from/to spam folders.

antispam plugin is loaded and imap service itself runs correctly
logfile excerp for login:
Jan 16 21:04:33 mailhost dovecot: imap: Debug: Loading modules from directory: 
/usr/lib/dovecot/modules
Jan 16 21:04:33 mailhost dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib90_antispam_plugin.so
Jan 16 21:04:33 mailhost dovecot: imap(user): Debug: Effective uid=1001, 
gid=1001, home=/home/user
Jan 16 21:04:33 mailhost dovecot: imap(user): Debug: Namespace inbox: 
type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes 
location=maildir:~/Maildir
Jan 16 21:04:33 mailhost dovecot: imap(user): Debug: maildir++: 
root=/home/user/Maildir, index=, control=, inbox=/home/user/Maildir, alt=
Jan 16 21:04:34 mailhost dovecot: imap-login: Login: user=<user>, 
method=PLAIN, rip=10.10.99.205, lip=10.10.200.39, mpid=5936, TLS
Jan 16 21:04:34 mailhost dovecot: imap: Debug: Loading modules from directory: 
/usr/lib/dovecot/modules 
Jan 16 21:04:34 mailhost dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib90_antispam_plugin.so
Jan 16 21:04:34 mailhost dovecot: imap(user): Debug: Effective uid=1001, 
gid=1001, home=/home/user
Jan 16 21:04:34 mailhost dovecot: imap(user): Debug: Namespace inbox: 
type=private, prefix=, sep=, inbox=yes, hidden=no, list=yes, subscriptions=yes 
location=maildir:~/Maildir
Jan 16 21:04:34 mailhost dovecot: imap(user): Debug: maildir++: 
root=/home/user/Maildir, index=, control=, inbox=/home/user/Maildir, alt=

When I move mail into or out of imap folders named Junk or SPAM I would 
expect, that the antispam plugin kicks in and pipes the mail to dspam. 
Apparently this does not happen, nothing gets piped, though the mail is still 
moved to the folder.

I've already tried dspam-exec as a backend as well, but that fails even ealier 
right after imap login with:
Jan 16 19:26:15 mailhost dovecot: master: Dovecot v2.1.7 starting up (core 
dumps disabled)
Jan 16 19:26:45 mailhost dovecot: imap-login: Login: user=<user>, 
method=PLAIN, rip=10.10.99.205, lip=10.10.200.39, mpid=4701, TLS
Jan 16 19:26:45 mailhost dovecot: imap: Debug: Loading modules from directory: 
/usr/lib/dovecot/modules
Jan 16 19:26:45 mailhost dovecot: imap: Debug: Module loaded: 
/usr/lib/dovecot/modules/lib90_antispam_plugin.so
Jan 16 19:26:45 mailhost dovecot: imap(user): Debug: Effective uid=1001, 
gid=1001, home=/home/user
Jan 16 19:26:45 mailhost dovecot: imap(user): Fatal: master: service(imap): 
child 4701 returned error 3

settings were:
antispam_backend = dspam-exec
antispam_dspam_binary = /usr/bin/dspam
antispam_dspam_args = --client;--source=error;--user;%u;--signature=%%s


I've also tried with:
antispam_backend = dspam-exec
antispam_dspam_binary = /usr/bin/dspam
antispam_dspam_args = --source=error;--user;%u

those settings actually do not produce the problem after the imap login, but 
they still do not react to moving mail into/from spam folders. 

I've also tried to utilize
   antispam_spam = Junk
or
   antispam_spam_pattern = SPAM
instead of
   antispam_spam_pattern_ignorecase = SPAM;Junk
but neither makes a difference.

Thx in advance for any advice.

kind regards,
Michael Moerz


More information about the dovecot mailing list