Starter
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose Starter- 5 brands · 3 seats
- 5 custom sending domains
- 500 email verifications/month
- $1.50 / 1,000 extra emails
Give your app the host, the port, the encryption type and a username and password. An agent fills those in from memory. What goes wrong is everything around them: the account, the credential and the sending reputation.
SMTP is the protocol your application uses to hand an email to a mail server for delivery. Setting it up means giving your app four things so it can log in to that server and send: the host, the port, the encryption type, and a username and password. When an AI agent such as Claude, Codex or Cursor does the setup, it writes those four values unattended, so a stale host or a pasted password goes straight into the code.
If you searched for setting up an SMTP server, you rarely need to run one. You need an account on one, and this page covers that. Every provider-specific search is a variation on those four values, and the SMTP ports hub covers each one. If you do not know the host yet, start with how to find your SMTP server.
For most setups it looks like this:
smtp.gmail.com or smtp.office365.com587 for TLS (the modern default) or 465 for SSL (legacy)Three ports come up constantly. Only two of them are worth using.
If sending fails and everything else looks right, the port is the first thing to check. The full set of values per client is in SMTP configuration.
Ask a coding assistant to make an app send email and it will often reach for SMTP, because SMTP is all over its training data. It works unattended, so the mistakes a person would catch on the second try go straight into the code:
A personal mailbox is also a poor home for an agent. Gmail will not let an agent hold its own address, and mailbox plans are priced per person. Sending a transactional email through an agent with the email API or MCP removes the boilerplate and the SMTP settings together.
Most people searching for SMTP setup are wiring one specific mailbox into one specific app. The values you need:
| Provider | Host | Port | Encryption | Username | Password |
|---|---|---|---|---|---|
| Gmail / Google Workspace | smtp.gmail.com | 587 | STARTTLS | Your full address | A 16-character App Password |
| Microsoft 365 / Outlook | smtp.office365.com | 587 | STARTTLS | The mailbox address | The mailbox password, with SMTP AUTH on |
| Yahoo Mail | smtp.mail.yahoo.com | 465 or 587 | SSL on 465, STARTTLS on 587 | Your full address | An app password |
| A sending service | Set by the provider | 587 | STARTTLS | Set by the provider | A generated API key |
Gmail. With 2-Step Verification on, Gmail rejects a normal password over SMTP. Generate an app password from your Google account security page and use that. The steps are in Gmail app password for SMTP.
The full values are in Gmail SMTP settings. For a Workspace domain that sends from devices or apps, Google SMTP relay is the other route.
Microsoft 365. Many tenants have SMTP AUTH disabled by default, and an admin has to turn it on per mailbox. The full values are in Office 365 SMTP settings, enabling SMTP AUTH is covered in SMTP authentication for Office 365, and personal Outlook.com and Hotmail accounts are in Hotmail SMTP settings.
Yahoo. The full values are in Yahoo SMTP settings.
A sending service on your own domain. Some give you an SMTP host with an API key as the password. Nitrosend gives you an API key and MCP instead. Either way, the scaling comes from the verified domain, not the port.
The prompt: "Set up SMTP so our app can send signup emails."
Before. Left unguided, an agent puts one person's mailbox address and password in .env, points the app at smtp.gmail.com on port 587, and resends on every timeout. The first signup works. The mailbox send limit, the password and the reputation all belong to one person.
After. The app gets a verified sending domain and an API key instead of SMTP settings. The agent reports there is no SMTP credential to configure and sets up the API path instead, through a fixed sequence of Nitrosend MCP calls:
nitro_get_status gets the account context, sender identity and readiness.nitro_manage_domains adds and verifies the company's customer sending domain.nitro_manage_template creates a reusable signup template.nitro_review_delivery inspects that template read-only, returning validation, spam analysis, preflight results and previews. It never sends.nitro_send_test_message, and only to the test recipients saved with nitro_configure_account. It never sends to an audience.idempotency_key per signup, so a retry of the same signup never sends twice.nitro_get_insights then reports email analytics with trends, benchmarks and recommendations.Adding the DNS records for that domain is usually the step a person does, because domain setup is the one part an agent cannot finish alone.
Gmail and Outlook SMTP are fine for a contact form or a low-volume script. They fall apart the moment you're sending on behalf of a product.
Personal mailboxes cap daily sends, they aren't authenticated for your own domain, and the deliverability is tied to a reputation you don't control. Once you're past "the occasional automated email" you need a real sending path: your own verified domain, SPF and DKIM, and a server built to send at volume.
At volume the bar rises. Outlook requires SPF, DKIM and DMARC from senders above 5,000 messages a day. Have all three align, with DMARC at p=quarantine or stronger. SMTP authentication covers the login side of this.
Nitrosend does not hand out SMTP credentials. Apps send through the API, the CLI or MCP.
The SMTP step is one people do once, forget, and look up again the next time. Nitrosend removes it. An account is connected from inside the AI agent, in Claude, Codex, Cursor or any client that speaks MCP, and a test email can go out in the same session. The order is to connect the agent, set up a sending domain, then send a test.
For code that sends without an agent, the same sending runs through the REST API from any language, covered in send email programmatically and Python email automation.
Use port 587 with STARTTLS for almost everything, because nearly every provider supports it and the connection upgrades to TLS before your credentials are sent. Use 465 with implicit SSL only if your network blocks 587. Avoid port 25. Residential ISPs and cloud hosts block it outbound almost everywhere to stop spam.
If 2-Step Verification is on, Gmail rejects your normal login password over SMTP. Generate a 16-character App Password from your Google account security page and use it in place of the password, with smtp.gmail.com on port 587. Keep it in a secret store, not in code, so an agent never prints it to a log.
No. SMTP is one way to hand email to a server. An email API or an MCP-based tool sends over HTTPS on port 443, which is easier to authenticate, harder to get blocked, and needs no port or encryption settings. Nitrosend works this way: apps send through the API, the CLI or MCP, with no SMTP host at all.
A mailbox such as Gmail or Outlook is built for one person. It caps daily sends and runs on a reputation you don't own. A sending service authenticates your own domain and is built to send at volume. On the Nitrosend Free plan, recipients per rolling 24 hours run from 100 to 5,000, tiered by sender standing.
Every plan includes full stack emailing: Flows, Newsletter Campaigns and Transactional Email, plus our NitroWheel LLM and all agent integrations (Claude, ChatGPT, Codex, Cursor and others). Pay for what you send, not who you store.
Every paid plan includes 3 agent inboxes and no Nitrosend footer.
For your first email program.
$192 billed yearly.
20,000 emails / month
Choose StarterFor a growing audience.
$480 billed yearly.
60,000 emails / month
Choose ProFor teams and agencies.
$1,440 billed yearly.
200,000 emails / month
Choose GrowthFor high-volume sending.
$2,880 billed yearly.
500,000 emails / month
Choose ScaleSending 500,000+ emails a month? Get a custom plan designed for you, with volume email pricing and capacity that fits your business.
5,000 emails to start, then 500 emails every month. No expiry on your starter emails.
Daily allowances depend on your plan and sender standing. Strong list, domain and delivery evidence can raise standing, including on day one. Trusted receives the full plan allowance; available email credits, safety checks and delivery pacing still apply.
Free forever. No credit card required. See full comparison →