Sukhovei Mail vs Resend
Resend is a polished, proven sending API. Sukhovei Mail accepts the same request body for sending, so moving is a base URL and a key, and it adds inboxes people and agents read.
Updated 9 min read
On this page (6)
In short
Resend is known for its developer experience: a clean API, React Email, templates, tracking, broadcasts and SDKs in nine languages. Sukhovei Mail's sending endpoint takes the same request body as Resend's POST /emails, so code written for one runs on the other. Where the two differ is everything around sending: Sukhovei Mail is built around inboxes that agents and people read.
Pick Resend if
- You mostly send, and want stored templates, React Email rendering, open and click tracking or marketing broadcasts.
- You want an official SDK in your language, a documented rate limit and a long public track record.
- You need dedicated IPs or several sending regions, or a paid plan you can buy today.
Pick Sukhovei Mail if
- Your app or agent needs to receive mail too: inboxes, threads, a blocking wait for codes.
- You want support@ on your domain with a shared inbox, assignment and IMAP, next to app email.
- You run several projects and want one plan pooled across them.
Who each is for
Resend is for product teams sending transactional and marketing email from code. Receiving exists too: mail can arrive on your domain or a Resend managed subdomain and reach you as a webhook[4]. Received mail counts against the sending quota [7].
Sukhovei Mail is for apps and AI agents that hold conversations over email. Every workspace gets a private mailbay.email domain with a Catch-all, inboxes on your own domains, a support inbox for people, IMAP for mail apps, and sending over the API or SMTP from the same project.
Features and prices
Sukhovei Mail is currently free. The paid Sukhovei Mail prices below are planned and come from our pricing page; billing is not live yet.
Read this table row by row, not as a score. Where a cell says “Not stated”, the other product's documentation did not say, and we did not guess.
Sending API
Swipe sideways to see the Resend column.
| Feature | Sukhovei Mail | Resend |
|---|---|---|
| Send endpoint | POST /v1/emails, Resend shaped: from, to, cc, bcc, reply_to, subject, html, text, headers, attachments, tags, scheduled_at | POST /emails [2] |
| Idempotency-Key header | Yes, 24 hours | Yes, 24 hours [2] |
| Batch send | Up to 100 per request, strict or permissive validation | Up to 100 per request [1] |
| Scheduled send | Yes, up to 30 days ahead; reschedule or cancel | Yes [2] |
| Recipients per email | 50 | 50 in to [2] |
| Attachments | Base64 content, with content_id for inline images. Path URLs are refused. 25 MB for the whole raw message. | Base64 content or a path URL, up to 40 MB after encoding [10] |
| Open and click tracking | No. We do not track opens or clicks. | Yes, on all plans [1] |
| Rate limit | No published request limit yet | 10 requests a second per team, the same on every plan [8] |
| Fields the other lacks | template, react and topic_id return 400 unsupported_field with a fix | template, react and topic_id are accepted [2] |
Receiving and inboxes
Swipe sideways to see the Resend column.
| Feature | Sukhovei Mail | Resend |
|---|---|---|
| Inbound mail | Stored in inboxes with threads and reply, and sent as webhooks and on a WebSocket stream | On your domain or a resend.app subdomain, as webhooks [4] |
| Inboxes | Threads and reply, 3 on Free | Threads, folders, labels, drafts, assignment and a built in agent; private beta per Resend's docs, check current status [11] |
| Wait for a code or link | Yes: GET /v1/inboxes/{id}/wait, also in the CLI and MCP | Not stated |
| Shared domain and catch-all | Yes: a private mailbay.email domain per workspace, with a catch-all | Not stated |
| Shared support inbox for people | Yes: assign, close, snooze, keyboard shortcuts | Assignment in Inboxes [11] |
| IMAP for mail apps | Yes, ports 993 and 143 | Not documented [4] |
| Does received mail count against the plan | No. Plans count sent recipients only. | Yes, as one email each against daily and monthly limits [7] |
| How long mail and logs are kept | Until you delete them, unless the workspace sets a retention period | 30 days [7] |
Domains and deliverability
Swipe sideways to see the Resend column.
| Feature | Sukhovei Mail | Resend |
|---|---|---|
| Sending IPs | Amazon SES shared IPs. Sukhovei Mail does not warm IPs itself. | Not stated |
| Dedicated IPs | No | $30 a month add on on Scale, for over 3,000 a day [1] |
| Sending regions | One (a single SES region) | Several, on all plans [1] |
| DKIM and return path | Bring your own DKIM key, and a custom MAIL FROM | Not stated |
| Automatic DNS setup | Yes, one click at supported DNS hosts with Domain Connect | Not stated |
| Protection from a bad sender | Sending pauses on its own at 5% bounces or 0.1% complaints | Not stated |
Webhooks, SMTP and tooling
Swipe sideways to see the Resend column.
| Feature | Sukhovei Mail | Resend |
|---|---|---|
| Webhooks | Standard Webhooks signing. 11 message.* and sending.* events, 7 retries over about 18 hours, replay. | Svix signing. email.* events (sent, delivered, bounced, complained, opened, clicked, failed, suppressed, scheduled, received, delivery_delayed), plus domain, contact, topic, suppression and inbox events [9] |
| Webhook endpoints | No plan limit stated | Free 1, Pro 5, Scale 10 [1] |
| Webhooks in the dashboard | No. Manage them with the API. | Not stated |
| Live event stream | Yes, a WebSocket | Not stated |
| SMTP | smtp.mailbay.dev on 587 (STARTTLS) and 465 (TLS); user mailbay, password an API key | smtp.resend.com on 25, 465, 587, 2465 and 2587; user resend, password an API key [3] |
| MCP server | Remote and stdio, 15 tools. API key sign in; OAuth is planned. | Hosted, with OAuth [5] |
| Official SDKs | Node and edge, in the repo and not on npm yet. The Resend Node SDK also works for sending. | Node.js, Python, PHP, Go, Ruby, Java, Rust, .NET and more [6] |
| CLI | Built from source; it cannot send mail or manage webhooks or suppressions yet | Listed for Inboxes [11] |
| OpenAPI spec | Not yet | Not stated |
Marketing
Swipe sideways to see the Resend column.
| Feature | Sukhovei Mail | Resend |
|---|---|---|
| Templates | No. Render to HTML first. | Yes, in the API and dashboard [2] |
| React Email rendering | No. Use @react-email/render yourself. | Yes [2] |
| Contacts, topics and segments | No | Yes [1] |
| Broadcasts | No | Yes, priced by contacts: 1,000 free, Pro marketing from $40 [1] |
| Automations | No | Yes [1] |
Pricing and limits
Swipe sideways to see the Resend column.
| Feature | Sukhovei Mail | Resend |
|---|---|---|
| Free plan | 3,000 emails a month, 3 inboxes, 3 domains. New accounts send up to 100 a day for the first 7 days. | 3,000 emails a month, 100 a day, 3 domains [1] |
| First paid plan | Pro, planned at $9 a month: 50,000 emails, 25 inboxes, 10 domains. Billing is not live, so you cannot buy it yet. | Pro, $20 a month for 50,000 emails or $35 for 100,000; 10 domains [1] |
| Top plan | Scale, planned at $99 a month: 250,000 emails, 250 inboxes | Scale, $90 to $1,150 a month [1] |
| Overage per 1,000 emails | $0.80 on paid plans (planned) | $0.90 on Pro [1] |
| Extra inboxes | $1 a month each on paid plans (planned) | 3 on every plan, $1 a month each after that [1] |
Sources, read on October 27, 2026
- [1]Resend pricing: resend.com/pricing
- [2]Resend, send email API reference: resend.com/docs/api-reference/emails/send-email
- [3]Resend, send with SMTP: resend.com/docs/send-with-smtp
- [4]Resend, receiving emails: resend.com/docs/dashboard/receiving/introduction
- [5]Resend, MCP server: resend.com/docs/mcp-server
- [6]Resend, SDKs: resend.com/docs/sdks
- [7]Resend, account quotas and limits: resend.com/docs/knowledge-base/account-quotas-and-limits
- [8]Resend, rate limit: resend.com/docs/api-reference/rate-limit
- [9]Resend, webhook event types: resend.com/docs/webhooks/event-types
- [10]Resend, attachments: resend.com/docs/dashboard/emails/attachments
- [11]Resend, create inbox (private beta): resend.com/docs/api-reference/inboxes/create-inbox
Prices change. If something here is out of date or wrong, email hello@mailbay.dev and we will fix it.
Where Resend is better
- Maturity. Resend is an established product with a public track record, official SDKs and a large community. Sukhovei Mail is newer, and billing is not live yet.
- Templates and React Email. Resend renders React components and stored templates for you. Sukhovei Mail takes HTML and text; you render React Email yourself with
@react-email/render. - Open and click tracking. Resend tracks both on every plan [1]. Sukhovei Mail does not track opens or clicks.
- Marketing. Resend has contacts, topics, segments, broadcasts and automations. Sukhovei Mail has none of them; it sends batches of up to 100 and schedules email up to 30 days ahead.
- SDKs. Resend publishes official SDKs for Node.js, Python, PHP, Go, Ruby, Java, Rust, .NET and more [6]. Sukhovei Mail has one SDK, for Node and edge runtimes, and it is not on npm yet; other languages use the REST API.
- Dedicated IPs and regions. Resend sells a dedicated IP on Scale and sends from several regions [1]. Sukhovei Mail sends from shared Amazon SES IPs in one region.
- A documented request limit. Resend publishes 10 requests a second per team [8]. Sukhovei Mail has no published limit yet.
- Larger attachments and MCP with OAuth. 40 MB against our 25 MB, and Resend's MCP server signs in with OAuth [5]; ours takes an API key for now.
Where Sukhovei Mail is better
- Inboxes are the product, not an add on. Mail lands in inboxes with threads, auth results and spam scores.
GET /v1/inboxes/{id}/waitblocks until a matching message arrives and returns the one time codes and links in it. See email inboxes for AI agents. - Received mail is not metered. Plans count sent recipients only, while Resend counts each received email against its limits [7].
- People can answer. support@ on your domain gets a shared inbox with assignment, or an app password for Apple Mail and Outlook over IMAP, which Resend does not document. Replies go out as support@, threaded.
- Test addresses without setup. Every workspace has a catch-all on its own
mailbay.emaildomain, so a test can invent an address and wait for it. - Setup and safety. One click DNS setup with Domain Connect where the host supports it, and sending pauses by itself if bounces pass 5% or complaints pass 0.1%.
- Your data stays until you remove it, unless you set a retention period. Resend keeps 30 days [7]. A WebSocket event stream sits next to the signed webhooks.
- A lower planned price at the first paid step. Pro is planned at $9 a month for 50,000 emails and 25 inboxes, against $20 for Resend Pro [1]. Billing is not live, so this is a plan, not a price you can pay today.
Moving from Resend
Sukhovei Mail's POST /v1/emails accepts Resend's documented request body: from, to, cc, bcc, reply_to, subject, html, text, headers, attachments and tags, plus the Idempotency-Key header. It answers with {"id": "..."} as Resend does. We ran Resend's own cURL example against Sukhovei Mail with three changes: the URL, the key and the from domain.
curl -X POST 'https://api.mailbay.dev/v1/emails' \
-H 'Authorization: Bearer mb_live_xxxxxxxxx' \
-H 'Content-Type: application/json' \
-d $'{
"from": "Acme <onboarding@acme.com>",
"to": ["delivered@test.mailbay.dev"],
"subject": "hello world",
"html": "<p>it works!</p>"
}'
{"id":"eml_01m4x3aq3qwchj4qmw7qxv9782"}delivered@test.mailbay.dev is our version of Resend's delivered@resend.dev: it simulates a delivery without sending real mail. bounced@ and complained@ work too.
With the Resend Node SDK
The official resend package reads its base URL from RESEND_BASE_URL. We sent with resend.emails.send() and read the status back with resend.emails.get() using version 6.32.1, changing nothing but the environment:
RESEND_BASE_URL=https://api.mailbay.dev/v1
RESEND_API_KEY=mb_live_xxxxxxxxx # a Sukhovei Mail sending keyThe steps
- Add your domain in Sukhovei Mail and publish the records it shows. DKIM keys use different selectors (ours is
mb1._domainkey), so Resend's DKIM record can stay while you switch. The SPF record needs both providers' includes until you finish; the add project wizard merges our include into your existing record instead of replacing it. See SPF, DKIM and DMARC explained. - Create a sending key, limited to that domain if you like. It can send and read the send log, nothing else.
- Swap the base URL and key. Send to the test addresses first, then to yourself.
- Move your webhook handler: Sukhovei Mail signs with the Standard Webhooks scheme and names events
message.delivered,message.bouncedand so on. See Webhooks.
template, react, topic_id and attachment path URLs return 400 unsupported_field with a fix. scheduled_at works, and batches go to POST /v1/emails/batch, up to 100 at a time; see the Emails API.Prefer SMTP? The same key works as the password on smtp.mailbay.dev, port 587 or 465, with the username mailbay. The sending guide has Nodemailer and Supabase settings, and Resend's SMTP page lists theirs for comparison.
What a small SaaS team gets in one place is on Sukhovei Mail for SaaS teams.
Read next
- Send email from Supabase, Next.js or NodePassword resets, magic links and receipts need a sender that is authenticated for your domain. Here is the same job four ways: Supabase Auth over SMTP, Nodemailer, plain fetch from Next.js, and the Resend SDK.
- Sukhovei Mail vs PostmarkPostmark has spent years earning a reputation for fast, reliable transactional email. Sukhovei Mail is newer, and puts inboxes, agents and sending in one product.
- How email authentication works: SPF, DKIM and DMARC explained with real recordsThree DNS records decide whether your mail is trusted. Each one answers a different question. Here they are, one at a time, using the exact records Sukhovei Mail generates for a new domain.
Put Sukhovei Mail to work
Get inboxes, sending, your own domains and MCP in one workspace. The free plan includes 3 inboxes, 3,000 emails a month and 3 custom domains, with no card.