Visual RFC.
ALL RFCs / RFC 5321
Read the RFC ↗
RFC 5321 / DELIVERY AND FAILURES

Relays, aliases & traces

07

Mail can pass through relays, gateways, aliases, and mailing lists before final delivery.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 4.4 ↗
RFC 5321 · § 4.4EXAMPLE
4 / 4
Relays, aliases & tracesEach relay prepends a Received entry to the message trace. Final delivery adds Return-Path while earlier trace entries retain their order.A trace grows at each hopIllustrative Received header stackMail objectTrace, newest firstReceived: by destinationReceived: by relayReceived: by originReturn-Path: <bounce@…>Older trace entries remain in their original orderOperators can investigate routing loops and delaysPreserve the chain for diagnosis
04
Leave diagnostic evidence.

Operators can inspect the chain when investigating delays and routing loops.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

Preserve the trace while forwarding responsibly.

  • An SMTP receiver adds a Received trace entry; existing trace entries are not reordered or rewritten by relays.
  • Final delivery inserts Return-Path from the reverse-path under the defined rules.
  • Aliases and mailing lists differ in responsibility and envelope handling; gateways bridge transport environments.
DETAILS

Received entries help diagnose loops, but can disclose topology. Implementations need loop-detection controls and must not expose blind-copy recipient sets through trace data.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. Envelope vs message
  2. DNS & the next hop
  3. Greeting & extensions
  4. MAIL, RCPT, DATA
  5. Lines & dot transparency
  6. Replies & later changes
  7. Relays, aliases & traces
  8. Queues, retries & timeouts
  9. Acceptance & failure reports
  10. Security & scope
RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗