Move sieve script generation to the admin container
This commit is contained in:
@@ -6,7 +6,7 @@ import socket
|
||||
import flask
|
||||
|
||||
|
||||
internal = flask.Blueprint('internal', __name__)
|
||||
internal = flask.Blueprint('internal', __name__, template_folder='templates')
|
||||
|
||||
@internal.app_errorhandler(RateLimitExceeded)
|
||||
def rate_limit_handler(e):
|
||||
|
||||
40
core/admin/mailu/internal/templates/default.sieve
Normal file
40
core/admin/mailu/internal/templates/default.sieve
Normal file
@@ -0,0 +1,40 @@
|
||||
require "variables";
|
||||
require "vacation";
|
||||
require "fileinto";
|
||||
require "envelope";
|
||||
require "mailbox";
|
||||
require "imap4flags";
|
||||
require "regex";
|
||||
require "relational";
|
||||
require "date";
|
||||
require "comparator-i;ascii-numeric";
|
||||
require "spamtestplus";
|
||||
require "editheader";
|
||||
require "index";
|
||||
|
||||
if header :index 2 :matches "Received" "from * by * for <*>; *"
|
||||
{
|
||||
deleteheader "Delivered-To";
|
||||
addheader "Delivered-To" "<${3}>";
|
||||
}
|
||||
|
||||
{% if user.spam_enabled %}
|
||||
if spamtest :percent :value "gt" :comparator "i;ascii-numeric" "{{ user.spam_threshold }}"
|
||||
{
|
||||
setflag "\\seen";
|
||||
fileinto :create "Junk";
|
||||
stop;
|
||||
}
|
||||
{% endif %}
|
||||
|
||||
if exists "X-Virus" {
|
||||
discard;
|
||||
stop;
|
||||
}
|
||||
|
||||
{% if user.reply_enabled %}
|
||||
if currentdate :value "le" "date" "{{ user.reply_enddate }}"
|
||||
{
|
||||
vacation :days 1 :subject "{{ user.reply_subject }}" "{{ user.reply_body }}";
|
||||
}
|
||||
{% endif %}
|
||||
@@ -122,7 +122,7 @@ def dovecot_quota(ns, user_email):
|
||||
def dovecot_sieve(script, user_email):
|
||||
user = models.User.query.get(user_email) or flask.abort(404)
|
||||
if script == "default":
|
||||
pass
|
||||
return flask.jsonify(flask.render_template("default.sieve"))
|
||||
else:
|
||||
flask.abort(404)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user