Mailmus

One platform. The products your app needs.

Authentication, email, and more to come. Use each product on its own or combine them without multiplying your infrastructure.

Freeto start
No cardrequired
Independentproducts

One platform. Products that talk to each other.

Independent by default. Connected when you say so.

MAILMUS

One account. One dashboard. One invoice. All your products in one place.

Mail

Transactional and marketing email

Templates, Analytics, Webhooks

Auth

Authentication for your apps

Sessions, MFA, Organizations

More products soon

Pick your product

Each product works on its own. Start with one, add others only when you need them.

The same price, for every product
Use them together or on their own
Built for developers, ready to scale
Works on its own

Mail

Transactional and marketing email

  • Transactional and marketing email
  • Automations and webhooks
  • 99%+ deliverability
  • Analytics & suivi
  • Templates & variables
Works on its own

Auth

Authentication for your apps

  • Password, magic link, OAuth
  • MFA and secure sessions
  • SSO & Organizations (B2B)
  • Sessions & appareils connectés
  • API & SDK officiels

An ecosystem that grows with you

Start with one product, add the others as your project grows.

Mail
Auth
Coming

How the products work together

Each product stays independent. The integrations are explicit, visible and entirely under your control.

Explicit integrations · You decide, we execute.
Secure by design · HMAC signature on every webhook.
Reliable and replayable · Delivery history, replay in one click.
1

A user signs up

Through the Auth SDK, inside your app.

2

Auth fires a webhook

An enduser.created event, HMAC-signed, sent to your backend.

3

Your backend verifies and reacts

Signature checked, and what happens next is your call.

4

Mail sends the welcome email

One API call, with the email the webhook carried.

webhook.ts (your backend)
import { createHmac } from "node:crypto";
 
const secret = process.env.MAILMUS_WEBHOOK_SECRET;
 
app.post("/webhooks/mailmus", async (req, res) => {
const signature = req.header("X-Mailmus-Signature");
const expected = createHmac("sha256", secret)
.update(req.rawBody)
.digest("hex");
 
if (signature !== expected) {
return res.status(401).end();
}
 
const { event, data } = JSON.parse(req.rawBody);
 
if (event === "enduser.created") {
await mailmus.emails.transactionalEmailsSend({
appId: "app_xxx",
body: {
to: [data.email],
from: "hello@votredomaine.com",
subject: "Welcome!",
html: "<h1>Welcome!</h1>",
},
});
}
 
res.status(200).end();
});

What it actually looks like

Real code. Not pseudo-code.

Send a transactional email

One API call, with delivery tracking.

You call the API

With your secret key, never exposed.

Domain already verified

DKIM, SPF and DMARC in place.

The email is delivered

Opens and clicks tracked.

Read the Mail documentation

send-email.ts

import { SDK } from "mailmus";
 
const mailmus = new SDK({
// Secret key, never on the client.
bearer: process.env.MAILMUS_SECRET_KEY,
});
 
await mailmus.emails.transactionalEmailsSend({
appId: "app_xxx",
body: {
to: ["destinataire@example.com"],
from: "hello@yourdomain.com",
subject: "Welcome!",
html: "<h1>Hi {{first_name}}!</h1>",
variables: { first_name: "Alice" },
},
});

Built to be plugged in fast

A predictable API, official SDKs and documentation written to keep you moving.

API REST

Documented with OpenAPI, full reference online.

  • Spec OpenAPI générée automatiquement
  • 207 endpoints documentés
See the API reference

4 official SDKs

TypeScript for the server, the browser, React and React Native.

  • Écrits en TypeScript
  • Publiés sur npm
Explore the SDKs

Webhooks

HMAC-signed, with delivery history and replay.

  • Retries automatiques
  • Filtres par type d'événement
Learn more

Documentation

Step-by-step guides and API reference on docs.mailmus.app.

  • Guides pas à pas
  • Référence API interactive
Open the docs
Why Mailmus

Not against the competition. Against friction.

Each product works perfectly on its own. Add others and your stack stays just as simple.

Quand les outils s'accumulent

  • Separate dashboards
  • Separate invoices
  • Different conventions
  • Integrations to maintain

As the platform grows

  • One coherent developer experience
  • One invoice
  • Products that understand each other
  • No product is mandatory
MailAuthComing

Each product also works on its own.

Use what you need. The rest can wait.

A platform that grows at your pace.

Free, sans carte bancaire. Ajoute le reste à ton rythme.

Start for freeSee pricing