If you're considering migrating from Postmark 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
Postmark and Resend are both email delivery services, but they have different histories and focuses.
Key differences
Both Postmark and Resend provide user-friendly dashboards for managing your email sending.
Sender Signatures
In Postmark you need a confirmed Sender Signature or Verified Domain for each email address you want to send from.
Resend has the concept of Domains which allows you to send from any address under that domain.
Both Postmark and Resend offer similar authentication features.
Name | Postmark | Resend |
---|---|---|
DKIM | DKIM enforced | DKIM enforced |
SPF | SPF optional | SPF enforced |
DMARC | DMARC recommended | DMARC recommended |
Servers
When you log into Postmark you are placed in the Servers page. These Servers let you separate your transactional, broadcasts, and inbound message streams.
When you log in to Resend, you are taken straight to the Emails page. This page allows you to see all emails sent without needing to set up a server first.
Message Streams
Postmark separates email traffic through Message Streams, meaning transactional and broadcast traffic never intersect.
Resend does not have this concept, and all emails are sent through the same stream.
Once you send emails, you can view their aggregated statuses in the Metrics page.
Both Postmark and Resend provide official SDKs for various programming languages, making it easy to integrate into your application.
Key differences
Platform | Postmark | Resend |
---|---|---|
Node.js | postmark.js | resend-node |
PHP | postmark-php | resend-php |
Python | - | resend-python |
Ruby | postmark-gem | resend-ruby |
Go | - | resend-go |
Rust | - | resend-rust |
Java | postmark-java | resend-java |
.NET | postmark-dotnet | - |
Both Postmark and Resend provide a REST API and SDKs for sending emails programmatically.
Key differences
Authentication
X-Postmark-Server-Token
) to authenticate (see docs).Authorization: Bearer
) to authenticate requests (see docs).Rate limiting
Logging
Postmark
const postmark = require('postmark');var serverToken = "server-token";var client = new postmark.ServerClient(serverToken);client.sendEmail({"From": "sender@example.com","To": "receiver@example.com","Subject": "hello world","TextBody": "<p>it works!</p>"});
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 Postmark 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
Authentication
Configurations
Configuration | Postmark | Resend |
---|---|---|
Host | `smtp-broadcasts.postmarkapp.com` or `smtp.postmarkapp.com` | `smtp.resend.com` |
Port | 25, 587, or 2525 | 25, 465, 587, 2465, or 2587 |
Username | Postmark Server API Token or Access Key | The '`resend`' string |
Password | Postmark Server API Token or Secret Key | Resend API key |
Authentication | Plain text (unencrypted), CRAM-MD5, TLS | SMTPS or STARTTLS |
Both Postmark and Resend provide webhooks to notify your application of email events.
Key differences
Event | Postmark | Resend |
---|---|---|
Inbound | Inbound | - |
Send | - | email.sent |
Delivery | Delivery | email.delivered |
Delivery Delayed | - | email.delivery_delayed |
Bounces | Bounce | email.bounced |
Complaints | Spam Complaint | email.complained |
Open Tracking | Open | email.opened |
Click Tracking | Click | email.clicked |
Unsubscribe | Subscription Change | contact.updated |
Postmark and Resend have robust security features, but some major differences exist.
Key differences
Name | Postmark | Resend |
---|---|---|
Authentication | Email/Password | Email/Password, Google, GitHub |
Single Sign-On | - | SSO available |
Multi-Factor Auth | MFA available | MFA available |
GDPR | GDPR compliant | GDPR compliant |
SOC 2 | - | SOC 2 compliant |
Outside of core email sending, Resend offers additional features that Postmark 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
Schedule email API
Use the new Resend API to schedule emails without using external services.
Schedule email API
Send emails at a specific time without additional complexity.
resend.com/blog/introducing-the-schedule-email-api
Deliverability Insights
Improve your chances of landing in the inbox instead of the spam folder with detailed recommendations.
Deliverability Insights
Improve email deliverability by identifying issues and applying best practices.
resend.com/blog/deliverability-insights
Multi-Region
Improve your email deliverability speed by using a region nearest to your users.
Faster Email Delivery with Multi-Region
Faster deliverability with reduced latency.
resend.com/blog/multi-region
Postmark and Resend offer competitive pricing based on the number of emails sent.
Key differences
Emails | Postmark | Resend |
---|---|---|
3,000 | $15 | $0 |
50,000 | $55 | $20 |
100,000 | $115 | $35 |
200,000 | $245 | $160 |
500,000 | $455 | $350 |
1,000,000 | $775 | $650 |
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.