What’s the difference between SMTP, MIME, and ESMTP?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

When you hit send, three things happen in a specific order. First, your email client talks to your outgoing mail server using SMTP. The server then talks to the recipient's server using the same protocol. That's SMTP. Simple Mail Transfer Protocol. It's the delivery truck for your message. RFC 5321 defines it, and it only cares about getting the message from point A to point B.

But SMTP has a problem: it only speaks plain text. So MIME enters the picture. MIME (Multipurpose Internet Mail Extensions) sits on top of SMTP and says, "Hey, let's put attachments, HTML, images, and special characters through this text-only protocol." MIME is the packaging system. It encodes your fancy formatted email into text that SMTP can carry, then the receiving client decodes it back into something readable.

Here's where ESMTP comes in. ESMTP (Extended SMTP) adds extra features to basic SMTP through negotiation. When your client connects to the outgoing server, it doesn't just say "hey, send mail." It says "hello" with EHLO command. The server responds with its capabilities: "I support authentication, encryption via STARTTLS, and size limits." You negotiate which features to use, then proceed. ESMTP is the same delivery truck with upgraded safety features and optional extras. Most modern email servers use ESMTP by default. To recap: SMTP moves it. MIME packages it. ESMTP adds security and features. Next time you send an email, all three are working together without you thinking about it.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Understand email protocols with a concrete walkthrough

I just read about SMTP, MIME, and ESMTP, but I'm still fuzzy on how they actually work together when an email gets sent. Can you break down what each one does in plain terms and show me a real example of how they interact, like, which one decides the format, which one handles transmission, and where ESMTP's extensions fit in?

Edit the yellow boxes, then send to the AI of your choice.