If you're considering migrating from Mailgun to Resend, you're in the right place.
This guide will help you understand the key differences between the two services and provide you with the necessary steps to make the transition as smooth as possible.
Jump ahead
Mailgun and Resend are both email delivery services, but they have different histories and focuses.
Key differences
Both Mailgun and Resend provide user-friendly dashboards for managing your email sending.
Domains
In Mailgun and Resend you need to access the Domains page to verify your domain.
Both Mailgun and Resend offer similar authentication features.
Name | Mailgun | Resend |
---|---|---|
DKIM | DKIM enforced | DKIM enforced |
SPF | SPF enforced | SPF enforced |
DMARC | DMARC not displayed | DMARC recommended |
Activity Feed
When you send email through Mailgun, sent email is visible on the Dashboard page.
When you send email with Resend, emails are visible on the Emails page.
Dashboard
Mailgun shows sending statistics on the Reporting page.
In Resend, statistics are shown on the Metrics page.
Both Mailgun and Resend provide official SDKs for various programming languages, making them easy to integrate into your application.
Key differences
Platform | Mailgun | Resend |
---|---|---|
Node.js | mailgun.js | resend-node |
PHP | mailgun-php | resend-php |
Python | - | resend-python |
Ruby | mailgun-ruby | resend-ruby |
Go | mailgun-go | resend-go |
Rust | - | resend-rust |
Java | mailgun-java | resend-java |
Both Mailgun and Resend provide a REST API (HTTP) and SDKs for sending emails programmatically.
Key differences
Mailgun
const formData = require('form-data');const Mailgun = require('mailgun.js');const mailgun = new Mailgun(formData);const mg = mailgun.client({username: 'api', key: process.env.MAILGUN_API_KEY || 'key-yourkeyhere'});mg.messages.create('sandbox-123.mailgun.org', {from: "Excited User <mailgun@sandbox-123.mailgun.org>",to: ["test@example.com"],subject: "hello world",text: "Testing some Mailgun awesomness!",html: "<h1>Testing some Mailgun awesomness!</h1>"}).then(msg => console.log(msg)).catch(err => console.error(err));
Resend
import { Resend } from 'resend';const resend = new Resend('re_123456789');await resend.emails.send({from: 'Acme <onboarding@resend.dev>',to: ['delivered@resend.dev'],subject: 'hello world',html: '<p>it works!</p>',});
Both Mailgun and Resend support sending emails via SMTP.
SMTP stands for Simple Mail Transfer Protocol. It is a text-based protocol in which one server communicates with another to send an email.
Key differences
Configurations
Configuration | Mailgun | Resend |
---|---|---|
Host | `smtp.mailgun.org` | `smtp.resend.com` |
Port | 25, 2525, 587, or 465 | 25, 465, 587, 2465, or 2587 |
Username | The created username | The '`resend`' string |
Password | The created password | Resend API key |
Authentication | Plain text (unencrypted), STARTTLS | SMTPS or STARTTLS |
Both Mailgun and Resend provide webhooks to notify your application of email events.
Key differences
Event | Mailgun | Resend |
---|---|---|
Inbound | - | - |
Send | - | email.sent |
Delivery | delivered | email.delivered |
Delivery Delayed | temporary_fail | email.delivery_delayed |
Bounces | permanent_fail | email.bounced |
Complaints | complained | email.complained |
Open Tracking | opened | email.opened |
Click Tracking | clicked | email.clicked |
Unsubscribe | unsubscribed | contact.updated |
Mailgun and Resend both have robust and similar security features.
Key differences
Name | Mailgun | Resend |
---|---|---|
Authentication | Email/Password | Email/Password, Google, GitHub |
Single Sign-On | SSO available | SSO available |
Multi-Factor Auth | MFA available | MFA available |
GDPR | GDPR compliant | GDPR compliant |
SOC 2 | SOC 2 compliant | SOC 2 compliant |
HIPAA | HIPAA compliant | - |
Outside of core email sending, Resend offers additional features that Mailgun does not have that may be helpful for you.
No-code editor
The no-code editor makes it easy for anyone to write, format, and send broadcast emails.
Send Marketing Emails with Resend Broadcasts
Enabling anyone to send email campaigns without code.
resend.com/blog/send-marketing-emails-with-resend-broadcasts
Multi-Region
Improve your email deliverability speed by using a region nearest to your users, with options beyond the US and EU.
Faster Email Delivery with Multi-Region
Faster deliverability with reduced latency.
resend.com/blog/multi-region
Mailgun and Resend offer competitive pricing based on the number of emails sent.
Key differences
Emails | Mailgun | Resend |
---|---|---|
3,000 | $0 | $0 |
50,000 | $35 | $20 |
100,000 | $75 | $35 |
200,000 | $215 | $160 |
500,000 | $400 | $350 |
1,000,000 | $700 | $650 |
1,500,000 | $1,250 | $1,250 |
Ready to migrate to Resend? Press S
to get started. If there's anything else we can help with, contact our team, and we'll answer any questions you have.