Transactional email delivery

Send the emails your product depends on: password resets, receipts, order confirmations, notifications: via REST API or SMTP relay, with EU/EEA-hosted primary service data and delivery webhooks.

Evaluating providers? See why Postscale is an EU transactional email provider for product teams.

Everything the product needs. Nothing it does not.

A focused API surface with production controls, predictable resources, and the operational visibility to run email confidently.

01

SDKs, REST API, and SMTP relay

Use the official Node.js, Python, Ruby, or PHP SDKs, call the REST API directly, or keep an SMTP integration. Each path shares the same authentication, rate limits, logs, and webhooks.

02

DKIM and DMARC handled

Add two CNAMEs and we rotate keys for you. SPF, DKIM alignment, and DMARC-friendly From: addresses are set up correctly from day one.

03

Real-time webhooks

Delivered, bounced, deferred, and complained events fire HMAC-signed webhooks as Postscale processes delivery logs, DSNs, and feedback-loop reports. Retries use exponential backoff.

04

Templates and merge fields

Store reusable templates with variable substitution. Version them, A/B test subject lines, localize by recipient: without shipping code.

05

Suppression list included

Complaints, hard bounces, and unsubscribes are managed automatically. Hitting a suppressed address fails fast instead of damaging reputation.

06

EU/EEA-hosted primary service data

Primary production service data is hosted in the EU/EEA. Limited network, device, and operational metadata may be processed by infrastructure providers under appropriate transfer safeguards.

Start with one request.

The public API uses explicit resources and familiar JSON. Move from a first request to production without changing integration models.

See sending docs
Node.js SDK: send a transactional email ready
import { Postscale } from "@postscale/postscale";

const postscale = new Postscale(process.env.POSTSCALE_API_KEY);

const { data, error } = await postscale.emails.send({
  from: "hello@yourapp.com",
  to: ["user@example.com"],
  subject: "Welcome to Acme!",
  html_body: "<h1>Hello World</h1>",
  text_body: "Hello World",
});

if (error) {
  throw new Error(error.message);
}

console.log(data?.message_id);

Frequently asked questions

REST or SMTP: which should I use?

Use an SDK or REST if you control the code sending email; use SMTP if you're migrating from an existing system that already speaks SMTP (Django, Rails, WordPress, legacy PHP). All paths use the same rate limits, logs, and webhooks.

How good is the deliverability?

We run dedicated IPs with established reputation, enforce DKIM + DMARC alignment, auto-suppress complaints, and participate in feedback loops with the major mailbox providers. Inbox placement is a property of your sender behavior too; we give you the tools but won't rescue spam.

What does it cost?

Free tier includes a working shared send + receive volume for evaluation. Paid plans start at €9/mo. Outbound usage is counted per accepted recipient, including To, Cc, and Bcc.

Can I send from my own domain?

Yes: add two CNAMEs and a TXT record, and you send as you@yourdomain.com with proper SPF/DKIM/DMARC alignment. Most setups take five minutes.

Build the email workflow your product needs.

The free tier includes everything required to evaluate the API. No credit card required.

Create a free account