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

Queues, retries & timeouts

08

A sender keeps undelivered mail with its envelope, delays retries, and uses stage-specific timeouts.

Related RFCs and changes

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

RFC 5321 · § 4.5.4.1EXAMPLE
4 / 4
Queues, retries & timeoutsAn initial failed attempt leads to durable queue storage, a delayed retry schedule, and another delivery attempt instead of a tight retry loop.A queue bridges an outageIllustrative retry schedule, not fixed policySenderDestinationtemporarily unavailableDurable delivery queueenvelope + contentfailurewait ≥ 30 minretryretryAttempt delivery again without a tight loop
04
Try again within policy.

Delivery resumes or eventually reaches the configured give-up policy.

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

Persist first; retry with restraint.

  • Mail that cannot be transmitted immediately must be queued and retried periodically.
  • After failure, delay retrying that destination; the general recommendation is at least 30 minutes, with more adaptive strategies possible.
  • Give-up time generally needs to be at least 4–5 days; retry parameters must be configurable.
DETAILS

§4.5.3 specifies line sizes, minimum supported capacities, and command-specific timeouts. Message content support must be at least 64K octets; that is a minimum capability, not a universal maximum message size.

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 ↗