Email Infrastructure for Developers & SaaS platforms.

Let our team worry about making sure your emails make it to the inbox, and get back to focusing on what matters: building great products.

1import { PostShiba } from "@postshiba/node" 2 3const postshiba = new PostShiba("YOUR_API_KEY", { teamId: "KjkAJW" }) 4 5const sent = await postshiba.emails.send({ 6 from: "hello@mail.example.com", 7 to: ["you@example.com"], 8 reply_to: "support@example.com", 9 subject: "Your receipt", 10 text: "Thanks for your order.", 11 html: "<p>Thanks for your order.</p>", 12 unique_args: { order_id: "ord_123" }, 13}) 14 15console.log(sent) 16

Switching to PostShiba?

Follow the guide for your current provider.

We support 38 framework and app guides, plus plain SMTP.

Built to serve multi-tenant businesses.

Start with password resets on one domain. Grow into a platform that sends for every customer, on the same account.

Tenants

Outbound

Inbound

Mailbox providers

yourapp.com Active
SMTP smtp.postshiba.com
API api.postshiba.com
capsule-1 Active
Gmail gmail.com
Yahoo yahoo.com
Microsoft outlook.com
MX inbound.postshiba.com
Inboxes Active

hooks.yourapp.com

POST /inbound

sidehustle.io Active
newsletter.dev Active
client-a.com Active
capsule-2 Active
capsule-3 Active
capsule-4 Active
+8 capsules 2 clusters
acme.io
globex.co
initech.com
umbrella.app
hooli.xyz
vandelay.io
stark.dev
wayne.co
wonka.shop
dunder.io
pied.piper
aviato.com
tyrell.net
globex.dev
+1,969 more

Startups and side projects.

Need receipts, password resets, or product updates? Verify your domain and send over SMTP or the API. Nano is $5 a month for 100 emails an hour.

Send your first email

Developers and agencies.

Have a few products, side projects, or client brands? Give each one a tenant with its own domains, credentials, and suppressions, all under one team.

Explore tenants

Multi-tenant platforms.

Building email into your product? Let every customer send and receive from their own domain. Suspend one tenant and keep everyone else sending. Add clusters as you grow.

Build a platform

Complete control of your sending.

Give each customer a tenant with its own domains, SMTP credentials, inboxes, and suppressions. Suspend one tenant or domain and everyone else keeps sending.

Tenants
5 tenants
Name Status Sending
Umbrella
mail.umbrella.co
news.umbrella.co
Acme
mail.acme.com
billing.acme.com
notify.acme.com
Globex
Initech
Hooli

Showing 5 of 24 tenants

Easily investigate issues.

Powerful tools to help you debug email's hardest problems, and when you don't know why something is happening, just open a ticket and our delivery team is there to help.

Events
Recipient Status When
ops@example.net Reset your password
Delivered 9s ago
  1. Processed

    Accepted for delivery

  2. Deferred ×2

    +1s

    421 4.7.0 Try again later

  3. Delivered

    +7s

    250 2.0.0 OK

<acme.ord-4820@mail.acme.com>

Webhook POST hooks.acme.com/postshiba 200

Easy setup and integration.

Send over SMTP, HTTP inject, or the REST API. Receive replies in hosted inboxes and get them back as signed webhooks.

Send a test smtp.postshiba.com:587
1<p>Hi Ana,</p> 2<p> 3 Your account is ready. Sending is live on your 4 first domain, and a webhook is waiting for events. 5</p> 6<p>A few things to try first:</p> 7<ul> 8 <li>Confirm DNS on your sending domain</li> 9 <li>Send a test to yourself</li> 10 <li>Watch the first delivered event</li> 11</ul> 12<p> 13 <a href="https://app.example.com/login">Sign in</a> 14 to open the dashboard. 15</p> 16<p>Welcome aboard,<br>The Example team</p>
Unique args Back on webhooks
1{ 2 "user_id": "usr_1024" 3}

Build email into your platform.

Give every customer a tenant with their own domains, SMTP credentials, suppressions, and webhooks on one shared cluster.

production 203.0.113.10 Shared IP
  • Acme

    mail.acme.com

    Sending

  • Globex

    notify.globex.io

    Sending Waiting on DKIM Creating tenant

  • Initech

    send.initech.com

    Waiting on DKIM

  • Umbrella

    mail.umbrella.co

    Suspended

4 tenants on one cluster

Route support@ into an inbox and thread every reply with plus-addressing.

Order #4821 thread_id 7f3a
  1. customer@example.com

    Can I change the address on order #4821?

    to support@acme.com

  2. Acme support

    Sure. Reply with the new address.

    Reply-To support+7f3a@inbound.acme.com

  3. customer@example.com

    It's 12 Harbour Street. Thanks.

    to support+7f3a@inbound.acme.com

Give an agent a hosted inbox and a webhook. PostShiba moves the mail. Your app owns the model.

  1. Mail
  2. Webhook
  3. Your model
  4. Reply

POST agents.example.com/inbound

X-Capsule-Signature: sha256=9c1e…4b07

"from": "dana@example.com"

"to": "agent+q2x8@inbound.postshiba.com"

"subject": "Refund for order 1182"

"thread_id": "q2x8"

Hi Dana, your refund for order 1182 is on its way.

Queued POST /api/v1/emails
agent@inbound.postshiba.com Hosted inbox

Working with an AI coding tool? Connect PostShiba through MCP.

Switch providers without a risky cutover.

Add PostShiba as a backup next to your current provider. Route a slice of traffic, then cut over when delivery holds.

Migration guides postshiba.com/docs

Switching from Resend

Keep the same core send fields while moving authentication, delivery events, and inbound mail to PostShiba.

Resend 0% PostShiba 100%
  1. 1

    Add us as a backup provider

    Keep your current provider as primary

  2. 2

    Route us 1% of requests

    Raise the share as delivery holds

  3. 3

    Move fully over

    Once we can take all of your traffic

Cutover 3 / 3 Open the guide

Send for every customer on one fixed monthly plan.

Private beta has begun. Test with your team right away, then send to external recipients once production approval clears.