diff options
Diffstat (limited to 'roles/mail/files/sieve/after.d')
-rw-r--r-- | roles/mail/files/sieve/after.d/50-spam.sieve | 32 | ||||
-rw-r--r-- | roles/mail/files/sieve/after.d/51-msgid.sieve | 22 |
2 files changed, 54 insertions, 0 deletions
diff --git a/roles/mail/files/sieve/after.d/50-spam.sieve b/roles/mail/files/sieve/after.d/50-spam.sieve new file mode 100644 index 0000000..3d48337 --- /dev/null +++ b/roles/mail/files/sieve/after.d/50-spam.sieve @@ -0,0 +1,32 @@ +# +# /usr/local/etc/dovecot/sieve/after.d/50-spam.sieve +# +# Global filters to filter spams. +# +# See: https://wiki.dovecot.org/Pigeonhole/Sieve +# +# Aaron LI +# 2017-04-24 +# + + +# fileinto: place messages into an IMAP folder other than INBOX +require "fileinto"; +# mailbox: create the IMAP folder if not exists +require "mailbox"; +# imap4flags: add IMAP flags to stored messages +require "imap4flags"; + + +# Just delete spams higher than level 10! +if header :contains "X-Spam-Level" "**********" { + discard; + stop; +} + +# Move SpamAssassin-tagged mails to "Junk" folder. +if header :contains "X-Spam-Flag" "YES" { + fileinto :create "Junk"; + setflag "\\Seen"; + stop; +} diff --git a/roles/mail/files/sieve/after.d/51-msgid.sieve b/roles/mail/files/sieve/after.d/51-msgid.sieve new file mode 100644 index 0000000..ea0e55d --- /dev/null +++ b/roles/mail/files/sieve/after.d/51-msgid.sieve @@ -0,0 +1,22 @@ +# +# /usr/local/etc/dovecot/sieve/after.d/51-msgid.sieve +# +# Global filters to filter messages with invalid "message-id". +# +# Aaron LI +# 2017-04-24 +# + + +require "fileinto"; +require "mailbox"; +require "imap4flags"; +require "regex"; + + +# Trash messages with improperly formed "message-id" +if not header :regex "message-id" ".*@.*\\." { + fileinto :create "Trash"; + setflag "\\Seen"; + stop; +} |