Skip to main content
Comparison

AWS SES vs Mailgun for Cold Email

Cost and policy comparison for teams deciding between raw sending infrastructure and a managed transactional email API.

What AWS SES Is Built For

Amazon SES is a raw email sending API. It accepts messages and delivers them. There is no campaign builder, no analytics dashboard, no template editor, and no warmup scheduler. You bring the message; SES handles delivery. Sequences, follow-ups, and reply detection all require a separate tool on top.

SES is built for developers and teams who need reliable delivery at scale without per-account or monthly plan costs. Your reputation lives in your AWS account, isolated from other SES customers by default. One account scales from hundreds to millions of emails per month without changing providers or restructuring how you pay.

What Mailgun Is Built For

Mailgun is a transactional email API built for developers sending programmatic email at scale. It was built for application-triggered messages: password resets, account notifications, order confirmations, and similar system-generated sends. The product adds delivery analytics, template management, email validation, and inbox placement testing on higher tiers.

Like SES, Mailgun is infrastructure, not a cold email tool. What it adds over SES is a more polished developer experience, granular delivery analytics, and managed shared IP reputation for lower-volume senders. The tradeoff is significantly higher per-email cost and an acceptable use policy that explicitly prohibits cold email regardless of plan tier or IP type.

Pricing: Real Numbers

AWS SES charges $0.10 per 1,000 emails. No monthly minimums, no plan tiers for sending volume. At 50,000 emails per month the cost is $5. At 100,000 it is $10. At 500,000 it is $50.

Mailgun uses monthly plan tiers. The Foundation plan at $35 per month covers 50,000 emails on shared IPs. The Scale plan at $90 per month covers 100,000 emails and includes one dedicated IP. Neither plan has a 500,000-email tier. Sending 500,000 per month on Scale means paying the $90 base plus 400,000 overage emails at $1.10 per 1,000 — approximately $530 per month. Mailgun recommends contacting sales for Enterprise pricing at that volume, which may be lower than overage billing.

The cost gap is consistent at every level. At 50,000 emails per month, SES costs $5 versus Mailgun's $35 — a 7x difference. At 100,000 emails, SES costs $10 versus $90 — a 9x difference. At 500,000 emails, SES costs $50 versus approximately $530 — roughly a 10x difference. For high-volume senders, the annual savings of choosing SES over Mailgun at 500k emails per month exceeds $5,700.

Cold Email Policy

AWS SES permits cold email with compliance requirements. You must follow CAN-SPAM regulations, include unsubscribe mechanisms, and keep bounce rates below 5 percent and complaint rates below 0.1 percent. Within those limits, sending to business contacts who have not previously opted in is allowed.

Mailgun explicitly prohibits cold email. Their acceptable use policy requires express opt-in consent for all non-transactional email, collected through a confirmed single or double opt-in system. Purchasing, renting, or scraping contact lists is prohibited. There is no B2B carve-out — the same opt-in requirement applies regardless of whether recipients are consumers or business professionals.

Mailgun enforces this. They monitor bounce rates (5% threshold), spam complaints (0.08% threshold), and block rates (20% threshold). Cold email consistently exceeds all three. Accounts sending cold email are suspended. Building a cold email operation on Mailgun means building on infrastructure designed to remove that use case.

Infrastructure and IP Control

AWS SES ties your sending reputation to your AWS account by default. No other SES customer shares your IP unless you explicitly opt into shared infrastructure. You control your domain authentication — SPF, DKIM, and DMARC — under your own domain. Every deliverability signal inbox providers track comes from your account history, not from a pool of other senders.

Mailgun's Foundation plan uses shared IPs. Your reputation on those IPs depends partly on what every other Foundation-tier sender is doing. The Scale plan includes one dedicated IP, which isolates you from other senders. Additional dedicated IPs cost $59 per month each. For cold email specifically, the IP isolation question is irrelevant — Mailgun prohibits cold email on every plan regardless of IP type.

Setup Complexity

AWS SES requires more upfront configuration. You need an AWS account, IAM credentials scoped for SES, DNS records for domain verification, DKIM setup, and a production access request before you can send to external addresses. SES starts in sandbox mode — you can only send to verified addresses until AWS approves production access, which typically takes 24 to 48 hours.

Mailgun setup is more straightforward. You create an account, verify your domain through DNS, generate an API key, and you can send. Most developers complete setup in under an hour. The API documentation is thorough and the onboarding flow handles the main configuration steps.

Feature Comparison

Factor AWS SES Mailgun
Pricing model$0.10 per 1,000 emails, no minimumMonthly plan tiers with overage rates
Cost at 50k/month$5/mo$35/mo (Foundation, shared IPs)
Cost at 100k/month$10/mo$90/mo (Scale, 1 dedicated IP)
Cost at 500k/month$50/mo~$530/mo (Scale + overage)
Cold email policyAllowed with CAN-SPAM complianceProhibited — opt-in required
IP typeDedicated to your AWS accountShared (Foundation) or dedicated (Scale, $90+/mo)
Setup complexityHigh — IAM, DNS, DKIM, sandbox exitModerate — DNS verification, API key

Which One Fits Your Situation

Use AWS SES if cold email outreach is your use case. It is the only option of the two that permits it. SES also wins on cost at every volume level, gives you full reputation isolation, and scales without changing infrastructure. The setup overhead is real but one-time. If someone on your team is comfortable with AWS IAM and DNS, SES is the right infrastructure for outreach.

Use Mailgun if your sending is transactional — application notifications, password resets, shipping confirmations, or account alerts. Mailgun's managed delivery, granular analytics, and email validation tools have genuine value for application email. The Foundation plan at $35 per month for 50,000 transactional sends is straightforward, and the API is well-documented. For development teams already in the Sinch ecosystem or needing detailed bounce classification, Mailgun is a solid choice for the use case it is built for.

Do not use Mailgun for cold email regardless of plan tier. The policy is actively enforced, the complaint thresholds that trigger suspension are consistently exceeded by cold outreach, and there is no dedicated IP workaround that changes the acceptable use terms. You will lose the account and need to rebuild on different infrastructure.

How EmailQo Works with SES

EmailQo connects directly to your Amazon SES account as the sending layer. You provide SMTP credentials from your AWS account, and EmailQo handles sequences, follow-ups, sender rotation, reply detection, and unsubscribe processing on top. AWS bills you directly at $0.10 per 1,000 emails with no markup from EmailQo. Every EmailQo plan includes built-in warmup for SES-connected accounts and pre-send inbox health checks that validate DNS authentication, scan content for spam triggers, and check blacklist status before each campaign goes out.

Related Resources

Your emails deserve the inbox.

7 days free. No card. Cancel anytime.

Start free trial
No card needed
7 days free
Cancel anytime

Keep reading

Related resources

Comparison

EmailQo vs Instantly: Honest Comparison

Honest comparison of EmailQo and Instantly for cold email. Infrastructure, warmup, pricing, and features compared side by side.

Comparison

EmailQo vs SmartLead: Honest Comparison

Honest comparison of EmailQo and SmartLead for cold email outreach. See how infrastructure, pricing, and features differ.

Comparison

EmailQo vs Lemlist: Honest Comparison

Honest comparison of EmailQo and Lemlist. Pricing, warmup, deliverability features, and sending infrastructure compared.

Alternative

Instantly Alternative With Your Own Sending Infrastructure

Instantly uses shared sending pools. EmailQo routes through your own AWS SES. Own your reputation instead of sharing it with thousands of senders.

Alternative

Smartlead Alternative With Dedicated Sending Infrastructure

Smartlead shares your sending reputation with other users. EmailQo gives you your own AWS SES infrastructure. Dedicated sending from $19/mo.