Migration from Postmark

Move transactional sends from Postmark to Ranla without changing your product’s email jobs — receipts, password resets, alerts, and invites still go out over POST /emails.


Why teams switch

  • HTTP API + npm SDK with a short path from API key to first send
  • Owned transactional mail infrastructure, not a thin layer on rented cloud email
  • Sandbox → Pool → Dedicated so you can test free, run production on a paid shared transactional network, then isolate on managed servers and IPs when you need allowlists

Quick mapping

Postmark Ranla
Server API token rnl_... API key (Authorization: Bearer)
https://api.postmarkapp.com https://api.ranla.ai
POST /email POST /emails
Verified Sender Signature / domain Verified sending domain in Ranla
Message Streams (Transactional) Transactional-only product (no cold/marketing mix)
Webhooks Webhooks + dashboard activity

Minimal send

curl -X POST https://api.ranla.ai/emails \
  -H "Authorization: Bearer $RANLA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "[email protected]",
    "to": "[email protected]",
    "subject": "Hello",
    "html": "<p>It works.</p>"
  }'

Node:

npm install @supersend/ranla
import { Ranla } from '@supersend/ranla'

const client = new Ranla(process.env.RANLA_API_KEY)
await client.emails.send({
  from: '[email protected]',
  to: '[email protected]',
  subject: 'Hello',
  html: '<p>It works.</p>',
})

Migration checklist

  1. Create a Ranla account and API key
  2. Add and verify your sending domain (Domains)
  3. Point your app’s send client at https://api.ranla.ai with rnl_...
  4. Map Postmark fields: Fromfrom, Toto, Subjectsubject, HtmlBodyhtml, TextBodytext, ReplyToreply_to
  5. Reconfigure webhooks to Ranla endpoints (Webhooks)
  6. Send a canary through Sandbox or your verified domain, then cut over

HTTP aliases accepted today: htmlBody / html_body, textBody / text_body / plain_body, replyToreply_to. Postmark’s PascalCase HtmlBody is not accepted — map it to html (or htmlBody) in your client. New code should use canonical names (html, text, reply_to).


Domains and DNS

Production from addresses must use a domain verified in Ranla. Cloudflare and GoDaddy apply flows can write records for you — see Domains.

Before DNS is ready, self-test with the shared sandbox sender on mail.supersendtx.com (recipients limited to your account email). Details: Quickstart.