{% extends "base.html" %} {% block title %}Settings{% endblock %} {% block extra_head %} {% endblock %} {% block content %}

Settings

Spam Score Thresholds
Messages scoring above this threshold are rejected outright.
Messages scoring above this are held for review in quarantine.
Messages above this score have spam headers added but are still delivered.
Score thresholds must satisfy: Tag ≤ Review ≤ Reject
Testing Mode
When enabled, all messages (including clean ones) are held in quarantine and must be manually released via "Release to Recipient". Use during testing to prevent unreviewed mail from reaching your mail server.
Quarantine
Quarantined messages older than this are automatically purged.
MB
Messages larger than this size are rejected before scanning.
Cluster Sync
How frequently this node synchronises configuration with peer nodes (in minutes).
Recipient Verification
Drop the SMTP connection after this many invalid recipients in a single session.
Sliding window (hours) for counting invalid-recipient events per sending IP.
Reset
{% set sync_secs = ([settings.sync_interval_minutes | default(5) | int, 1] | max) * 60 %}
Secondary Nodes
{% if settings.node_role == 'main' %} {% endif %}
{% if cluster_nodes %}
{% if settings.node_role == 'main' %}{% endif %} {% for node in cluster_nodes %} {% if node.last_seen %} {% set age_secs = (now - node.last_seen).total_seconds() %} {% else %} {% set age_secs = -1 %} {% endif %} {% if settings.node_role == 'main' %} {% endif %} {% endfor %}
Hostname IP Address Role Last Seen Status
{{ node.hostname }} {{ node.ip_address }} {{ node.node_role }} {% if node.last_seen %} {{ node.last_seen.strftime('%Y-%m-%d %H:%M') }} {% else %}-{% endif %} {% if age_secs >= 0 and age_secs < sync_secs * 2 %} OK {% elif age_secs >= 0 and age_secs < sync_secs * 6 %} Late {% elif age_secs >= 0 %} Down {% else %} Unknown {% endif %} {% if node.node_role == 'secondary' %}
{% endif %}
{% else %}

No secondary nodes registered yet.

{% endif %} {% if settings.node_role == 'main' %} {% if sql_preview %}
SQL to Execute
{{ sql_preview }}
{% endif %} {% endif %}
Status thresholds based on sync interval ({{ settings.sync_interval_minutes | default(5) }} min): OK = checked in within {{ sync_secs * 2 // 60 }} min, Late = within {{ sync_secs * 6 // 60 }} min, Down = overdue.
API Token

The API token is used to authenticate requests to the SpamGate REST API. Keep it secret - treat it like a password.

{% if settings is defined and settings.api_token %}
{% else %}

API token is set but not displayed for security. Use Regenerate to issue a new token.

{% endif %}
Warning: Regenerating the token will immediately invalidate any existing integrations using the current token.
About Settings
  • Settings are applied immediately on save.
  • Postfix/Rspamd may require a reload to reflect score changes.
  • Retention purge runs on a daily schedule.
{% endblock %} {% block extra_scripts %} {% endblock %}