Email looks instant, but a message passes through several servers and checks. Each stage is a place something can go wrong.
1. Your app submits the message
Your mail app connects to your outgoing server — mail.yourdomain.co.uk — over SMTP, logs in with your mailbox credentials, and hands over the message. What is SMTP and SMTP authentication?
2. Your server looks up the recipient
Your server takes the recipient’s domain, say example.com, and looks up its MX record to find which server accepts its mail. MX records: how email finds your mail server
3. Servers talk SMTP
Your server connects to the recipient’s mail server and offers the message.
4. The receiving server checks it
Before accepting, the receiving server asks:
- Is the sending server on a blocklist? Email blacklists (blocklists): how to check and what to do
- Does SPF allow this server to send for your domain? How to set up an SPF record
- Is the DKIM signature valid? How to enable DKIM in DirectAdmin
- What does your DMARC policy say to do if those fail? How to set up a DMARC record
- Does the content look like spam?
It then accepts the message to the inbox, files it as spam, or rejects it with a bounce. Understanding email bounce messages
5. The recipient reads it
Their app fetches mail from their server using IMAP or POP3. IMAP vs POP3: which should I use?
Where problems show up
| Stage | Symptom | Guide |
|---|---|---|
| 1 | App can’t send, password rejected | SMTP authentication failed |
| 2–3 | Delivery delayed or bounced | Understanding email bounce messages |
| 4 | Lands in spam | Why are my emails going to spam? |
| Incoming MX | You don’t receive mail | Not receiving email: how to fix incoming mail |