Ghid de conectare
Stalwart Mail Server
Stalwart trimite mesajele la analiză prin protocolul milter, criptat cu TLS. Se adaugă un singur obiect de configurare, doar pentru mesajele primite din exterior.
1 Pregătire
- Trimite-ne IP-ul public de pe care se conectează Stalwart:
și așteaptă confirmarea activării (modul observe).curl -4 -s https://ifconfig.me - Verifică accesul de pe serverul Stalwart:
Dacă nu răspunde, permite traficul de ieșire TCP către antispam.cbsoft.ro (176.124.106.17), portul 11332.nc -zv antispam.cbsoft.ro 11332
2 Adaugă milter-ul
În interfața web de administrare Stalwart, la setările MTA, secțiunea Milter, creează o intrare nouă cu valorile de mai jos (denumirile câmpurilor pot diferi ușor între versiuni):
| Hostname | antispam.cbsoft.ro |
|---|---|
| Port | 11332 |
| Use TLS | da · Allow invalid certificates: nu |
| Temp-fail on error | NU — obligatoriu dezactivat |
| Stages | doar DATA |
| Timeouts | connect 5s · command 15s · data 30s |
| Enable (expresie) | local_port == 25 → true, altfel false |
Expresia local_port == 25 trimite la analiză doar mesajele primite de la
alte servere, nu și pe cele trimise de utilizatorii tăi autentificați (porturile 587/465) —
aceeași condiție pe care o folosește Stalwart în setările sale implicite.
Configurare prin API (JMAP), fără interfața web
În Stalwart 0.16 setările sunt obiecte în registru. Obiectul este de tip
x:MtaMilter:
curl -s -u ADMIN:PAROLA -X POST https://mail.domeniul-tau.ro/jmap/ \
-H 'Content-Type: application/json' -d '{
"using": ["urn:ietf:params:jmap:core", "urn:stalwart:jmap"],
"methodCalls": [["x:MtaMilter/set", {"create": {"antispam": {
"hostname": "antispam.cbsoft.ro",
"port": 11332,
"useTls": true,
"allowInvalidCerts": false,
"tempFailOnError": false,
"timeoutConnect": 5000,
"timeoutCommand": 15000,
"timeoutData": 30000,
"stages": {"data": true},
"enable": {"match": {"0": {"if": "local_port == 25", "then": "true"}}, "else": "false"}
}}}, "c0"]]}'
Verificare: x:MtaMilter/get cu {"ids": null}. Cererea a fost
testată pe Stalwart 0.16 în modul de recuperare (STALWART_RECOVERY_MODE=1,
serverul oprit câteva secunde) — util dacă nu ai parola de administrator.
3 Testează
- Trimite din exterior un mesaj către o căsuță de pe server. În sursa mesajului:
X-Antispam-Status: ham; mode=observe X-Antispam-Score: 1.50 / 15.00 X-Antispam-Action: no action - Test de spam: un mesaj care conține în corp
În observe ajunge cuXJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34XX-Antispam-Action: reject; în enforce e respins cu550 5.7.1. - Dacă headerele lipsesc, caută în log-ul Stalwart evenimentele
milter: o eroare de conexiune înseamnă firewall sau IP neînregistrat la noi. Mesajele trec oricum.
4 Mutarea spam-ului în Junk
În modul enforce, spam-ul care nu e respins primește X-Spam: Yes.
Un script Sieve îl mută automat în Junk. Pentru tot serverul îl poți adăuga ca script de
sistem; fiecare utilizator îl poate adăuga și singur, din webmail (Filtre / Sieve):
require ["fileinto"];
if header :is "X-Spam" "Yes" {
fileinto "Junk";
stop;
}
Filtrul propriu Stalwart rămâne activ în paralel. După ce ai încredere în rezultate, poți reduce rolul lui ca să nu se facă de două ori aceeași muncă.
5 Dezactivare
Șterge intrarea Milter din interfața de administrare (sau
x:MtaMilter/set cu {"destroy": ["ID"]}). Efectul e imediat;
mail-ul nu e afectat.