How filtering works
The path of every inbound message through the MXGuard system — from the SMTP connection to delivery to the recipient.
A message's path
1
SMTP connection
The remote server opens a connection to
mx.mxguard.net on port 25. We check: the sending IP's PTR record, its reputation against RBL lists, and whether the EHLO greeting is well-formed.↓
2
Recipient check
The
RCPT TO address is checked against the list of served domains and mailboxes. Non-existent addresses are rejected at this stage — before the message body is even accepted (callout verification).↓
3
Sender check
The
MAIL FROM address and the From: header are checked against the sending domain's SPF, DKIM, and DMARC policy. The result feeds into the message's final score.↓
4
Acceptance and antivirus scan
The message body is fully accepted. Every attachment is scanned by the antivirus engine. Executable files and other dangerous types are blocked regardless of the spam score.
↓
5
Anti-spam analysis (Rspamd)
The message is analyzed by the Rspamd engine: a Bayesian classifier, header checks, link analysis in the body, HTML structure checks, fuzzy hashing, and content filters. Each rule adds or subtracts points. The resulting score decides the message's fate.
↓
6
Custom rules
Rules configured by the domain admin are applied: sender whitelists and blacklists, and rules based on subject, headers, or message size. Whitelist rules can zero out the spam score.
↓
7
Delivery decision
Based on the final score:
- Clean — delivered to your mail server
- Suspicious — held in quarantine, the sender is told nothing
- Spam / virus — rejected with a 5xx code or dropped silently
Redundancy
Two MX servers at different priorities (MX 100 and MX 200) provide failover: if the primary node becomes unavailable, traffic automatically shifts to the backup. No mail is lost.