Issue Description
I’m currently evaluating Stalwart with the 30-day Enterprise trial, running v0.16.16 (Docker image stalwartlabs/stalwart:v0.16.16), and I’m seeing unexpected greylisting behavior.
Configuration: greylistFor = 120000 (2 minutes), set via the admin panel (Spam Filter settings).
Expected behavior: after a sender is greylisted once, a retry from the same IP/sender/recipient triplet should be accepted once the greylist delay has elapsed.
Observed behavior: every retry is greylisted again, indefinitely. No sender has ever passed greylisting on retry, even when retrying 15–25 minutes later (well past the 2-minute window) with the same source IP and same envelope sender/recipient.
Questions:
What is the exact semantics of greylistFor? Is it the minimum delay before a retry is accepted, or the TTL of the greylist entry?
What is the greylist key (IP, IP+sender+recipient, other)? Is there a known issue where the entry is never converted to “accepted” on retry?
Side question: I’ve noticed that several configuration changes made via the admin panel/API are persisted but not picked up by the running process — they only take effect after a server restart. Observed for: outbound route strategy, IP blocklist removal, the Enterprise license activation, and the greylist setting itself. Is hot-reload of settings expected to work in v0.16.16?
Actual Behavior
Log evidence (timestamps in UTC):
2026-08-06T13:15:59Z INFO RCPT TO greylisted remoteIp = 198.2.177.6, to = “[email protected]” (Mandrill, 1st attempt)
2026-08-06T13:30:59Z INFO RCPT TO greylisted remoteIp = 198.2.177.6, to = “[email protected]” (retry +15min)
2026-08-06T13:35:55Z INFO RCPT TO greylisted remoteIp = 198.2.177.6, to = “[email protected]” (retry, same MAIL FROM as 1st attempt)
2026-08-06T13:38:08Z INFO RCPT TO greylisted remoteIp = 198.2.177.6, to = “[email protected]” (retry +22min)
2026-08-06T13:09:21Z INFO RCPT TO greylisted remoteIp = 135.181.195.209, to = “[email protected]”
2026-08-06T13:11:24Z / 13:15:38Z / 13:17:42Z / 13:22:45Z / 13:32:48Z — same IP, same recipient, all greylisted again
2026-08-06T13:18:06Z / 13:24:15Z / 13:36:02Z — 54.240.8.13 (Amazon SES), same recipient, all greylisted again
This is currently blocking all legitimate mail from new senders (Mandrill, Amazon SES, etc.), so I had to disable greylisting.
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
Internal
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on
I understand that topics in this category are triaged by a bot first but a human reply will follow up. If I’d prefer a human-only reply, I’ll add the no-ai tag to my topic.
on