Resend as a WordPress SMTP Server

Resend covers most WordPress sites free, forever: 3,000 emails a month, 100 a day, no credit card, no time limit. That handles password resets, contact-form notifications, and low-volume WooCommerce order confirmations from a small store without ever crossing the meter. Setup is one of three paths a WordPress operator already knows: a dedicated third-party plugin (Send Emails with Resend, by CloudCatch), native support in WP Mail SMTP, or generic SMTP through any mailer. The interface is agnostic to what runs on the server; PHP, WordPress, and a headless JavaScript front-end all reach the same API.

Resend launched in 2022 and now sits alongside Postmark and SMTP2GO as one of a small group of modern transactional providers that treat the free tier as a first-class product rather than a trial. Pro starts at $20 a month for 50,000 emails; Scale runs from $90 for 100,000 and up. The operational catch on the free tier is the daily cap: 100 a day matches the monthly average exactly, so a WooCommerce store having a busy day with 150 orders will hit it. Sites with a real sales rhythm belong on Pro from day one.

SMTP settings

Setting Value
Host smtp.resend.com
Port 587 (STARTTLS, recommended) or 465 (SSL/TLS)
Encryption STARTTLS for port 587, SSL/TLS for port 465
Authentication PLAIN
Username resend (literal string, not your account email)
Password Your Resend API key (re_... format)

The username is always the literal string resend. The password is an API key generated in the Resend dashboard under API Keys. Keys are shown once at creation; copy immediately. Resend supports many keys per account, which is useful for rotating credentials or scoping a key to a single WordPress site (see Team, domains, and regions below).

For API-based sending (preferred over SMTP if your WordPress mailer plugin supports it), the endpoint is api.resend.com and the API key is the bearer token. WP Mail SMTP uses the API path by default when Resend is selected as the mailer.

DNS authentication

Resend requires domain verification before sending production email. The flow is similar to Postmark and Mailgun: add records to your domain’s DNS, click Verify in the Resend dashboard, wait for propagation.

Two records:

SPF / Return-Path. A TXT record at a Resend-specified subdomain (typically send.yourdomain.com) authorising Resend’s sending infrastructure. Resend uses subdomain delegation rather than asking you to modify your root SPF record, which keeps your existing email setup intact when you add Resend as an additional sender.

DKIM. A TXT record at resend._domainkey.yourdomain.com containing Resend’s public key for your domain. Resend signs each outgoing message with the matching private key; the receiving server retrieves your DNS record to verify the signature.

Verification typically completes within minutes for major DNS hosts (Cloudflare, Route 53, registrar-native DNS). For slower DNS providers, allow up to 48 hours. After verification, test with swaks to confirm authentication passes end-to-end before switching production traffic.

DMARC is not Resend-specific but is recommended (and required by Gmail and Yahoo for senders above 5,000 daily messages). Resend’s documentation walks through DMARC alongside its own setup; for the broader WordPress context, see How to set up DNS for WordPress email.

Pricing

Plan Price Volume Key inclusions
Free $0 3,000/month, 100/day One domain, 30-day log retention
Pro $20/month ($35 for 100K) 50,000/month Up to 10 domains, multiple team members, 30-day log retention
Scale From $90/month From 100,000/month Up to 1,000 domains, higher rate limits, dedicated IP add-on ($30/month, requires 3,000+ daily emails)
Enterprise Custom Negotiated volumes Dedicated infrastructure, SLAs, custom data residency

Scale tiers from $90/100K up to $1,150/2.5M with overage rates that decline as volume rises. Data retention is 30 days across all four tiers as of mid-2026; the differentiation between tiers is domain count, team-member headroom, dedicated-IP availability, and rate-limit ceiling. Check resend.com/pricing for current values rather than relying on the table above to be exact.

Overages on paid tiers are pay-as-you-go and hard-capped at five times the monthly quota by default (Resend will pause sending until the next billing cycle if you hit the cap, and support can raise it). Per-message overage on Pro is $0.90 per 1,000 emails; sending 75,000 emails on the Pro base tier costs $20 + (25 × $0.90) = $42.50. The $35/month Pro variant includes 100,000 emails and is the cheaper steady-state path for predictable mid-volume sending. By comparison, Postmark‘s Basic tier is $15 for 10,000 emails with $1.80/1,000 overages; at 75,000 emails that is $15 + (65 × $1.80) = $132. Resend is meaningfully cheaper at mid-volume, though Postmark’s pricing is structured for steady high-volume use that Pro-tier-and-up Resend customers eventually grow into.

The free tier is permanent and beats Mailgun (trial-only) and Postmark (100/month free, testing-only). It is less generous than SMTP2GO‘s 1,000/month (which has its own 200/day cap), but the 3,000-monthly headroom on Resend covers more sites in practice.

Free tier

3,000 emails/month, 100/day, with one custom sending domain and 30-day log retention. SMTP and API access are both live; the WP Mail SMTP integration works exactly the same as it does on Pro. No credit card at signup. Webhooks are included on the free tier, which is unusual in the category; Elastic Email and Mailjet reserve them for paid tiers.

The 100-per-day rate limit is the catch. 3,000 emails/month averages 100/day, and Resend’s daily cap sits at that exact average, so there is no headroom for a busy day. Messages over the cap are deferred or rejected depending on configuration. The tier fits contact-form-and-password-reset sites, single-author blogs, dev and staging accounts, and any site whose transactional pattern is even across the month.

WordPress integration paths

Four paths, in the order most WordPress operators reach for them.

Send Emails with Resend (by CloudCatch). A dedicated third-party plugin on the WordPress.org repository that swaps out PHPMailer for a direct call to Resend’s API. 1,000 active installs, actively maintained (v1.3.0 in March 2026, tested up to WordPress 6.9.5). Configuration is one settings page: paste an API key, save. Neither the plugin nor CloudCatch is affiliated with Resend, but the plugin is small in scope and does the one job well. This is the path for operators who want Resend and only Resend, without the broader feature surface of a WP Mail SMTP or FluentSMTP.

WP Mail SMTP has native Resend support in its free tier (Resend is one of the free mailers per the SMTP plugin roundup). Select Resend as the mailer, paste the API key, configure the From address. The plugin uses Resend’s API rather than SMTP, which bypasses host-level port blocking. This is the path for operators who want a familiar interface, email logging, and the option to fall back to a second mailer.

FluentSMTP supports Resend via its generic-API connection type. Setup is more manual than WP Mail SMTP’s guided flow but is fully functional and free.

Generic SMTP through any mailer plugin (Post SMTP, Easy WP SMTP, the bundled SMTP support in any forms plugin). Use the SMTP settings above with resend as the username and your API key as the password. This is the path for operators who already have a mailer they trust and just need to point it somewhere.

A fifth path is a hand-written plugin against Resend’s REST API. This is a small job (a couple hundred lines of PHP) for a developer who wants scoped API keys per site, idempotent retry, or batch send for a bulk-notification product. Everything a mature transactional API tends to offer is in Resend’s surface: see The API surface below.

Team, domains, and regions

A WordPress agency running Resend across a portfolio of client sites can lean on three features that are less prominent in the marketing than they deserve:

Multiple teams under one login. One email address can own or belong to many Resend teams, each with its own domains, billing, and API keys. Agency staff hold Admin or Member roles per team; Members can manage emails, domains, and webhooks, and Admins can additionally invite users, update billing, and delete the team. Resend does not publish a seat cap on any tier as of mid-2026.

Domain-scoped API keys. A key can be restricted to a single domain and to sending-only permissions (sending_access), which lets an agency issue one key per client site without exposing the rest of the estate. Full-access keys and sending-only keys are the two documented permission levels; both can carry a domain_id restriction.

Per-domain regions. Each domain is assigned to one of four regions when it is added: North Virginia (us-east-1), Ireland (eu-west-1), São Paulo (sa-east-1), or Tokyo (ap-northeast-1). That covers most data-residency requirements a European or Asia-Pacific client is likely to raise. Account metadata itself is stored in the US regardless of sending region, so a strict-EU-only requirement is worth confirming against Resend’s current DPA. Changing a domain’s region means deleting and re-adding the domain, and updating DNS records to point at the new region.

For an individual WordPress operator, these are latent capabilities rather than daily conveniences. For an agency, they change the shape of Resend from “one provider we recommend” to “a substrate that scales with the client roster.”

Webhooks and event logging

Resend publishes a webhook event stream for delivered, opened, clicked, bounced, complained, and failed events (plus other event types covering domain and contact lifecycle changes that are not relevant to a typical WordPress operator). Webhooks are configured per-domain in the Resend dashboard with an HTTP endpoint URL and an event-filter list. The payload is JSON with type, created_at, and data fields, plus an svix-id header for deduplication; Resend retries failed deliveries on a fixed schedule of 5 seconds, 5 minutes, 30 minutes, 2 hours, 5 hours, and 10 hours before giving up.

For a WordPress operator who wants delivery events logged into the site’s database, the practical paths are three. The simplest is to skip webhooks entirely and hook into WordPress’s wp_mail_succeeded and wp_mail_failed action hooks at send time, which gives a per-send record without any external dependency; this misses bounce and complaint events (which arrive asynchronously), but it covers the most common operator need of “did the send leave WordPress without error”. The second is to register a custom REST endpoint at wp-json/<namespace>/<route> that accepts Resend’s POST callbacks and writes them to a custom table or post type; this is a few dozen lines of plugin code and captures the async events. The third is to point Resend’s webhook URL at an external service (a Cloudflare Worker, an AWS Lambda, an n8n or Zapier flow) that handles persistence outside WordPress and exposes the data to the site through the REST API or a dashboard widget; this is the right shape for higher-volume operations where webhook handling inside WordPress would compete for PHP-worker capacity.

The mainstream mailer plugins do not currently include an inbound webhook listener for sending-service delivery events. WP Mail SMTP’s webhook feature is an outbound failure-alert channel (you point it at an alerting endpoint, and it fires when a send fails); FluentSMTP’s notification settings have the same shape. Neither is the receive-side primitive the Resend webhook stream needs.

For operators who need guaranteed delivery-event records for compliance or audit, the correct primitive is not the webhook stream at all but Resend’s email-detail API, which accepts the message ID returned at send and returns the message’s lifecycle events on demand. Webhooks are fire-and-forget; the API endpoint is the system of record.

The API surface, if you build against it

Resend’s public API covers what a modern email operation tends to need: single send, batch send (up to 100 emails in one call), scheduled and cancelable sends, idempotency keys (24-hour expiry, per-request, up to 256 characters), templates with version history, suppressions, contacts and audiences, broadcasts, inbound receiving, OAuth 2.1 + PKCE with dynamic client registration, and webhooks with a fixed retry schedule. The rate limit is 10 requests per second per team, with batches counting as one request.

For a WordPress operator happy with the mainstream mailer plugins, none of this is a daily concern. For a developer building a custom plugin against Resend, everything a mature transactional API tends to offer is available. Idempotency keys in particular are worth reaching for: a WordPress site that retries wp_mail() on a transient error will not double-send a password reset if the same idempotency key rides both attempts.

The one part of Resend’s marketing that does not translate to WordPress is React Email. React Email composes templates in React components before sending, which is not what wp_mail() does. React Email is meaningful for a JavaScript application-layer sender: a headless WordPress front-end, a Next.js or Astro or SvelteKit site whose transactional email originates in the framework code. For those architectures, Resend is the natural default. For a conventional WordPress send path, React Email is a feature that stays dormant, and the recommendation for using Resend stands on the free tier, the pricing, the integration paths, and the agency-shaped features above.

The developer-experience benefits that do translate: the dashboard is one of the cleaner in the category for the routine “did yesterday’s emails go out” question; API-key generation is faster than SES‘s IAM path; the docs are organised as a modern API reference. Real, marginal wins for the developer setting the plugin up.

Verdict

Resend is a strong choice for a WordPress site at any size. The free tier covers most sites permanently; the Pro tier is competitive against Postmark and SES in the 50-100K-a-month bracket; per-domain regions, domain-scoped API keys, and multi-team support make it particularly well-suited to agencies. The dedicated third-party plugin, native WP Mail SMTP support, and generic SMTP all work.

Sites already on Postmark, SES, or SMTP2GO with clean historical deliverability data have no operational reason to migrate. That is a comment on switching cost, not on Resend: if what you run already works, keep running it. For a new site, a new client, or a site whose current provider is not serving it well, Resend belongs on the shortlist.

For the broader setup that places Resend inside the WordPress email stack, see the WordPress email setup guide.

Resend detailsWebsite ↗
Pricing Url
View ↗
Docs Url
View ↗
Owner
Resend, Inc.
Founded
2022
Data Residency
us, eu, sa, ap
Smtp Host
smtp.resend.com
Smtp Ports
587, 465
Auth Methods
smtp-credentials, api-key
Api Send
Free Tier
Free Tier Notes
Permanent free tier: 3,000 emails/month, 100/day, no time limit, one domain
Entry Price
20
Entry Volume
50000
Pricing Notes
Pro $20/mo for 50,000 emails or $35/mo for 100,000; Scale from $90/100K to $1,150/2.5M; overage capped at 5x monthly quota by default
Pricing Verified
2026-08-06
Dedicated Ip
Scale tier add-on at $30/month; requires 3,000+ daily emails
Webhooks
Capabilities Verified
2026-08-06
Works With
wp-mail-smtp, fluent-smtp
Wp Integration Verified
2026-08-06
Verdict
A strong default for a WordPress site at any size. 3,000 emails a month free permanently, a dedicated third-party plugin plus native WP Mail SMTP support, competitive Pro-tier pricing, and per-domain regions across North Virginia, Ireland, São Paulo, and Tokyo. Multiple teams per login, domain-scoped API keys, and 10 domains on Pro make Resend particularly well-suited to agencies.
Best For
WordPress sites of any size that want a permanent free tier, a clean API and dashboard, or per-site scoped API keys. Especially useful for agencies managing many client sites from one login.