- configures dovecot to use the spamtest sieve plugins
- configures sieve to read the score from X-Spamd-Result: headers
- before.sieve applies the ${spam_threshold} to the spamtest percentage
- freeposte.db stores a percentage for ${spam_threshold}
- migrate freeposte.db spam_threshold from X/15 to percentages
the filter investigates the overall ratio of the `rspamd` header
`X-Spamd-Result` that looks something like this:
X-Spamd-Result: default: True [12.36 / 15.00]
RBL_SPAMHAUS_XBL(4.00)[]
BAYES_SPAM(3.06)[92.67%]
RBL_SPAMHAUS_XBL_ANY(4.00)[]
ONCE_RECEIVED_STRICT(4.00)[]
HFILTER_HELO_BAREIP(3.00)[]
RBL_SORBS_DUL(2.00)[]
HFILTER_HOSTNAME_UNKNOWN(2.50)[]
RBL_SPAMHAUS_PBL(2.00)[]
RBL_SORBS_RECENT(1.50)[]
MIME_UNKNOWN(0.10)[application/x-rar-compressed]
RDNS_NONE(1.00)[]
RBL_SORBS(0.00)[]
R_SPF_NEUTRAL(0.00)[?all]
ONCE_RECEIVED(0.10)[]
RBL_SEM(1.00)[]
MIME_HTML_ONLY(0.20)[]
RBL_UCEPROTECT_LEVEL1(1.00)[]
MIME_GOOD(-0.10)[multipart/mixed]
the sieve `spamtest :percent :value` in this case would be
100*12.36/15 = 82.4%
22 lines
639 B
HTML
22 lines
639 B
HTML
{% extends "base.html" %}
|
|
|
|
{% block title %}
|
|
User settings
|
|
{% endblock %}
|
|
|
|
{% block subtitle %}
|
|
{{ user }}
|
|
{% endblock %}
|
|
|
|
{% block box_content %}
|
|
<form class="form" method="post" role="form">
|
|
{{ form.hidden_tag() }}
|
|
{{ macros.form_field(form.displayed_name) }}
|
|
{{ macros.form_field(form.spam_enabled) }}
|
|
{{ macros.form_field(form.spam_threshold, step=1, max=100,
|
|
prepend='<span class="input-group-addon"><span id="threshold">'+(form.spam_threshold.data).__int__().__str__()+'</span> / 100</span>',
|
|
oninput='$("#threshold").text(this.value);') }}
|
|
{{ macros.form_field(form.submit) }}
|
|
</form>
|
|
{% endblock %}
|