Issue Description
When using the built-in Vultr DNS provider to automatically publish DKIM records, publication of an RSA (2048-bit) DKIM key fails with a 400 BadRequest from the Vultr API.
Expected Behavior
Successfully publishd the RSA (2048) DKIM TXT record via the Vultr DNS API.
Actual Behavior
The task fails because the Vultr API rejects the request with a 400 Bad Request, so the record is not created.
Reproduction Steps
-
Configure the Vultr DNS provider in Stalwart with valid API credentials.
-
Create a domain and generate an RSA (2048-bit) DKIM signature.
-
Enable automatic DKIM key rotation/renewal for the domain.
-
Confirm the scheduled task “Perform DKIM key rotation for a domain” under Tasks → Scheduled.
-
Monitor the result of that task.
-
Observe that task fails with the error.
(Contrast) Repeat with an Ed25519 DKIM key — publication succeeds.
Relevant Log Output
Failed to publish DKIM record v1-rsa-20260607-elpf3pan._domainkey..: Failed to set DNS RRSet: API error: BadRequest {“error”:“Unable to add record: Quotes may only appear at the beginning and end of the data”,“status”:400}
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
MySQL
Blob Storage
S3-compatible
Search Engine
MySQL
Directory Backend
SQL
Additional Context
- Docker Compose with network_mode: host
- reverse proxy: none (no reverse proxy)
- DNS Resolver: local Unbound, used by Stalwart for outbound DNS
Unbound listens on 127.0.0.1 / ::1, port 53535, restricted to localhost
General domains are forwarded over DoT to Cloudflare.
Several DNSBL zones (Spamhaus and etc…) are set as like ‘local-zone: “zen.spamhaus.org” nodefault’
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