MakiSend vs Resend

Resend is a hosted email provider: its servers send your mail. MakiSend is the API, queue, retries, logs and dashboard, running in your own Cloudflare account, and it hands each email to the SMTP provider you pick.

Last updated · Markdown version

At a glance

ResendMakiSend
Where it runsResend's serversYour Cloudflare account
PriceFree up to 100 emails a day, then from $20 a monthFree. Hundreds of emails a day on Workers Free, no daily cap on Workers Paid ($5 a month)
Who sends the mailResendYour SMTP provider or Cloudflare Email Service
Your dataStored by ResendAES-256 encrypted in your own D1
Servers to manageNoneNone

Resend prices from resend.com/pricing, read in October 2026. Cloudflare quotas from its Workers Free and Paid plans.

When Resend is the better choice

  • You want one company to handle sending and its reputation, and you do not have an SMTP provider.
  • You need cc, bcc, reply_to, custom headers, tags or scheduled_at today. MakiSend does not support them yet.
  • You need webhooks or bounce, open and click tracking. MakiSend only logs sends for now.
  • Your SMTP provider requires a fixed sending IP. Workers do not have one.

When MakiSend fits

  • You already pay for a mailbox (Google Workspace, Zoho, Microsoft 365) or a sending service, and do not want a second subscription for the API.
  • You want recipients, bodies, attachments and SMTP passwords encrypted (AES-256-GCM) in a database you own.
  • Your app already runs on Cloudflare, or you want the API on Workers Free at no cost.
  • You like Resend's delivery but not paying for its dashboard: point MakiSend at Resend's SMTP and keep the logs in your account.
  • You would rather run it on your own server: the same MakiSend runs from one Docker image on any VPS (VPS guide).

Move a call from Resend

The request keeps its shape. The changes are the endpoint, the sender and the recipient list.

Resend POST /emailsMakiSend POST /send-email
Authorization: Bearer <key>Same header, or x-api-key
Idempotency-Key headerSame header, 24-hour replay window
fromNot in the body: the sender belongs to the SMTP configuration the API key is linked to
to (string or array)One address per request
subject, html, textSame names; text and html are both required
attachments (filename, content, content_type)Same shape; path (a URL to fetch) is refused
cc, bcc, reply_to, headers, tags, scheduled_atNot supported yet
200 with an id202 with an emailId; the outcome shows in the dashboard logs

Before, with Resend:

resend.shbash
curl -X POST https://api.resend.com/emails \
  -H "Authorization: Bearer $RESEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "Acme <billing@acme.example>",
    "to": ["customer@example.com"],
    "subject": "Your receipt",
    "html": "<p>Thanks for order <b>#1042</b>.</p>"
  }'

After, with MakiSend:

makisend.shbash
curl -X POST https://<your-worker>.workers.dev/send-email \
  -H "Authorization: Bearer $MAKISEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "customer@example.com",
    "subject": "Your receipt",
    "text": "Thanks for order #1042.",
    "html": "<p>Thanks for order <b>#1042</b>.</p>"
  }'

Every field is in the API reference.

Keep Resend as the sender

MakiSend can send through Resend. In the dashboard, add an SMTP configuration with the Resend preset: host smtp.resend.com, port 465, user name resend, and a Resend API key as the password. Resend keeps delivering your mail; MakiSend keeps the API keys, templates, retries and logs in your Cloudflare account.

What each one costs

Resend is free up to 3,000 emails a month (100 a day), then from $20 a month. MakiSend is free; you pay Cloudflare only past Workers Free, and your SMTP provider for the mail it sends. The pricing page has the quotas.

Or let MakiSend do it

MakiSend is everything on this page, packaged: an authenticated POST /send-email, a queue, a durable Workflow with retries, nodemailer over sockets opened by hostname, the Cloudflare Email Service binding and a dashboard with the logs. It is open source and deploys on your own Cloudflare account, including a Workers Free one.

Questions

Is MakiSend a drop-in replacement for Resend?

Close, not identical. The API key header, Idempotency-Key and the attachments format are the same. The sender moves to the SMTP configuration, each request has one recipient, and cc, bcc, reply_to, headers, tags and scheduled_at are not supported yet.

Can MakiSend send through Resend?

Yes. Use the Resend SMTP preset (smtp.resend.com, port 465, user name resend, an API key as the password). Resend delivers the mail and MakiSend keeps the logs in your account.

Is MakiSend free?

Yes. It is open source under the MIT license. Running it is free on Cloudflare's Workers Free plan, which covers hundreds of emails a day; your SMTP provider bills the mail it sends.