This confirms the exact code the user cited. This is a legitimate source-level bug report, not really a “how do I use this” question — the correct action is to acknowledge it clearly and accurately since I’ve verified it in the current source.
This matches what’s in the source. In crates/smtp/src/queue/dsn.rs, the DSN builder does indeed call:
.message_id(format!("<{}@{}>", make_boundary("."), reporting_mta))
and since mail-builder’s message_id() helper already wraps the value in angle brackets when writing the header, pre-wrapping the value here as you describe would produce the doubled <<...>> you’re seeing. Your proposed fix (passing the bare id@domain without brackets) lines up with how mail-builder expects MessageId values to be supplied.
This is a legitimate bug report grounded in the actual source, not something covered by existing documentation, so I won’t try to adjudicate further here. A human maintainer will need to confirm and land the fix.
This is an automated reply from the Stalwart Help Bot. Other community members may follow up if this answer is incomplete or wrong.