On my new mail server (installed about 3 days ago) I noticed that my messages never arrive anywhere.
Last night I noticed that my messages sent by SMTP remain in the queue, never sent out. They are accepted by the server (from my client), but
Based on this tried the function “Delivery test”. It fails immediately. Following messages are shown:
“Delivery failed0 attempts in 33 ms”
“MX Lookup
DNS resolution error: no connections available”
Inbound messages seem to work, arrive in the mailbox correctly.
Expected Behavior
Emails should be delivered to the destination
Actual Behavior
No rejection, no status updates sent to clients.
In “Delivery tests” the error “DNS resolution error: no connections available” is shown
Relevant Log Output
Delivery failed0 attempts in 33 ms
MX Lookup
6 ms
DNS resolution error: no connections available
Stalwart Version
v0.16.x
Installation Method
Binary (Linux)
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
Internal
Additional Context
Clients: Thunderbird (Linux), Fairemail (Android)
Probably not relevant, but log shows many times the message: “Multiple TLS certificates available” - even though under “Certificates” only a single certificate is shown (yesterday there were still two)
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.
The error “DNS resolution error: no connections available” means Stalwart’s DNS resolver cannot reach any DNS server to perform MX lookups for outbound delivery.
The most likely cause is that the server itself cannot make outbound DNS queries – either because port 53 (UDP/TCP) is blocked by a firewall, the system resolver is misconfigured, or the resolver backend selected in Stalwart has no reachable nameservers.
Here are the things to check and try:
Verify basic DNS works from the host. Run dig google.com MX or nslookup google.com from the same Linux machine. If that fails, the OS-level DNS is broken and needs to be fixed first (check /etc/resolv.conf).
Check your DNS resolver setting in the WebUI. Go to Settings › Network › DNS › DNS Resolver and inspect what resolver type is configured. If it is System but the system resolver is non-functional (common in some minimal/container-like Linux setups), switch to Cloudflare, Quad9, or Google as a test.
Try switching to an explicit public resolver. In the WebUI, change the DnsResolver to Cloudflare (or Custom pointing at 8.8.8.8) and retry the delivery test. If that succeeds, the problem is your system resolver.
Check outbound firewall rules. Some VPS/hosting providers block outbound port 25 (SMTP) and sometimes port 53 (DNS) by default. Confirm your host allows outbound UDP/TCP port 53.
Re the “Multiple TLS certificates available” warning – this is a separate issue but worth cleaning up: go to Settings › TLS › Certificates and ensure only one certificate is active/valid for each domain to avoid selector ambiguity.