Replacement for antispam plugin
George Kontostanos
gkontos.mail at gmail.com
Sun Feb 12 16:36:45 UTC 2017
On Sun, Feb 12, 2017 at 3:52 PM, Aki Tuomi <aki.tuomi at dovecot.fi> wrote:
>
> > On February 10, 2017 at 10:06 AM Aki Tuomi <aki.tuomi at dovecot.fi> wrote:
> >
> >
> > Hi!
> > Since antispam plugin is deprecated and we would really prefer people
> > not to use it, we wrote instructions on how to replace it with
> > IMAPSieve. Comments and suggestions are most welcome.
> >
> > https://wiki.dovecot.org/HowTo/AntispamWithSieve
> >
> > ---
> > Aki Tuomi
> > Dovecot oy
>
> Hi everyone,
>
> thank you all for your feedback, questions and comments. We have upgraded
> the documentation based on this, including information how to exclude Trash
> folder in ham script.
>
> Aki
>
Thank you all very much. I am now running into a very weird issue. Whenever
an Junk email is “seen” I get the following error:
Debug: sieve: vnd.dovecot.execute extension: no bin or socket directory
specified; extension is unconfigured (both sieve_execute_bin_dir and
sieve_execute_socket_dir are not set)
Feb 12 18:02:54 imap(user at domain): Debug: imapsieve: Static mailbox rule
[1]: mailbox=`Junk' from=`*' causes=(COPY) =>
before=`file:/usr/local/lib/dovecot/sieve/report-spam.sieve' after=(none)
Feb 12 18:02:54 imap(user at dmain): Debug: imapsieve: Static mailbox rule
[2]: mailbox=`*' from=`Junk' causes=(COPY) =>
before=`file:/usr/local/lib/dovecot/sieve/report-ham.sieve' after=(none)
Also it automatically creates a .spamassassin/ folder in the user:
-rw------- 1 vmail vmail 136 Feb 10 17:33 .dovecot.lda-dupes
lrwx------ 1 vmail vmail 17 Mar 13 2016 .dovecot.sieve@ ->
managesieve.sieve
-rw------- 1 vmail vmail 322 Feb 11 03:02 .dovecot.svbin
drwx------ 2 vmail vmail 512 Feb 12 18:04 .spamassassin/
drwx------ 5 vmail vmail 512 Feb 10 17:32 Drafts/
drwx------ 5 vmail vmail 512 Feb 12 18:09 Junk/
drwx------ 5 vmail vmail 512 Feb 11 17:36 Saved/
drwx------ 5 vmail vmail 512 Jan 16 11:55 Sent/
drwx------ 5 vmail vmail 512 Feb 12 18:09 Trash/
drwx------ 2 vmail vmail 1024 Feb 12 18:07 cur/
-rw------- 1 vmail vmail 21 Mar 13 2016 dovecot-acl-list
-rw------- 1 vmail vmail 68 Oct 17 13:19 dovecot-keywords
-rw------- 1 vmail vmail 245 Feb 12 18:07 dovecot-uidlist
-rw------- 1 vmail vmail 8 Jun 9 2016 dovecot-uidvalidity
-r--r--r-- 1 vmail vmail 0 Mar 12 2016 dovecot-uidvalidity.56e48129
-rw------- 1 vmail vmail 640 Feb 11 22:24 dovecot.index
-rw------- 1 vmail vmail 27788 Feb 12 18:07 dovecot.index.cache
-rw------- 1 vmail vmail 25996 Feb 12 18:07 dovecot.index.log
-rw------- 1 vmail vmail 192 Feb 12 16:04 dovecot.mailbox.log
-rw------- 1 vmail vmail 181 Feb 10 17:34 managesieve.sieve
drwx------ 2 vmail vmail 512 Feb 12 17:46 new/
-rw------- 1 vmail vmail 39 Jun 9 2016 subscriptions
drwx------ 2 vmail vmail 512 Feb 12 18:04 tmp/
Any ideas ? I am attaching my config.
Thanks
# 2.2.27 (c0f36b0): /usr/local/etc/dovecot/dovecot.conf
# Pigeonhole version 0.4.16 (fed8554)
# OS: FreeBSD 10.3-RELEASE-p11 amd64 ufs
auth_mechanisms = plain login
auth_verbose = yes
default_client_limit = 2560
default_process_limit = 512
dict {
acl = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
quota = mysql:/usr/local/etc/dovecot/dovecot-dict-sql.conf.ext
}
log_path = /var/log/dovecot.log
mail_home = /usr/local/vhosts/mail/%d/%n
mail_location = maildir:/usr/local/vhosts/mail/%d/%n:LAYOUT=fs
mail_max_userip_connections = 20
mail_plugins = quota acl
mail_privileged_group = vmail
mail_shared_explicit_inbox = 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 imapsieve
mbox_write_locks = fcntl
namespace {
inbox = no
list = children
location =
maildir:/usr/local/vhosts/mail/%%d/%%n:LAYOUT=fs:INDEX=/usr/local/vhosts/indexes/%d/%n/shared/%%u:INDEXPVT=/usr/local/vhosts/indexes/%d/%n/shared/%%u
prefix = shared/%%d/%%n/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
list = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Junk {
auto = subscribe
special_use = \Junk
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
acl = vfile
acl_shared_dict = proxy::acl
imapsieve_mailbox1_before =
file:/usr/local/lib/dovecot/sieve/report-spam.sieve
imapsieve_mailbox1_causes = COPY
imapsieve_mailbox1_name = Junk
imapsieve_mailbox2_before =
file:/usr/local/lib/dovecot/sieve/report-ham.sieve
imapsieve_mailbox2_causes = COPY
imapsieve_mailbox2_from = Junk
imapsieve_mailbox2_name = *
quota = dict:User quota::proxy::quota
quota_rule2 = Trash:storage=+100M
sieve = /usr/local/vhosts/mail/%d/%n/.dovecot.sieve
sieve_before = /usr/local/vhosts/sieve/before.d/
sieve_dir = /usr/local/vhosts/mail/%d/%n
sieve_global_dir = /usr/local/vhosts/sieve/%d
sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
sieve_global_path = /usr/local/vhosts/sieve/%d/default.sieve
sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap lmtp sieve sieve
service auth-worker {
user = vmail
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0666
user = postfix
}
unix_listener auth-userdb {
mode = 0600
user = vmail
}
user = dovecot
}
service dict {
unix_listener dict {
mode = 0600
user = vmail
}
}
service imap-login {
inet_listener imap {
port = 143
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
service managesieve-login {
inet_listener sieve {
port = 4190
}
process_min_avail = 0
service_count = 1
vsz_limit = 64 M
}
ssl_cert = </usr/local/etc/postfix/keys/mail.my.domain.crt
ssl_key = # hidden, use -P to show it
userdb {
args = /usr/local/etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
protocol lmtp {
mail_plugins = quota acl sieve
}
protocol imap {
imap_client_workarounds = tb-extra-mailbox-sep
mail_plugins = quota acl imap_quota imap_acl imap_sieve
}
protocol lda {
mail_plugins = quota acl sieve acl
postmaster_address = root
}
local xxx.xxx.xxx.xxx {
protocol imap {
ssl_cert = </usr/local/etc/postfix/keys/mail.my.domain.crt
ssl_key = # hidden, use -P to show it
}
}
--
George Kontostanos
---
More information about the dovecot
mailing list