From d468ecfa65b01f1482eeb3601f458087476ced43 Mon Sep 17 00:00:00 2001 From: andryyy Date: Fri, 27 Dec 2019 22:03:06 +0100 Subject: [PATCH] [Web] Add more sieve presets --- data/web/inc/presets/sieve/sieve_1.yml | 13 ++++++++----- data/web/inc/presets/sieve/sieve_3.yml | 3 +++ data/web/inc/presets/sieve/sieve_4.yml | 4 ++++ data/web/inc/presets/sieve/sieve_5.yml | 16 ++++++++++++++++ data/web/inc/presets/sieve/sieve_6.yml | 10 ++++++++++ data/web/inc/presets/sieve/sieve_7.yml | 7 +++++++ data/web/lang/lang.de.json | 7 ++++++- data/web/lang/lang.en.json | 7 ++++++- 8 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 data/web/inc/presets/sieve/sieve_3.yml create mode 100644 data/web/inc/presets/sieve/sieve_4.yml create mode 100644 data/web/inc/presets/sieve/sieve_5.yml create mode 100644 data/web/inc/presets/sieve/sieve_6.yml create mode 100644 data/web/inc/presets/sieve/sieve_7.yml diff --git a/data/web/inc/presets/sieve/sieve_1.yml b/data/web/inc/presets/sieve/sieve_1.yml index f89cc9f5..e7fa8c84 100644 --- a/data/web/inc/presets/sieve/sieve_1.yml +++ b/data/web/inc/presets/sieve/sieve_1.yml @@ -1,7 +1,10 @@ headline: lang.sieve_preset_1 content: | - if header :contains "x-attached" - [".exe",".bat",".js",".com",".cmd",".ini",".dll",".bas",".cpl",".drv",".inf",".sys",".pif",".doc",".docx"] { - discard; - stop; - } + require ["reject","body","regex"]; + if anyof (body :raw :regex ["filename=.*\.doc","filename=.*\.exe","filename=.*\.moo"]) { + reject text: + doc, exe and moo are dangerous file extensions. + Why would you do that? I am a sad cow. + . + ; + } \ No newline at end of file diff --git a/data/web/inc/presets/sieve/sieve_3.yml b/data/web/inc/presets/sieve/sieve_3.yml new file mode 100644 index 00000000..92f0e109 --- /dev/null +++ b/data/web/inc/presets/sieve/sieve_3.yml @@ -0,0 +1,3 @@ +headline: lang.sieve_preset_3 +content: | + discard; stop; \ No newline at end of file diff --git a/data/web/inc/presets/sieve/sieve_4.yml b/data/web/inc/presets/sieve/sieve_4.yml new file mode 100644 index 00000000..38c7b5f6 --- /dev/null +++ b/data/web/inc/presets/sieve/sieve_4.yml @@ -0,0 +1,4 @@ +headline: lang.sieve_preset_4 +content: | + require "fileinto"; + fileinto "INBOX"; stop; \ No newline at end of file diff --git a/data/web/inc/presets/sieve/sieve_5.yml b/data/web/inc/presets/sieve/sieve_5.yml new file mode 100644 index 00000000..adef7572 --- /dev/null +++ b/data/web/inc/presets/sieve/sieve_5.yml @@ -0,0 +1,16 @@ +headline: lang.sieve_preset_5 +content: | + require "vacation-seconds"; + if true + { + # Only send once a day: + # vacation :seconds 86400 text: + # Only send once every 300 seconds: + # vacation :seconds 300 text: + # Else: + vacation text: + I am on holidays, yay! + Mail me later, alligator. + . + ; + } \ No newline at end of file diff --git a/data/web/inc/presets/sieve/sieve_6.yml b/data/web/inc/presets/sieve/sieve_6.yml new file mode 100644 index 00000000..38eaa7c9 --- /dev/null +++ b/data/web/inc/presets/sieve/sieve_6.yml @@ -0,0 +1,10 @@ +headline: lang.sieve_preset_6 +content: | + require ["reject"]; + # Rejects are sent from postmaster@mailcow_hostname, make sure DMARC/SPF are fine + # You should prefer rejects via mailcow blacklists + reject text: + I am not taking mail from you, and I don't + want your birdseed, either! + . + ; \ No newline at end of file diff --git a/data/web/inc/presets/sieve/sieve_7.yml b/data/web/inc/presets/sieve/sieve_7.yml new file mode 100644 index 00000000..6f405e96 --- /dev/null +++ b/data/web/inc/presets/sieve/sieve_7.yml @@ -0,0 +1,7 @@ +headline: lang.sieve_preset_7 +content: | + redirect "other-address@domain.tld"; + # Either keep after redirecting: + # keep; + # Or redirect and drop: + discard; stop; \ No newline at end of file diff --git a/data/web/lang/lang.de.json b/data/web/lang/lang.de.json index 15ffa019..6e3bc660 100644 --- a/data/web/lang/lang.de.json +++ b/data/web/lang/lang.de.json @@ -673,7 +673,12 @@ "insert_preset": "Beispiel \"%s\" laden", "sieve_preset_header": "Beispielinhalte zur Einsicht stehen nachstehend bereit. Siehe auch Wikipedia.", "sieve_preset_1": "E-Mails mit potenziell gefährlichen Dateitypen abweisen", - "sieve_preset_2": "E-Mail eines bestimmten Absenders immer als gelesen markieren" + "sieve_preset_2": "E-Mail eines bestimmten Absenders immer als gelesen markieren", + "sieve_preset_3": "Lautlos löschen, weitere Ausführung von Filtern verhindern", + "sieve_preset_4": "Nach INBOX einsortieren und weitere Filterbearbeitung stoppen", + "sieve_preset_5": "Auto-Responder (Vacation, Urlaub)", + "sieve_preset_6": "E-Mails mit Nachricht abweisen", + "sieve_preset_7": "Weiterleiten und behalten oder verwerfen" }, "edit": { "generate": "generieren", diff --git a/data/web/lang/lang.en.json b/data/web/lang/lang.en.json index df3ce2b7..f1c18d15 100644 --- a/data/web/lang/lang.en.json +++ b/data/web/lang/lang.en.json @@ -672,7 +672,12 @@ "insert_preset": "Insert example preset \"%s\"", "sieve_preset_header": "Please see the example presets below. For more details see Wikipedia.", "sieve_preset_1": "Discard mail with probable dangerous file types", - "sieve_preset_2": "Always mark the e-mail of a specific sender as seen" + "sieve_preset_2": "Always mark the e-mail of a specific sender as seen", + "sieve_preset_3": "Discard silently, stop all further sieve processing", + "sieve_preset_4": "File into INBOX, skip further processing by sieve filters", + "sieve_preset_5": "Auto responder (vacation)", + "sieve_preset_6": "Reject mail with reponse", + "sieve_preset_7": "Redirect and keep/drop" }, "edit": { "generate": "generate",