What are the main steps in email delivery?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
So when When you hit send on an email, it doesn't teleport straight to the recipient's inbox. It takes a multi-step journey through mail servers, DNS lookups, and authentication checks. Here's what actually happens.
Step 1: Your email client hands the message to an outbound mail server (called an MTA, short for Mail Transfer Agent). This is the server your ESP runs, or if you're sending from Gmail or Outlook, it's their outbound server. The MTA wraps your message in an envelope with sender and recipient addresses, then checks that your domain is properly authenticated with SPF, DKIM, and DMARC.
Step 2: The MTA performs a DNS lookup to find out where the recipient's email lives. It queries the recipient's domain for MX records (Mail Exchange records), which tell it which mail server accepts incoming messages for that domain. If the recipient is at someone@company.com, the MTA looks up company.com's MX records and gets back something like "mail.company.com" or "aspmx.l.google.com" (if they use Google Workspace).
Step 3: The outbound MTA opens an SMTP connection to the receiving MTA and hands off the message. This is where the two servers talk to each other. The receiving server can accept the message, reject it outright (hard bounce), or tell the sender to try again later (soft bounce). If it accepts the message, it moves to the next step.
Step 4: The receiving MTA runs the message through filters and decides where it goes. Spam filters check your sender reputation, authentication results, content, and engagement history. Then the message gets delivered to the inbox, routed to spam, or quarantined. This decision happens on the receiving side and you don't control it directly, but everything you do in steps 1-3 affects the outcome.
Every server that touches your message adds a Received header to the top of the email. These headers stack up like a trail of breadcrumbs, showing the exact path the message took and how long each hop took. When you're debugging delivery issues, reading these headers tells you where things went wrong. The most common failure points: DNS misconfiguration (MX records pointing to the wrong server), authentication failures (missing or broken SPF/DKIM/DMARC), and reputation issues (your sending IP or domain has triggered spam filters before). If you're just getting started, check your authentication setup first. You can verify your SPF record with our free SPF checker, or if you're stuck on any of this, our SOS hotline is free and we actually pick up.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.