I now have enough to give a clear, grounded answer. The key finding is on the Domain object: reportAddressUri is a single field covering DMARC, TLS-RPT, and CAA reports together, and there are no separate fields for DMARC policy tags like p, sp, pct. The DMARC DNS record content (policy, percentage, subdomain policy, etc.) is auto-generated by Stalwart from its own internal settings – you cannot tweak those individual tags through the WebUI domain editor.
Here is what the documentation actually says about your specific questions:
DMARC policy tags (v, p, sp, pct) and the RFC 2136 DNS record
Stalwart auto-generates the DMARC DNS TXT record content when it publishes via RFC 2136 dynamic updates. The Domain object does not expose individual DMARC DNS tag fields (p=, sp=, pct=, etc.) – the record is built internally from the server’s own authentication settings. There is no documented way to customise the individual DMARC policy tags in the auto-published record through the WebUI or JMAP API at this time.
Your practical options are:
- Keep DMARC manual: exclude
dmarc from the domain’s publishRecords list (under Management > Domains > Domains, DNS Management settings). Stalwart will still show you the expected zone file content via dnsZoneFile, and you copy/manage that record yourself with your preferred policy tags.
- Override manually after publication: let Stalwart publish the base record, then override it directly in your DNS zone.
Separate report addresses for DMARC vs TLS-RPT
The Domain object has a single field, reportAddressUri (WebUI: Management > Domains > Domains, “Report Address URI”), which defaults to mailto:postmaster. This one address is used for all incoming reports – DMARC aggregate (rua), DMARC failure (ruf), and TLS-RPT together. There is no per-protocol split at the domain level. The outgoing DMARC aggregate and failure report generation (i.e. what Stalwart sends to others) is configured separately at Settings > MTA > Reports > DMARC, but those are for reports Stalwart sends out, not for configuring where your domain receives reports.
Relevant docs:
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.