Back to Blog
🔌
/22 min read/By SMTPfast Team

The Best Free SMTP Services for Developers in 2026

Ten free SMTP services compared for apps, CMSs and devices: free-tier limits, daily caps, ports and TLS. Every number checked on the provider's own pages.

comparisonsmtpfree-tierdeliverability
Share:𝕏in

Many programs can send email but cannot call an email API. WordPress, Ghost, a Django or Laravel app set up for SMTP, a NAS, a printer, a cron job: they ask for a host, a port, a username and a password, and that is all. For these, you need an SMTP relay. This post compares the free ones.

We checked every free-tier number in this post on the provider's own pricing or documentation pages on 7 October 2026. Free tiers change often, so check the provider's page again before you depend on a number.

The short answer

Rank Provider Best for
1 SMTPfast 3,000 free emails a month over SMTP, with port 2525 for hosts that block 587
2 Brevo 300 emails a day, with unlimited log retention
3 SMTP2GO An SMTP-first service with the most port choices
4 Resend 3,000 a month, with the API key as the SMTP password
5 Mailjet 6,000 a month, if 200 a day is enough
6 SendPulse The largest monthly number, with tight hourly and daily caps
7 Postmark Testing an integration on a strict, reviewed platform
8 Mailgun 100 a day with SMTP, tracking and webhooks
9 Amazon SES AWS teams who will spend new-account credits
10 Gmail Alerts to yourself, not mail from an app

We ranked for one job: connect an app, a CMS, a framework or a device over SMTP and send real mail without paying. If you write new code and can make HTTPS calls, an email API is usually easier to debug. Our engineer's comparison of email APIs covers that case, and our transactional email guide for SaaS covers paid plans at scale.

At a glance

Provider Free allowance Cap Expires Card needed SMTP on free plan SMTP ports
SMTPfast 3,000/month 100/hour No No Yes 587, 2525 (STARTTLS)
Brevo 300/day 300/day No No Yes 587, 2525 (STARTTLS); 465 (SSL/TLS)
SMTP2GO 1,000/month 200/day, 25/hour until you verify a domain No No Yes 25, 80, 587, 2525, 8025 (TLS); 465, 8465 (SSL)
Resend 3,000/month 100/day No Not stated Yes 25, 587, 2587 (STARTTLS); 465, 2465 (TLS)
Mailjet 6,000/month 200/day No No Yes 25, 80, 587, 588, 2525 (TLS optional); 465 (SSL)
SendPulse 12,000/month 400/day, 50/hour No No Yes 587 (TLS); 465, 2525 (SSL)
Postmark 100/month None stated No No Yes 25, 587, 2525 (STARTTLS)
Mailgun 100/day 100/day No Not stated Yes 25, 587, 2525 (STARTTLS); 465 (TLS)
Amazon SES Up to $200 in AWS credits for new customers Sandbox: 200 per 24 hours, 1 per second Credits: 12 months Not stated Yes 25, 587, 2587 (STARTTLS); 465, 2465 (TLS)
Gmail Your personal account 500/day No No Yes, for a mail client 587 (TLS), 465 (SSL)

"Not stated" means that the provider's pricing page did not say if a card is necessary. We did not guess.

What to check in a free SMTP tier

A free tier has a headline number and a set of rules around it. The rules usually decide if the tier works for you.

Daily and hourly caps, not only the monthly number. 6,000 a month with a cap of 200 a day is not the same as 3,000 a month with no daily cap. Think about your busiest day: a launch, a batch of invitations, a password reset for every user after a security change. A daily cap stops that day short, even when the month has room. Hourly caps are tighter still. SendPulse and SMTPfast have one, and SMTP2GO has one until you verify a domain.

How the provider counts. Some providers count each recipient as one email. A message to three people in To, Cc and Bcc then uses three emails. SMTPfast and Zoho CPaaS count this way. Check the rule before you add a Bcc to every receipt.

Account review and sender verification. Free tiers attract spammers, so most providers check new accounts. Brevo approves an account before it can send. Postmark lets you send only to your own domains until a person approves the account. SendPulse can start new accounts on a test plan. Most providers also want a verified sending domain, or at least a verified sender address, before real mail goes out. Plan for a day of setup, not five minutes.

Shared IP reputation. Expect shared IP addresses on a free plan, so other senders on the same pool affect your delivery. Postmark, Resend and Mailjet, for example, sell dedicated IPs only on paid plans or as add-ons. A strict review process is a good sign on a free plan, because it keeps the shared pool cleaner.

Log retention. When a user says "I never got the email", you need the log. Free plans keep it for very different times: 1 day on Mailgun, 5 days on SMTP2GO, 30 days on Resend, 45 days on Postmark, and no limit on Brevo. SMTPfast removes the message content after 30 days but keeps the email's record (recipients, status and event timeline) with the account.

Ports and TLS. Port 587 starts in plain text and upgrades with STARTTLS. Port 465 uses TLS from the first byte ("implicit TLS" or "SMTPS"). Port 2525 is an unofficial fallback for networks that block the standard ports, and some cloud hosts do. DigitalOcean blocks 25, 465 and 587 on Droplets, and Amazon EC2 throttles port 25 by default. Configure your client to require TLS, so it never sends a password on an unencrypted connection.

Credentials. SMTPfast and Resend use your API key as the SMTP password. Brevo, Mailgun, MailerSend and Amazon SES use separate SMTP credentials, and Postmark accepts either its API token or a separate SMTP token. One key is easier to rotate. Separate credentials let you give a WordPress plugin less access than your backend.

Size and attachments. Check the message size limit and whether attachments go through. SendPulse's free plan does not send emails larger than 1 MB. SMTPfast's SMTP relay rejects attachments today.

1. SMTPfast

Free tier: 3,000 emails a month, up to 100 an hour, 1 sending domain. Free forever, no credit card.

SMTP settings: smtp.smtpfa.st, port 587 or 2525, STARTTLS, username smtpfast, password an API key with the email:send scope.

SMTPfast is an email API built on Amazon SES, with an SMTP relay for software that only speaks SMTP. The relay is on every plan, free included. A message sent over SMTP goes through the same pipeline as an API call: the same verified-domain check, suppression check, rate limits and logs.

Strengths

  • 3,000 emails a month with no daily cap, only an hourly one, and no expiry
  • SMTP on the free plan, with the same API key you use for the HTTP API
  • Port 2525 next to 587, for hosts that block standard SMTP ports
  • TLS is not optional: the server offers AUTH only after STARTTLS, so a password cannot go out in plain text
  • Email logs on the free plan: the content goes after 30 days, but the record of each email and its events stays
  • A small first step up: Starter is $9 a month for 10,000 emails, and prepaid credits cost $0.001 per extra email

Weaknesses

  • The SMTP relay does not accept attachments yet, and it takes HTML and plain-text messages only
  • No implicit TLS on port 465
  • 100 emails an hour on the free plan. Past that, the relay answers with a temporary 451 error: a mail server such as Postfix tries again later, but an app has to handle the error itself
  • One sending domain, and no webhooks or open and click tracking on the free plan
  • Shared Amazon SES sending, with no dedicated IPs on any plan yet

Docs: SMTP settings, rate limits, data retention, pricing.

2. Brevo

Free tier: 300 emails a day. Free forever, no credit card. Brevo approves the account before it can send.

SMTP settings: smtp-relay.brevo.com, port 587 or 2525 (both offered STARTTLS when we connected), or 465 with SSL/TLS. Use an SMTP key from the SMTP settings page, not an API key.

Brevo is a marketing platform with a transactional email product inside it. Its pricing FAQ says every plan, free included, gets the APIs, SMTP, outbound webhooks and unlimited log retention.

Strengths

  • 300 emails a day, which is up to about 9,000 in a month
  • Unlimited log retention on every plan, by Brevo's pricing FAQ
  • Port 2525 as well as 587 and 465
  • Campaigns, contacts and forms in the same account if you need them later

Weaknesses

  • The cap is daily, so a busy day stops at 300
  • You cannot send until Brevo approves the account
  • A separate SMTP key to store and rotate, next to the API key
  • The product and the pricing page focus on marketing, so the transactional part is one item in a large suite

Checked on: Brevo pricing, SMTP relay docs, Node.js SMTP example.

3. SMTP2GO

Free tier: 1,000 emails a month, 200 a day, and 25 an hour until you verify your sender domain. No credit card, and you can stay on the free plan "for as long as you like".

SMTP settings: mail.smtp2go.com, ports 25, 80, 587, 2525 and 8025 (TLS available), or 465 and 8465 (SSL). SMTP2GO recommends 2525.

SMTP2GO started as an SMTP relay and still reads like one. Its setup guides cover a long list of apps, mail servers and devices.

Strengths

  • The widest port choice in this list, including 80 and 8025 for very restrictive networks
  • Setup guides for many CMSs, frameworks, mail servers and devices
  • The hourly limit goes away when you verify your sender domain
  • Phone and live chat support for the first 14 days on the free plan

Weaknesses

  • 1,000 emails a month is a small allowance
  • Only 5 days of email reporting on the free plan
  • Sign-up asks for a work email address (no Gmail or Yahoo) and a phone number for an SMS code

Checked on: SMTP2GO pricing, SMTP2GO FAQ, Django setup guide.

4. Resend

Free tier: 3,000 emails a month, up to 100 a day, 3 custom domains, 30 days of data retention, 1 webhook endpoint. A free-forever plan, not a trial.

SMTP settings: smtp.resend.com, STARTTLS on 25, 587 or 2587, implicit TLS on 465 or 2465. Username resend, password your API key.

Resend is an API-first sending service, and its SMTP relay is on every plan.

Strengths

  • Five ports, with 2587 and 2465 as alternatives when the standard ports are blocked
  • The API key is the SMTP password, so there is one credential to manage
  • An idempotency header (Resend-Idempotency-Key) works over SMTP too, which stops duplicate sends on retries
  • Three custom domains and 30 days of data retention on the free plan
  • Open and click tracking on every plan, free included

Weaknesses

  • 100 a day means you reach 3,000 only by sending about 100 every day of the month
  • No port 2525. If your host blocks 587, use 2587 or 2465 instead.
  • The next plan up is Pro at $20 a month, with no plan in between

Checked on: Resend pricing, Resend SMTP docs.

5. Mailjet

Free tier: 6,000 emails a month, up to 200 a day, 1,000 contacts. No credit card. APIs, SMTP relay and webhooks are on the free plan.

SMTP settings: in-v3.mailjet.com, ports 25, 80, 587/588 and 2525 (TLS optional), or 465 (SSL). Use your API key and secret key from the SMTP section of your account.

Mailjet combines transactional email and campaigns in one product.

Strengths

  • 6,000 emails a month, with no card
  • Many ports, including 80 and 2525
  • Webhooks on the free plan

Weaknesses

  • 200 a day, so the monthly number only works with steady traffic
  • Logo removal ("No Mailjet logo") starts on the Essential plan, so check whether your free emails carry Mailjet branding
  • Basic statistics only on the free plan

Checked on: Mailjet pricing, SMTP relay configuration.

6. SendPulse

Free tier: 12,000 emails a month, but at most 400 a day and 50 an hour. 2 sending domains. No credit card.

SMTP settings: the host and credentials are on the SMTP dashboard. SendPulse says to use port 587 for TLS, or 2525 or 465 for SSL.

SendPulse is a marketing suite with an SMTP service. The free plan has the biggest monthly number in this list.

Strengths

  • 12,000 emails a month on paper
  • SMTP and API sending on the free plan
  • SendPulse keeps a year of SMTP sending history in the account

Weaknesses

  • 400 a day and 50 an hour, so you reach 12,000 only by sending every day of the month
  • On the free plan, SendPulse does not send emails larger than 1 MB
  • New accounts can start on an "SMTP Test" plan: 50 emails in total, 10 an hour, sent from a SendPulse test address with "For development purposes only" in the subject. You move to the free plan after you verify a domain and a sender address. Older accounts fill in a profile that moderators review, usually within 24 hours.

Checked on: SendPulse SMTP pricing, SMTP limits, SMTP setup guide.

7. Postmark

Free tier: the Developer plan, 100 emails a month. It never expires, needs no credit card, and does not allow overages.

SMTP settings: smtp.postmarkapp.com for transactional mail or smtp-broadcasts.postmarkapp.com for broadcasts, ports 25, 2525 or 587 with STARTTLS. Authenticate with a Server API token (as both username and password) plus a message stream header, or with an SMTP token (access key and secret key).

Postmark focuses on fast, reliable product email. The free plan is small but it is not cut down: the pricing table shows SMTP, the API, webhooks, inbound email and 45 days of message history on it.

Strengths

  • Almost the full feature set on the free plan, including inbound email
  • 45 days of activity and message retention
  • Separate SMTP hosts for transactional and broadcast mail, so the two do not share a stream
  • Postmark reviews every new account by hand, which helps keep its shared IPs clean

Weaknesses

  • 100 emails a month is enough to test an integration, not to run one
  • Until approval, you can send only to addresses on domains that you added and confirmed. Postmark says the review takes less than 24 hours on weekdays.
  • No implicit TLS port

Checked on: Postmark pricing, SMTP guide, account approval.

8. Mailgun

Free tier: 100 emails a day, 1 custom sending domain, 1 day of log retention, 2 API keys, 1 inbound route, 1 user.

SMTP settings: smtp.mailgun.org, STARTTLS on 25, 587 or 2525, TLS on 465. SMTP credentials are set per domain.

Mailgun is a long-standing developer email service. The free plan includes the REST API, the SMTP relay, tracking, analytics and webhooks.

Strengths

  • SMTP, tracking and webhooks on the free plan
  • Port 2525, which Mailgun notes Google Compute Engine allows for SMTP submission
  • One inbound route on the free plan

Weaknesses

  • One day of log retention, so yesterday's failed password reset can already be gone
  • 100 a day, with one domain and one user

Checked on: Mailgun pricing, Mailgun SMTP docs.

9. Amazon SES

Free tier: none that lasts. New AWS customers get up to $200 in AWS Free Tier credits, which also apply to SES. AWS's free plan lasts 6 months, and all credits must be used within 12 months of account creation. After that, sending costs $0.10 per 1,000 emails.

SMTP settings: a regional endpoint such as email-smtp.us-east-1.amazonaws.com, STARTTLS on 25, 587 or 2587, TLS wrapper on 465 or 2465. You create SMTP credentials through IAM, and the SMTP password is not your AWS secret access key.

SES is raw sending infrastructure, and SMTPfast runs on it. You get the pipe and build the rest.

Strengths

  • The lowest price per email once the credits run out
  • Five ports, including 2587 and 2465 as fallbacks
  • Fits an AWS account that already uses IAM, SNS and CloudWatch

Weaknesses

  • The credits are temporary, so the free part ends
  • New accounts start in a sandbox: only verified recipients, 200 messages per 24 hours, 1 per second, until AWS approves production access
  • No searchable per-message log by default: you set up event publishing to CloudWatch, Data Firehose, SNS, EventBridge or Pinpoint

Checked on: SES pricing, SES SMTP connection, SES sandbox.

10. Gmail

Free tier: your personal Gmail account. Gmail can block sending when you send to more than 500 recipients in one email or send more than 500 emails in a day.

SMTP settings: smtp.gmail.com, port 465 for SSL or 587 for TLS. Gmail no longer accepts apps that sign in with your normal Google password, so an app needs an app password, and app passwords work only with 2-Step Verification turned on.

Gmail SMTP is free, and you probably already have it. It works for a home lab, a NAS or a cron job that emails you. It is not a service for mail from an app to its users.

Strengths

  • Free, and nothing new to sign up for
  • Fine for alerts and reports that go to your own inbox

Weaknesses

  • Google itself says app passwords are not recommended, and it points mail clients to sign-in with a Google Account instead
  • Google Workspace is a paid product. Its smtp.gmail.com limit is 2,000 messages a day, and since 1 May 2025 Workspace accounts do not accept apps that sign in with a username and password.
  • When you reach a limit, Gmail can stop your sending for up to 24 hours, and that is the same account you use for your own mail

Checked on: Gmail sending limits, app passwords, Workspace: send email from a printer, scanner or app.

Also checked: trials and one-time credits

Three more services have something free, but it is a trial, a card-gated plan, or a one-time credit rather than a monthly free tier.

Provider What is free SMTP settings
Twilio SendGrid A 60-day trial with 100 emails a day, no credit card. Paid plans start with Essentials at $19.95 a month. smtp.sendgrid.net, username apikey, ports 25, 2525 or 587 (TLS), 465 (SSL)
MailerSend 500 emails a month, but MailerSend asks for card details on the free plan to prevent abuse. 100 API or SMTP requests a day, 1 domain, 1 SMTP user. smtp.mailersend.net, port 587, STARTTLS
Zoho CPaaS (formerly ZeptoMail) The first email credit is free: 10,000 emails, valid for 6 months. smtp.zeptomail.com, 587 (TLS) or 465 (SSL), username emailapikey

Checked on: SendGrid pricing, SendGrid SMTP docs, MailerSend pricing, MailerSend SMTP help, Zoho CPaaS pricing, Zoho CPaaS SMTP help.

Connect over SMTP: a short example

Whatever the provider, an SMTP client needs five values. These are SMTPfast's:

Host:     smtp.smtpfa.st
Port:     587 (or 2525 where 587 is blocked)
Security: STARTTLS
Username: smtpfast
Password: an SMTPfast API key with the email:send scope

Python's standard library is enough. No package to install:

import os
import smtplib
import ssl
from email.message import EmailMessage

msg = EmailMessage()
msg["From"] = "[email protected]"  # must be on a verified domain
msg["To"] = "[email protected]"
msg["Subject"] = "Your login code"
msg.set_content("Your code is 482913. It expires in 10 minutes.")
msg.add_alternative(
    "<p>Your code is <strong>482913</strong>. It expires in 10 minutes.</p>",
    subtype="html",
)

with smtplib.SMTP("smtp.smtpfa.st", 587, timeout=15) as smtp:
    smtp.starttls(context=ssl.create_default_context())  # TLS before credentials
    smtp.login("smtpfast", os.environ["SMTPFAST_API_KEY"])
    smtp.send_message(msg)

Three details matter in most clients:

  • Port 587 or 2525 means STARTTLS, not implicit TLS. In Nodemailer that is secure: false with requireTLS: true. In Django it is EMAIL_USE_TLS = True without EMAIL_USE_SSL. Set secure: true or SSL only for port 465 on providers that offer it.
  • Pass a verifying TLS context. ssl.create_default_context() checks the server's certificate and host name. Without one, smtplib falls back to a context that does not verify the certificate (true on the Python 3.11 we tested).
  • The From address must be on your verified domain. SMTPfast rejects mail from a domain that you have not verified, and most providers here do the same. Set up SPF, DKIM and DMARC first; our domain authentication guide explains each record.

When we connected to smtp.smtpfa.st on ports 587 and 2525 from Python, the server listed STARTTLS but no AUTH on the plain-text connection. After the upgrade, it offered AUTH PLAIN LOGIN. A fake key got 535 Authentication failed, which is the answer you want when you test a network path without a real key.

For Nodemailer, Django, Laravel and Postfix configurations, see the examples in our post on DigitalOcean's SMTP block. They work on any host.

How to pick

Your situation Pick Why
An app, CMS or framework that speaks SMTP, up to 3,000 emails a month SMTPfast SMTP on the free plan, no daily cap, and port 2525
A busy day well above 400 emails, such as a launch SMTPfast No daily cap: up to 100 an hour, so up to 2,400 in a day within the 3,000 a month
Your host blocks port 587 SMTPfast, Brevo, SMTP2GO, Mailjet, SendPulse, Mailgun or Postmark All seven accept port 2525. Resend offers 2587 and 2465 instead.
The most free mail per month SendPulse, Brevo or Mailjet 12,000 a month (400 a day), about 9,000 (300 a day) and 6,000 (200 a day)
The longest log history for free Brevo or SMTPfast Brevo's pricing FAQ promises unlimited log retention. SMTPfast keeps each email's record and events, and removes only the content after 30 days.
Attachments over SMTP Not SMTPfast yet Its relay rejects attachments today. Check the size limit of the provider you pick.
Test an integration on a strict, reviewed platform Postmark 100 a month, no expiry, and the full feature set
Your stack already runs on AWS Amazon SES Credits first, then $0.10 per 1,000, if you can wait for production access
A cron job or NAS that emails only you Gmail Free and already there, but not for mail to users

FAQ

Is there a free SMTP server for developers? Yes. Several SMTP relays have a free tier with no end date: SMTPfast (3,000 emails a month), Brevo (300 a day), SMTP2GO (1,000 a month), Resend (3,000 a month), Mailjet (6,000 a month), SendPulse (12,000 a month), Postmark (100 a month) and Mailgun (100 a day). Each has its own daily or hourly caps, so compare those too.

Which free SMTP service has the highest limit? SendPulse has the largest monthly number, 12,000 emails, but caps you at 400 a day and 50 an hour. Brevo allows 300 a day, about 9,000 a month. Mailjet allows 6,000 a month at 200 a day. SMTPfast allows 3,000 a month with no daily cap, only 100 an hour, which suits an uneven sending pattern.

Can I use Gmail's SMTP server for my app? Only for mail to yourself, such as alerts from a NAS or a cron job. A personal account can send about 500 emails a day, needs an app password with 2-Step Verification, and can be blocked for up to 24 hours when you reach a limit. For mail from an app to its users, use an SMTP relay.

Which SMTP port should I use? Use 587 with STARTTLS by default. Use 465 if your client wants TLS from the first byte. Use 2525 when your host blocks the standard ports: DigitalOcean blocks 25, 465 and 587 on Droplets. Set your client to require TLS in every case.

Is SendGrid's SMTP still free? Not permanently. Twilio SendGrid offers a 60-day trial with 100 emails a day, and paid plans start with Essentials at $19.95 a month.

Before you commit

Send a real message through your top two picks, from the actual app and the actual host. A port that works on your laptop can time out on a cloud server. Then send a message to an address that does not exist and see how fast the bounce shows in the log. Count your busiest day, not your average month, against the daily and hourly caps. And check the log retention against how fast your support team answers a "did my email arrive?" ticket.

Free tiers are for getting started. Pick the one whose limits you will reach last, and read the upgrade price before you need it.

Create a free SMTPfast account, or read the Emails API docs, which also list the SMTP settings.

Ready to get started?

Start sending transactional email today. Free to start, no credit card required.

Get Started for Free