The basic SMTP flow
A sending server opens a connection, receives a greeting, identifies itself with HELO or EHLO, supplies an envelope sender with MAIL FROM, names recipients with RCPT TO, and transfers the message body with DATA.
Accept, reject, or defer
Receiving systems can accept a message, reject it permanently, or defer it temporarily. Deferrals are useful when a server is busy or wants the sender to retry later.
Where policy enters
During SMTP, the receiver can check IP reputation, sender authentication, recipient validity, rate limits, content signals, and domain policy before deciding what to do with the message.
Examples
A normal delivery conversation
The sender connects, says EHLO, provides MAIL FROM:
Temporary rejection
A receiver might return a 451 or 421 response when it is busy, rate-limiting, or greylisting. A well-behaved sender queues the message and retries later.
Common issues
- Rejecting too late in the SMTP transaction, after accepting responsibility for the message.
- Using unclear 5xx rejection text that makes delivery problems hard to diagnose.
- Treating all temporary failures as permanent failures.
- Accepting mail for invalid recipients and then generating backscatter bounces.