DMARC aggregate subject is not configurable

Issue Description

account/Settings/x:DmarcReportSettings exposes Subject: Subject name that will be used in the DMARC aggregate report email, default 'DMARC Aggregate Report'.

However, the Stalwart docs reference “The subject of an aggregate report is not configurable. RFC 9990, section 3.5.2 requires a fixed format, Report Domain: Submitter: Report-ID: <>. In it, is the domain the report is about and is the outboundReportSubmitter host name.” Indeed, this fixed format is what is used for outgoing emails.

Expected Behavior

If the subject is not configurable, the setting should be removed.

Stalwart Version

v0.16.x

Installation Method

Docker

Database Backend

PostgreSQL

Blob Storage

Filesystem

Search Engine

PostgreSQL

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

The current docs already match what you expected. In v1.0, DmarcReportSettings has no aggregate subject field. Its aggregate fields are aggregateFromAddress, aggregateFromName, aggregateOrgName, aggregateContactInfo, maxAggregateReportSize, aggregateSendFrequency and aggregateDkimSignDomain. The only subject setting left is failureSubject, which applies to DMARC failure reports, not aggregate ones. See DmarcReportSettings.

The source agrees with the docs. The aggregate report generator in smtp-report uses Report Domain: <domain> Submitter: <submitter> Report-ID: <<report_id>> as the default subject, as the DMARC reports page describes.

You reported v0.16.x, where the setting is still exposed. Treat it as having no effect on aggregate reports, since the fixed format is what you saw in outgoing mail. This answer is based on the v1.0 docs and source, so I can’t say how v0.16 behaves internally. Upgrading should get you the schema without the field. The upgrade guide is here: Overview | Stalwart

This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.

Close, was not aware it was fixed in v1 as I did not see any prior reports about it.