Step-by-step: What actually happens when you hit “Send”
1) You write the email and click Send (MUA → Mail Submission)
Your email app sends your message (with From, To, Subject, body, attachments) to the email
service. Gmail signs it and checks SPF (sender IP validity).
2) Sender’s email server (MTA) gets ready to send
The server adds tracking info (Received headers), checks the recipient’s domain, and decides
where to send it. It also checks spam and attachment rules.
3) Finding the recipient's server (DNS & MX lookup)
The server looks up where to send the email by checking DNS for MX records (e.g., yahoo.com →
Yahoo mail server).
4) Sending email server to receiving email server (SMTP)
A connection is opened (usually port 25). They introduce themselves (HELO/EHLO), secure the
connection (STARTTLS), and transfer the message using commands (MAIL FROM, RCPT TO,
DATA).
5) Recipient server checks the email
The receiving server confirms SPF, checks DKIM signature, applies DMARC rules, scans for
spam/viruses, and then either accepts or rejects it.
6) Email goes to the mailbox (MDA)
If accepted, the message is stored in the recipient’s mailbox (Inbox, Spam, Promotions, etc.).
7) Recipient sees it (MDA → MUA)
The recipient’s app (via IMAP or push notification) shows the email. Tabs and folders may affect
where it appears.
8) If something goes wrong
If the email fails, the sender’s server retries. If it still fails, a bounce message is sent back.
Gmail → Gmail vs Gmail → Yahoo
Gmail → Gmail (internal)
The email stays within Google’s system, often faster and with fewer steps. Still checks SPF, DKIM,
spam, etc.
Gmail → Yahoo (external)
The email leaves Google and goes through DNS lookup. Yahoo applies its own filters, spam rules,
and delivery processing.
Key protocols & standards involved
• SMTP – for sending emails between servers.
• STARTTLS / TLS – to encrypt the email session.
• IMAP / POP3 – for reading emails.
• DNS / MX – to find the receiver’s mail server.
• SPF / DKIM / DMARC – for email security and authentication.
• TCP – the base transport protocol enabling server communication.