What Is SMTP? A Simple Explanation for Non-Developers

What is SMTP? A plain-English guide to the standard that moves every email, where you’ll see SMTP settings, and how it compares to an email API.

Quick answer

SMTP (Simple Mail Transfer Protocol) is the shared set of rules mail servers use to pass email across the internet. So what is SMTP to you as a builder? Mostly a settings form: a server address, a port, a username and a password that let a tool hand your emails to an email service for delivery.

Last checked: October 2026

On this page
  1. What is SMTP, in plain English?
  2. Where will you see SMTP settings?
  3. SMTP vs an email API: what's the difference?
  4. Do you need to care about SMTP?

If a tool in your stack has asked for "SMTP settings," or Claude Code mentioned SMTP while adding email to your project, you probably want to know what it is and whether it changes anything for you.

This guide answers what SMTP is in plain English, where you'll run into it, how it differs from an email API, and when you need to care. There's no code involved.

What is SMTP, in plain English?

SMTP stands for Simple Mail Transfer Protocol. It's the agreed set of rules mail servers follow to pass an email from one to the next until it reaches the right inbox. A protocol is a shared language that lets two computers understand each other.

Think of the postal system. A letter is handed between sorting offices until it lands in the right mailbox, and every handover follows the same rules. SMTP does this for email. The sending server says who the email is from, who it's for, then hands over the message, and the receiving server confirms it has taken responsibility for it.

A few things worth knowing:

  • SMTP is about sending. It moves email out and along. Reading email in an inbox uses different standards.
  • It's old and everywhere. Today's version, published in 2008, builds on a standard from the early 1980s. Every email service uses SMTP to deliver mail.
  • It was built to move mail, not to prove who sent it. That's why sending from your own domain means adding a few records to prove the domain is yours. Our guide to verifying your domain for email covers that step.

Where will you see SMTP settings?

You'll usually meet SMTP as a short form asking for a few values. Here's what each one means.

FieldWhat it meansWhere it comes from
Host (or server)The address of the email service's sending serverYour email service's settings or docs
PortWhich "door" on that server to useYour email service, usually 587 or 465
UsernameThe account name for the connectionYour email service
PasswordProves the tool is allowed to send. Often a secret key, not your login passwordYour email service
Sender email and nameWho the email appears to come fromYou choose, for example hello@yourcompany.com

The port numbers mean different things:

PortWhen it's used
587Sending from a tool to an email service. The connection starts plain, then switches to encrypted.
465The same job, encrypted from the first moment. The current standard prefers this one.
25Mail servers passing email to each other. You rarely enter it yourself.

If your email service lists both 587 and 465, either works. The standard says they're equally secure when both sides are set up correctly.

Here are the places these forms tend to show up:

  1. Sign-in tools. Supabase Auth sends sign-up confirmations, magic links and password reset emails. Its built-in email server is meant for testing: it only sends to members of your project's team, and currently allows 2 emails per hour. For real users, Supabase asks you to add custom SMTP settings in your project's Authentication settings. After that, it starts with a limit of 30 emails per hour, which you can raise.
  2. Email programs. Outlook or Apple Mail ask for an outgoing (SMTP) server when you add a mailbox by hand.
  3. Website builders, form tools and plugins. Many have an "SMTP" option so their emails go through a proper email service.

SMTP vs an email API: what's the difference?

Both get your email to an email service. The difference is how your project hands it over.

With SMTP, a tool connects to the email service's server using the host, port, username and password, and passes the email along using the mail rules. Any tool with an SMTP settings box can do this without custom code.

With an email API, your project sends a short request over the web with the email's details and a secret key. An API is a way for software to talk to a service, and an API key is the password that proves the request comes from you. This needs a small piece of sending code in your project, which Claude Code writes.

SMTPEmail API
What the tool needsHost, port, username, passwordA secret key and a small piece of sending code
Best forTools with an SMTP settings boxProjects you're building, where Claude Code writes the sending code
What you doPaste values into a formBrief Claude Code

Either way, SMTP is still involved: once your email reaches the email service, the service uses SMTP to deliver it to the recipient's mail server. So the choice is only about the first handover. For a deeper look at the trade-offs, read SMTP vs email API.

When you ask Claude Code to add email to something you're building, it will often use the email service's API, since it's writing code for your project anyway. You don't need to decide this alone:

Tell Claude Code

I'm setting up emails for my project. Should we send them through an email API or SMTP? Explain the choice in plain English, then go with whichever suits this project best.

Claude Code will explain which fits and why, then set it up.

Do you need to care about SMTP?

Mostly, no. SMTP runs in the background of every email, and you rarely touch it. There are two moments when it matters.

A tool asks you for SMTP settings. This is the common one, often with Supabase Auth before launch. Get the values from your email service, paste them into the form, and send a test to yourself. If the password field wants a secret key, treat it like any other key and keep it out of shared documents.

Tell Claude Code

Supabase says I need custom SMTP before real users can get sign-up and password reset emails. Tell me which value goes in which box, and where to find each one in my email service.

You'll get a field-by-field list you can follow in the Supabase dashboard.

You're adding a mailbox to an email program. Your mailbox provider gives you the SMTP server and port, and the program does the rest.

Otherwise, leave SMTP to the email service. When Claude Code builds your transactional emails, such as welcome emails and receipts, it sets up the handover, and SMTP delivery happens on the email service's side.

If you build with Claude Code and don't write code, SimpleSends is the transactional email service built for you: connect SimpleSends to Claude Code once, then brief it in plain English to design, write and build every email your project sends.

Frequently asked questions

Is SMTP secure?

It can be. The current standard for sending email into an email service says connections should be encrypted with TLS 1.2 or newer, and discourages unencrypted ones. In practice, that means using port 587 or 465 with the settings your email service gives you, rather than an unencrypted connection.

What’s the difference between SMTP, IMAP and POP?

SMTP sends email and passes it between servers. IMAP and POP are separate standards that email programs use to read messages sitting in a mailbox. For the emails your project sends, such as sign-up confirmations and receipts, SMTP is the one that matters.

Why does my SMTP password look like a random string?

Many email services use a secret key as the SMTP password instead of your account password. Resend, for example, asks for an API key in the password field. Treat it like any secret key: keep it out of shared documents, screenshots and public code.

Do I need to run my own SMTP server?

No. Email services run the sending servers for you, and you connect to theirs. Running your own mail server means maintaining it, keeping it secure and looking after its sending reputation, which is a lot to take on for a SaaS or site.

Can I use SimpleSends where a tool asks for SMTP settings?

Supabase offers a Send Email hook, which hands its sign-in emails to your project instead of an SMTP server, so Claude Code can send them through your email service that way.

Sources (4)