Skip to content
Corven Email SDK
Esc
↑↓navigate↵open⌘Jpreview
On this page

Receipt reference

Preserve exact receipt tags, correlation fields, recipient partitions and synthetic outcomes.

Narrow EmailReceipt with _tag or exhaustive Schema dispatch. Preserve the complete value; success is not a universal delivered status.

_tag Principal fields
Accepted provider, optional messageId, optional submissionId
AcceptedWithIds provider, nonempty messageIds
PartiallyAccepted provider, nonempty accepted and suppressed, optional messageId
PartiallyRejected provider, nonempty accepted and rejected
PartiallyAcceptedCounts provider, accepted/rejected counts, optional messageId
RecipientOutcomes provider, nonempty outcomes, optional messageId
RecipientsRejected provider, nonempty rejected, optional messageId
Suppressed provider, nonempty suppressed
Recorded Local recording sequence
Simulated provider, optional messageId

EmailRecipientOutcome has Accepted and Rejected cases with explicit recipient identity. An accepted outcome has a message ID; a rejected outcome may have one. Count-only evidence has no implied recipient mapping.

Correlation and delivery

Message IDs, arrays of IDs and native submission IDs identify different provider handles. Their presence or order does not prove delivery, duplicate prevention or independent outcomes for a grouped request. Native jobs can acknowledge without a message ID.

EmailRoutedReceipt adds the actual route to the receipt family. Store that route in recovery state and use it when resuming the operation.

Terminal outcomes

Partial, suppressed, rejected-recipient, simulated and recorded receipts do not authorize fallback or another send. Synthetic recording is not live submission. For error recovery, use receipts and retries, not a conversion of these variants to boolean success/failure.