SMTP
/ ess-em-tee-PEE /
Email gets from your outbox to someone else's inbox through a chain of mail servers, and the protocol they use to hand a message along that chain is SMTP. Think of it as the postal trucks and sorting offices of email: SMTP is for pushing a message from a sender toward its destination. It is specifically about delivery — getting the letter to the right building — not about you opening your mailbox to read what arrived (that is IMAP or POP3's job).
An SMTP exchange is a short, readable, line-by-line conversation. The sending side connects to the receiving server (on TCP port 25 between servers, or 587 when you submit mail from your own program) and they take turns: the client announces itself ("HELO"), states the sender ("MAIL FROM:"), states the recipient ("RCPT TO:"), then says "DATA" and sends the message headers and body, ending with a line containing just a single dot. The server replies to each command with a numeric status (250 means OK). Because email may pass through several relays, the message accumulates "Received:" header lines, one per hop, recording its journey — which is why you can sometimes trace where a message really came from.
SMTP is a push protocol: the sender's server actively pushes the message toward the recipient. Two honest caveats matter. First, original SMTP carried only 7-bit ASCII text, so attachments, images, and non-English characters are encoded into ASCII by MIME and ride inside the SMTP body. Second, classic SMTP has no built-in authentication of who the sender really is — the "MAIL FROM" address can simply be lied about, which is the root reason spam and forged "from" addresses are so easy and why bolt-on systems (SPF, DKIM, DMARC) were later added to check whether a server was actually allowed to send for a domain.
Sending "[email protected]" a note, your server opens a connection to b.com's mail server and speaks: "MAIL FROM:<[email protected]>" — server: "250 OK"; "RCPT TO:<[email protected]>" — "250 OK"; "DATA" — "354 go ahead"; then the headers, the body, and a lone "." — "250 message accepted". The note is now in b.com's hands.
SMTP is a line-by-line push: envelope (MAIL FROM / RCPT TO) then DATA, each step acknowledged with a code.
SMTP only delivers mail to the recipient's server; it does not let you read your own mailbox — that is what IMAP and POP3 do. And SMTP's "From" is trivially forgeable, which is why anti-spoofing layers exist on top.