From:stays the human-readable address recipients see and reply to.Return-Path:(the envelope MAIL FROM) is a dedicated technical mailbox that collects delivery status notifications, so bounce processing never wades through a person’s ordinary mail.
A grant widens the envelope only. The
From: header keeps its own gate — it must always be an identity of the authenticated account. And a grant is not an alias: it implies no delivery and creates no identity. It is pure authorisation.How it works
A grant authorises one account to use any local-part of one domain as MAIL FROM. Domain granularity is deliberate: bounce processing normally stamps a different envelope per recipient (VERP —bounce+alice=example.com@bounces.example.org), so per-address rules could never keep up. One granted domain covers every VERP variant.
Two safety rails are enforced when the grant is created, not discovered later:
- DNS proof. The grant authorises nothing until you publish a TXT record and verify it — the same discipline as relay declared domains. The proof is re-checked periodically; if the record disappears, the grant is suspended fail-closed within one interval and sends under it start being rejected. The
oximail_envelope_domain_suspended_totalmetric counts these suspensions. - The same-organization rule. The granted domain must share its organizational domain with one of the account’s identities.
bounces.example.orgcan be granted tosender@example.org;bounces.other.netcannot. This is the Amazon SES rule, and it is what keeps SPF aligned under DMARC by construction — a cross-organization Return-Path silently breaks DMARC at some receivers weeks later, so OxiMail makes it unrepresentable instead of documenting it as a caveat.
Setting it up
Say the platform authenticates assender@example.org and you want bounces collected in a dedicated mailbox.
bounce@’s mailbox (IMAP), and set its Return-Path to an address under the granted domain. Done: the platform sends as sender@, receivers see sender@, and every DSN lands in bounce@.
VERP without any extra server work
If the platform stamps per-recipient envelopes (VERP), have it use a plus-tag of the bounce mailbox:bounce+<subscriber>@bounces.example.org. The grant authorises every variant (any local-part of the domain passes), and OxiMail’s plus-addressing delivers all of them into bounce@’s mailbox natively. No catch-all needed, no server-side configuration.
The division of labour is deliberate, and it is how the whole industry works: the mail server authorises and keeps DMARC aligned; the list platform stamps envelopes and parses bounces. OxiMail does not generate VERP addresses and does not manage sending cadence — your platform already does both, and the receiver-side bulk rules (one-click unsubscribe, complaint-rate ceilings) are its obligations too.
When a send is refused
A MAIL FROM that matches no identity and no active grant is rejected at end-of-DATA:envelope-domain verify and re-check your TXT record.
Removing a grant
--yes is required, as for every destructive verb.
Relation to relay accounts
If you run a smarthost, note the boundary: arole="service" relay account has its own envelope authorisation (the proven declared domains of ADR-116) and cannot receive envelope-sender grants — one mechanism per account kind. Grants are for normal accounts on a normal Primary, sending their own organisation’s list mail.