Postboi PRE-RELEASE
POSTBOI DISPATCH · 01
EMAIL API 1 COMMAND 0 DNS RECORDS

Emailinonecommand

Postboi is an email provider. Run npx postboi init and mail() sends. No DNS, no card, no other provider account. On Resend? mail() can use it, or any of 40+ others: one config line, same code. The same API sends SMS, WhatsApp, push and chat.

3,000 EMAILS A MONTH FREE, FOREVER · NO CARD · THEN £9 FOR 40,000

96.2% OF THE MAIL SENT IN THE LAST 30 DAYS REACHED THE RECEIVING SERVER WITHIN 5 SECONDS· 97.89% UP · THE MEASURED RECORD

POSTBOI · CONSIDER IT DELIVERED · POSTBOI · CONSIDER IT DELIVERED · The Postboi mascot
SCROLL

02 One prompt

AI‑first.
Mail in a single prompt.

No account needed. Your agent provisions the project, writes the code and hands you a link; you claim it with one click. Push works the same way: init --push --agent. How it works →

YOU → YOUR AGENT

›add a contact form that emails me, use postboi

THAT'S THE WHOLE PROMPT

TRY IT ClaudeChatGPTCursor

YOUR AGENT · MOMENTS LATER

$ bunx postboi init --agent ✔ provisioned a Postboi project, no sign-in needed✔ POSTBOI_TOKEN written to .env✔ contact form wired, sending from acme@send.postboi.email✔ acme.com detected from your project Claim your project (one click makes it live):https://postboi.app/claim/x7f2…

03 The sorter

One API.
Five ways out.

Pick a route. The command that sets it up and the code that sends through it are the same shape every time. That's the whole idea.

NOW SENDING MAIL()

TERMINAL

$ bunx postboi init ✔ Provider · Postboi✔ Signed in as you@example.com✔ POSTBOI_TOKEN written to .env Done. Go send something.

mail()

import { mail } from "postboi"

await mail({
  to: "anyone@example.com",
  subject: "It works",
  body: "<p>Delivered by the boi</p>"
})

Hosted sending with one token, or 40+ providers of your own. Read the docs →

SWIPE TO CHANGE ROUTE

Cheapest first.
Stops when it lands.

Or send to a person rather than a channel. send() tries your channels in cost order and stops the moment one lands, so a message a free push notification can carry never costs you an SMS.

THE CALL

import { send } from "postboi"

await send({
  to: { push: subscription, sms: "+44 7788 223344" },
  channels: "cheapest",
  message: "Your code is 4291"
})

"cheapest" resolves to the order on the right, and every price on it is the real one.

The switches are whether this person can be reached on a channel at all: a push subscription, a phone number, a Slack webhook. Real accounts are always missing a few. Turn some off and run it again.

CH CHANNEL PROVIDER COST STATUS CAN REACH?
  1. 01 PUSH WEB PUSH FREE READY
  2. 02 CHAT SLACK FREE READY
  3. 03 EMAIL POSTBOI 0.04P READY
  4. 04 WHATSAPP META CLOUD 1.70P READY
  5. 05 SMS SMS WORKS 2.80P READY

READY WHEN YOU ARE

BILLED AWAITING

04 The handlers

Ours, or
your own.

Postboi sends your email by default. The same mail() call sends through every provider below, so you can keep Resend, SES or Postmark behind it, and moving between them is one line of config. Coming from Resend? One command brings your domains, lists and webhooks across.

Amazon SES postboi/ses Elastic Email postboi/elasticemail Mailgun postboi/mailgun Mailtrap postboi/mailtrap Plunk postboi/plunk Scaleway postboi/scaleway✉ SMTP (any) postboi/smtp ZeptoMail postboi/zepto
Amazon SES postboi/ses Elastic Email postboi/elasticemail Mailgun postboi/mailgun Mailtrap postboi/mailtrap Plunk postboi/plunk Scaleway postboi/scaleway✉ SMTP (any) postboi/smtp ZeptoMail postboi/zepto
Brevo postboi/brevo Lettermint postboi/lettermint Mailjet postboi/mailjet Mandrill postboi/mandrill Postmark postboi/postmark SendGrid postboi/sendgrid SparkPost postboi/sparkpost Mock (testing) postboi/mock
Brevo postboi/brevo Lettermint postboi/lettermint Mailjet postboi/mailjet Mandrill postboi/mandrill Postmark postboi/postmark SendGrid postboi/sendgrid SparkPost postboi/sparkpost Mock (testing) postboi/mock
Cloudflare postboi/cloudflare MailerSend postboi/mailersend MailPace postboi/mailpace Microsoft 365 postboi/microsoft365 Resend postboi/resend Sequenzy postboi/sequenzy Unosend postboi/unosend
Cloudflare postboi/cloudflare MailerSend postboi/mailersend MailPace postboi/mailpace Microsoft 365 postboi/microsoft365 Resend postboi/resend Sequenzy postboi/sequenzy Unosend postboi/unosend
  • Twilio · sms + whatsapp
  • The SMS Works · sms
  • Amazon SNS · sms
  • Meta Cloud API · whatsapp
  • Web Push · push
  • Firebase Cloud Messaging · push
  • Apple Push Notification service · push
  • Huawei Push Kit · push
  • Slack · chat
  • Discord · chat
  • Microsoft Teams · chat
  • Telegram · chat

Want another provider? Quit being a baby and open a PR.

05 In the box

Also in
the box.

What apps end up needing, already there on every plan rather than another service to sign up for.

  • 01

    Hosted forms

    Point a plain <form> at an endpoint and submissions arrive as email: spam checked, rate limited, attachments included. No backend.

  • 02

    Receiving

    Replies to your sending address land in Received, threaded with what you sent, and reach your code as a webhook.

  • 03

    Lists and broadcasts

    Contacts, double opt-in and unsubscribe links. A broadcast is email on your plan, never a charge per contact.

  • 04

    Webhooks

    Every delivery event, signed and retried, in one shape whichever provider sent the mail.

  • 05

    A dev inbox

    In development, mail lands in a local inbox and texts are logged. Nothing escapes your laptop, and nothing bills you.

  • 06

    Types that know your account

    postboi sync types your from addresses and form names, and every failure, on every channel, is one PostboiError.

06 The inspection

See it land
before you send.

Mail a draft in, or paste the HTML, and it comes back photographed in real clients: real Outlook, real Gmail, a real iPhone. The full report is free on every plan. No ludicrous Litmus fees, and your first test is on us.

  • OutlookWindows

    WORD ENGINE

  • GmailWeb

    GMAIL · DESKTOP

  • Apple MailmacOS

    WEBKIT · DESKTOP

  • MailiOS

    WEBKIT · MOBILE

  • GmailAndroid

    GMAIL · MOBILE

  • Outlook.comWeb

    MS WEBMAIL

×3 Three ways onto the table

  1. 01 MAIL IT

    TO · THE TEST DESK

    acme+test-x7f2ab@send.postboi.email

    Every run gets its own one-time address. Send from your app, your ESP, anywhere.

  2. 02 PASTE IT

    RAW HTML LANDS HERE

    No pipeline yet? The report doesn't care how the email got here.

  3. 03 SCRIPT IT

    import { mail } from "postboi"
    
    await mail({
      ...welcome_email,
      test: "super-email"
    })

    One option on the send you already ship. CI files every deploy under the same name.

CERTIFICATE OF INSPECTION · RUN X7F2AB

SPF
PASS
DKIM
PASS
DMARC
PASS
SPAM SCORE
0.2 / 10
HTML SUPPORT
6 CLIENTS × 55 CHECKS
BLOCKLISTS
CLEAR
APPROVED
FOR DISPATCH

Every run ends in a stamp.

Pass, and the certificate is yours to keep. Reports hold for 30 days, and a screenshot bought once is yours forever. Fail, and it names the client that broke and why.

07 The meter

A meter.
Not a wall.

Nothing breaks when you run past your included volume. Extra sends are metered. Start free, add a card only when you outgrow it. The other channels bill at your provider's cost; Postboi adds nothing on top, and never charges per contact. Email tests come with every paid plan, and prepaid packs top any plan up, and they never expire. Every plan in plain figures →

PER MONTH

£9.00

8,500 emails · inside the included volume

PLAN Starter
  • Free over limit £0 base + 1 email test on us
  • Starter £9.00 £9 base + 5 email tests/mo
  • Pro £25.00 £25 base + 20 email tests/mo
  • Scale £99.00 £99 base + 60 email tests/mo

DRAG THE VOLUME · THE PLAN UNDER IT IS THE ONE YOU'D BE ON

08 Collection

Put the
boi to work.

One command between you and your first delivered message.

Start sending, free

NO CARD · NO DNS · 3,000 EMAILS A MONTH, FOREVER