Adrifact
← Terug naar portfolio
2026·Live

That's My Mail

Transactionele email-provider voor bedrijven

Eigen ESP-platform (zoals SendGrid of Postmark) waarmee bedrijven via een HMAC-signed HTTP API hun signup-mails, magic links en wachtwoord-resets versturen. Eigen SMTP-daemon levert direct aan de MX-servers van Gmail/Outlook, met DKIM-signing per klant en VERP-style bounce handling. Klanten brengen hun eigen domein mee — het platform-domein blijft schoon voor de aankomende mailbox-app op mail.thatsmymail.com.

TypeScriptFastifyNext.jsPostgresKyselyDockerHetznerCaddyDKIMSMTP

Recent releases

  1. v0.3.0·

    Bring-your-own-domain only — platform-domein gereserveerd

    Customers kunnen niet meer via @thatsmymail.com versturen. Dit beschermt de reputatie van het platform-domein voor de aankomende mailbox-app en voorkomt dat één klant met crappy lijsten de deliverability van iedereen omlaag trekt.

    Wat verandert

    • POST /v1/auth/signup maakt geen default sender meer aan — klanten registreren en verifiëren zelf een domein voordat ze kunnen mailen
    • POST /v1/sender-domains geeft 403 reserved_domain voor thatsmymail.com, thatsmymail.nl, en alle subdomeinen daarvan
    • POST /v1/messages met een from op @thatsmymail.com faalt nu met 400 sender_domain_not_verified (bestaande rij staat op disabled)
    • Env-var TMM_DEFAULT_SENDER_DOMAIN hernoemd naar TMM_BOUNCE_DOMAIN — alleen nog gebruikt door smtp-out voor de VERP envelope return-path (bounces+<id>@thatsmymail.com)

    UI-aanpassingen

    • Dashboard, Settings → Sender Domains, en Send Test pagina hebben nieuwe lege-state copy die uitlegt dat een eigen geverifieerd domein verplicht is
    • Send Test blokkeert helemaal als er nog geen verified domain is
  2. v0.2.0·

    SDK hernoemd + GitHub repo + git-pull deploy flow

    SDK rename (breaking)

    • @adrikesteren/thatsmymail-client@0.2.0@adrikesteren/tmm-customer-sdk@0.1.0
    • Class ThatsMyMailClientTmmClient, error ThatsMyMailErrorTmmError
    • baseUrl is nu optional in de constructor — default https://api.thatsmymail.com. Alleen overriden voor lokaal dev of staging.
    • Migratie-tabel in de SDK README.

    GitHub repo + deploy

    • Repo live op adrikesteren/thatsmymail-customer (private).
    • /opt/tmm op de productie-server is nu een git checkout met read-only deploy key — toekomstige deploys zijn git pull && docker compose build && up -d.
  3. v0.1.0·

    Productie-launch op Hetzner

    Eerste productie-deploy van het That's My Mail platform.

    Wat draait er

    • Postgres + Fastify HTTP API + Next.js admin UI + SMTP-out worker + SMTP-in DSN listener, allemaal in Docker Compose
    • Hetzner Cloud (ARM64 cax21) met cloud-init bootstrap en UFW dichtgezet
    • Caddy als reverse proxy met automatische Let's Encrypt certs voor app.thatsmymail.com en api.thatsmymail.com
    • rDNS / PTR records op zowel IPv4 als IPv6 wijzen naar mta1.thatsmymail.com

    Features in v0.1.0

    • Customer self-signup met email + argon2id-gehashed wachtwoord
    • HMAC-signed customer API (SigV4-stijl) — POST /v1/messages met idempotency keys
    • Direct-to-MX delivery met DKIM signing via mailauth
    • Postgres FOR UPDATE SKIP LOCKED worker queue, exponential backoff, per-domain concurrency limits
    • Per-API-key sliding window rate limiting + suppression list voor harde bounces
    • Customer webhook delivery met Stripe-stijl t=...,v1=... signatures
    • Body retention cron (24u TTL), idempotency GC, audit log
    • 38 unit tests groen
That's My Mail — Adrifact