Sieve Mailfiler (and how to have fun)

#Sieve “An Email Filtering Language”, specified by RFC5228 [1].

The Focus of #Sieve points to #simplicity, #independency and #expandability from access method or platform. Sieve-Scripts run already in the Process of #Mail delivery on #Server-Side. Sieve supports #Plugins, like #LDAP.

Archiving Mails (like Mailinglists) by Date [2]:

require ["variables","date","fileinto","mailbox"];

# Extract date info
if currentdate :matches "year" "*" { set "year" "${1}"; }
if currentdate :matches "month" "*" { set "month" "${1}"; }

# Archive Dovecot mailing list items by year and month.
# Create folder when it does not exist.
if header :is "list-id" "dovecot.dovecot.org" {
  fileinto :create "INBOX.Lists.${year}.${month}.dovecot";
}

Sort Mails by Sender

# Mails from a mailing list will be put into the folder "mailinglist"
require "copy";
require "mailbox";
require "imap4flags";
require "fileinto";
if address :is ["From", "To"] "mailinglist@example.com" {
  fileinto "INBOX/mailinglist";
}

And many, many, many more possibilitys for Mailbox-Filter [2][3][4][5].

And there is a great Editor [6], too!

Sieve Editor [6]

https://github.com/thsmi/sieve

Sieve is a powerful scripting language for server-side mail filtering. It is intended to be used with IMAP which is ubiquitous. Many IMAP Servers are capable of running Sieve filters. Sieve stores and runs all scripts on the server-side.

Now there is the dilemma – you have access to a server supporting Sieve but how do you manage your scripts on this server?

You can use Telnet for this purpose, but that is far too uncomfortable, not applicable for a normal user and almost impossible with secure connections. Wouldn’t it be great to activate, edit, delete and add Sieve scripts with a convenient interface? That is exactly what this sieve editor offers…

[1] https://www.rfc-editor.org/rfc/rfc5228 [2] https://doc.dovecot.org/configuration_manual/sieve/examples/#archiving-a-mailinglist-by-date [3] https://en.wikipedia.org/wiki/Sieve_(mail_filtering_language) [4] https://p5r.uk/blog/2011/sieve-tutorial.html [5] https://support.tigertech.net/sieve [6] https://github.com/thsmi/sieve#sieve-editor