Transactional email · EU hosted
API-first ESP with HMAC auth, automatic DKIM signing, and bring-your-own-domain. No marketing forms, no detours — your apps just send.
No credit card. Bring your own domain.
All the boring-but-essential pieces of a real transactional email pipeline — included from day one.
SigV4-style request signing with timestamps and nonces. No shared bearers, replay protection by default.
Per-domain RSA keypair generated at register-time. Private keys are encrypted at rest with a key-encryption-key.
Every project gets exactly one verified sender domain. The platform brand stays clean — your customers see your address.
Every key mint, domain change, and send is recorded. Scoped by project so multi-tenant separation is clean.
Stripe-style t=…,v1=… signatures on delivery, deferred, bounced, failed, and complained events.
Runs on Hetzner Cloud in Germany. Your customer data never crosses the Atlantic, never leaves the EU.
Install the TypeScript SDK, drop in your key, call send. The pipeline takes care of HMAC signing, DKIM, retries, and bounce handling.
// pnpm add @adrikesteren/tmm-customer-sdk
import { TmmClient } from "@adrikesteren/tmm-customer-sdk";
const mailer = new TmmClient({
keyId: process.env.TMM_KEY_ID!,
secret: process.env.TMM_SECRET!,
});
await mailer.send({
to: "alice@example.com",
from: "noreply@yourcompany.com",
subject: "Welcome",
text: "Thanks for signing up.",
});