Skip to content
itsorted.online
Email guide

SendGrid vs Mailgun vs Amazon SES for Website and App Emails

If your website's contact form, online store or app sends email, it should go through a proper sending service rather than your web host's mail server. SendGrid, Mailgun and Amazon SES are the three names most developers reach for. They all send reliably once DNS is set up properly; the differences are price, how much setup you do yourself and how they touch your SPF record. This guide compares published prices as of October 2026, the DNS records each one needs, and which suits a WordPress site, a Shopify store or a custom app.

By IT Sorted teamReviewed 9 min readHow we write guides
in

Key takeaways

  • Amazon SES charges US$0.10 per 1,000 emails on pay-as-you-go pricing, as of October 2026.
  • SendGrid's free trial sends 100 emails a day for 60 days; Essentials starts at US$19.95 a month.
  • Mailgun's free plan allows 100 emails a day; Basic starts at US$15 a month for 10,000 emails.
  • New SES accounts start in a sandbox: 200 emails per 24 hours, only to verified addresses.
  • SendGrid with automated security uses CNAMEs, so it adds nothing to your root SPF record.
In this guide · 9 sections
  1. 01SendGrid vs Mailgun vs Amazon SES at a glance
  2. 02What each one costs at small-business volumes
  3. 03DNS records each service needs
  4. 04SPF lookup cost: why Mailgun on the root domain can break SPF
  5. 05Shared vs dedicated IPs
  6. 06Setup for WordPress, Shopify and custom apps
  7. 07Which one to choose
  8. 08Do it yourself or get help?
  9. 09Frequently asked questions

Short answer

For low volumes with little admin, SendGrid or Mailgun are the easiest: both have free or trial tiers and simple dashboards. Amazon SES is far cheaper per email (US$0.10 per 1,000 on pay-as-you-go) but needs an AWS account, a sandbox exit request and more DNS work.

SendGrid vs Mailgun vs Amazon SES at a glance

All three are transactional email services: your website or app hands them a message over SMTP or an API, and they deliver it with proper authentication. Prices below are from each vendor's pricing page, in US dollars, approximate, as of October 2026.

Twilio SendGrid

Free trial, then from US$19.95/mo

  • Free trial: 100 emails a day for 60 days
  • Essentials from US$19.95/mo for 50,000 to 100,000 emails
  • Pro from US$89.95/mo, 1 dedicated IP included
  • Automated security manages SPF and DKIM through CNAME records

Best for: Small sites and apps that want a dashboard and minimal DNS upkeep.

Mailgun

Free, then from US$15/mo

  • Free plan: 100 emails a day, 1 custom sending domain
  • Basic from US$15/mo for 10,000 emails
  • Foundation US$35/mo (50,000), Scale US$90/mo (100,000)
  • SPF include adds 4 DNS lookups to the sending domain

Best for: Developers who want a clear API, inbound routing and a cheap starter plan.

Amazon SES

Cheapest per email

US$0.10 per 1,000 emails

  • Pay-as-you-go, no monthly fee on a-la-carte pricing
  • New accounts start in a sandbox until AWS approves production access
  • Easy DKIM with 2048-bit keys via three CNAMEs
  • Needs AWS account skills; support is through AWS

Best for: Apps sending tens of thousands of emails a month, with a developer to set it up.

Sources: SendGrid Email API pricing, Mailgun pricing and Amazon SES pricing. SendGrid's site now lives on Twilio.com; the old sendgrid.com pricing page redirects there.

What each one costs at small-business volumes

Most SME websites send a few hundred to a few thousand emails a month: enquiry notifications, order confirmations, password resets. At that level the free tiers or entry plans cover you, and the cost difference only shows once an app starts sending in volume.

Monthly volumeSendGridMailgunAmazon SES (a la carte)
Up to about 3,000Free trial (100/day, 60 days only)Free (100/day)About US$0.30
10,000Essentials, from US$19.95Basic, US$15About US$1
50,000Essentials, from US$19.95Foundation, US$35About US$5
100,000Pro, from US$89.95Scale, US$90About US$10
Approximate, as of October 2026, US dollars, before tax. SES adds US$0.12 per GB of attachments.

Amazon SES also offers plans. Since 21 July 2026, new SES accounts start on the Essentials plan (US$0.16 per 1,000 emails with deliverability insights), and you can switch to plain a-la-carte pricing at any time, according to the SES pricing page. Pro and Enterprise plans add a monthly fee of US$105 or US$500 per account per region.

DNS records each service needs

Every service needs DNS records on your domain before it can send as you@yourcompany.com without landing in spam. This is also where most setups go wrong. Our guide to SPF, DKIM and DMARC explains what each record does.

ServiceRecords you addEffect on your root SPF
SendGrid (automated security on)3 CNAMEs (return path and two DKIM keys) plus a DMARC TXTNone: SPF sits on the SendGrid subdomain
MailgunSPF TXT, DKIM TXT, tracking CNAME, MX for receivingAdds include:mailgun.org if you send from the root domain
Amazon SES3 Easy DKIM CNAMEs; for a custom MAIL FROM, an MX and SPF TXT on a subdomainNone if SPF is on the MAIL FROM subdomain

Details from the vendors' docs: SendGrid's domain authentication guide says automated security creates and maintains SPF and DKIM records for you, but it cannot be used if your DNS host rejects underscores in CNAME records. Mailgun's domain verification page lists v=spf1 include:mailgun.org ~all and MX records mxa and mxb.mailgun.org. Amazon SES's Easy DKIM signs every email with a 2048-bit key, and its custom MAIL FROM guide asks for an MX record pointing to feedback-smtp.region.amazonses.com and an SPF record with include:amazonses.com.

SPF lookup cost: why Mailgun on the root domain can break SPF

SPF allows at most 10 DNS lookups. We checked the live SPF records on 22 October 2026: include:mailgun.org costs 4 lookups (it nests three more includes), include:sendgrid.net costs 2, and include:amazonses.com costs 1 because it lists IP ranges directly.

If your root domain already includes Microsoft 365 or Google Workspace, a newsletter tool and a booking system, adding Mailgun there can tip you over the limit and make SPF fail for every message. Two fixes: send from a subdomain such as mg.yourcompany.com so its SPF lives on that subdomain, or use a service whose SPF sits on its own return-path subdomain. Our SPF too many lookups guide shows how to count yours.

Shared vs dedicated IPs

On entry plans, all three send from shared IP addresses whose reputation the vendor manages. A dedicated IP only helps when you send steady volume, usually tens of thousands of emails a month or more, because a new IP needs a warm-up period and an IP that sends a handful of emails looks suspicious to mailbox providers.

  • SendGrid: Pro and Premier include one dedicated IP; more can be bought as an add-on.
  • Mailgun: dedicated IP access from the 50,000 tier, one included from 100,000.
  • Amazon SES: Standard dedicated IPs cost US$24.95 per IP per month; Managed dedicated IPs warm up automatically.

For a contact form, store or booking site, stay on shared IPs. Spend the effort on DKIM, DMARC and a clean sending list instead.

Setup for WordPress, Shopify and custom apps

How you connect depends on the platform.

  1. WordPress: install an SMTP plugin

    Plugins such as WP Mail SMTP or FluentSMTP send WordPress mail through SendGrid, Mailgun or SES using an API key. Send a test email from the plugin, then submit your contact form and check the headers show DKIM pass.

  2. Shopify: you usually don't need one

    Shopify sends store notifications itself. Authenticate your sender domain in Shopify's notification settings instead of adding a third-party service.

  3. Custom apps: use the API, not SMTP

    Each vendor has official libraries. The API gives clearer error messages, bounce webhooks and suppression lists. Keep the API key in an environment variable, never in code.

  4. Amazon SES: request production access

    New SES accounts are in a sandbox: 200 messages per 24 hours, one per second, and only to verified addresses, per the SES production access guide. Request production access before launch.

  5. Handle bounces and complaints

    Turn on bounce and complaint webhooks or notifications, and stop sending to addresses that bounce. Sending services can pause accounts with high bounce or complaint rates.

If enquiry emails from your site already go missing, start with our guide to contact form emails not arriving.

Which one to choose

A simple rule of thumb for Singapore SMEs:

SituationGood fitWhy
Brochure site or WordPress contact formSendGrid or Mailgun free/entry tierQuick dashboard setup, low volume
Shopify storeShopify's own emailAlready included; authenticate your domain
Custom app with growing volumeAmazon SESLowest cost per email, scales without plan changes
Inbound email parsing (replies into an app)MailgunInbound routes, with 1 included on the free plan
Root SPF already near 10 lookupsSendGrid or SESTheir SPF sits on a subdomain

Note that SendGrid's free option is a 60-day trial, not a permanent free plan, so budget for Essentials if you pick it for a live site.

Do it yourself or get help?

If you can edit DNS and install a WordPress plugin, a SendGrid or Mailgun setup takes an hour or two. Most of the work is adding the records exactly as shown and testing that DKIM and DMARC pass.

Before you go live

Our Emails Land in Spam fix (S$249) takes an inventory of every service sending as your domain, sets SPF, DKIM and DMARC correctly and monitors DMARC for 14 days. If you only need the domain and DNS records set up, Domain & DNS Setup is S$99. IT Sorted is a Singapore-based team of developers with over 10 years of experience; you pay upfront and brief us in writing.

Frequently asked questions

Per email, yes. As of October 2026 Amazon SES a-la-carte pricing is US$0.10 per 1,000 emails, so 50,000 emails cost about US$5. SendGrid Essentials starts at US$19.95 a month and Mailgun Foundation is US$35 a month for that volume. SES needs more technical setup and has no free permanent tier for new accounts beyond AWS credits.

As of October 2026 SendGrid's Email API pricing page lists a free trial that sends 100 emails a day for 60 days, with no credit card required. After that you need a paid plan, starting with Essentials at US$19.95 a month. Mailgun still lists a free plan with 100 emails a day and one custom sending domain.

Every new SES account starts in a sandbox for each AWS region. In the sandbox you can send at most 200 messages per 24 hours, one message per second, and only to verified addresses. You request production access in the SES console, describing what you send and how you handle bounces. Do this before your app goes live.

It can. The include:mailgun.org mechanism costs four DNS lookups, and SPF allows ten. If your root domain already includes Microsoft 365 or Google Workspace and other tools, you may exceed the limit and fail SPF. Sending from a subdomain such as mg.yourcompany.com keeps Mailgun's SPF off your main domain.

Usually not. A dedicated IP only helps with steady high volume, often tens of thousands of emails a month, because it must be warmed up and needs regular sending to keep a good reputation. Small websites and stores do better on the vendor's shared IPs with proper DKIM, SPF and DMARC.

Rather have it done for you?

Fixed price, set up in your own accounts.

Order online, get a written scope, and keep full ownership of everything we set up. Questions first? Ask us in writing.