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
| Resend | MakiSend | |
|---|---|---|
| Where it runs | Resend's servers | Your Cloudflare account |
| Price | Free up to 100 emails a day, then from $20 a month | Free. Hundreds of emails a day on Workers Free, no daily cap on Workers Paid ($5 a month) |
| Who sends the mail | Resend | Your SMTP provider or Cloudflare Email Service |
| Your data | Stored by Resend | AES-256 encrypted in your own D1 |
| Servers to manage | None | None |
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, customheaders,tagsorscheduled_attoday. 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 /emails | MakiSend POST /send-email |
|---|---|
Authorization: Bearer <key> | Same header, or x-api-key |
Idempotency-Key header | Same header, 24-hour replay window |
from | Not 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, text | Same 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_at | Not supported yet |
200 with an id | 202 with an emailId; the outcome shows in the dashboard logs |
Before, with Resend:
After, with MakiSend:
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.
- With a coding agent: copy the install prompt and paste it into Claude Code, Codex, Cursor or another agent.
- Without one: Deploy to Cloudflare, after generating the two secrets it asks for.
- Read the code first: github.com/lixalistudio-oss/makisend.
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.