Capture SMTP locale pour tests automatisés

Testez les emails
que vos utilisateurs reçoivent vraiment.

Déclenchez le vrai flux d’emails de votre application et vérifiez le lien ou le code exact depuis votre test. Tout est capturé sur localhost — pas un message ne quitte votre machine.

$ npx inboxtap

GET /api/emails/latest?to=inscription%40local.test

{
  "email": {
    "subject": "Vérifiez votre compte",
    "codes": ["482910"],
    "links": ["https://app.test/verification?…"]
  }
}

Le problème

Où partent vos emails de test ?

Envoyés à des adresses inventées comme test@example.com, ils rebondissent ou disparaissent sans trace. Pire : avec le SMTP de production en développement, un jeu de données de test mal configuré peut envoyer des emails à de vraies personnes.

La capture

InboxTap capture tout sur localhost

Pointez votre application vers localhost:1025. Chaque destinataire est accepté et chaque message reste sur votre machine — rien ne franchit la frontière réseau.

Le résultat

Votre test lit le vrai email

Attendez le lien de vérification ou le code OTP exact que recevrait votre utilisateur, et validez le parcours complet — de l’inscription à la vérification.

Le problème

Où partent vos emails de test ?

Envoyés à des adresses inventées comme test@example.com, ils rebondissent ou disparaissent sans trace. Pire : avec le SMTP de production en développement, un jeu de données de test mal configuré peut envoyer des emails à de vraies personnes.

La capture

InboxTap capture tout sur localhost

Pointez votre application vers localhost:1025. Chaque destinataire est accepté et chaque message reste sur votre machine — rien ne franchit la frontière réseau.

Le résultat

Votre test lit le vrai email

Attendez le lien de vérification ou le code OTP exact que recevrait votre utilisateur, et validez le parcours complet — de l’inscription à la vérification.

Conçu pour des suites de tests déterministes

Local par défaut

Les services SMTP et HTTP écoutent sur localhost. InboxTap ne relaie jamais d’email.

Boîtes isolées pour les tests parallèles

Des adresses uniques générées côté client isolent les processus de test concurrents.

API REST

Listez, récupérez, attendez et videz les messages capturés via HTTP local.

Extraction automatique

Détecte les liens HTTP(S) et les codes uniques de 4 à 8 chiffres dans l’email analysé.

SDK de test

Attendez messages, liens, codes et correspondances d’expressions régulières depuis vos tests Bun ou Node.

Ressources bornées

Le stockage, la taille des messages et les attentes longue durée ont des limites prévisibles.

De l’action dans le navigateur à l’assertion sur la boîte

Tout le parcours, dans un seul test.

Créez une adresse isolée, soumettez-la dans votre application, puis attendez la valeur attendue. InboxTap fonctionne avec Playwright, Vitest, Jest et les autres outils d’exécution de tests Bun ou Node.

inscription.spec.ts
import { InboxTapClient } from "inboxtap/client";

const inboxTap = new InboxTapClient();
const inbox = await inboxTap.createInbox({ alias: "inscription" });

await page.getByLabel("Adresse email").fill(inbox.address);
await page.getByRole("button", { name: "Créer un compte" }).click();

const verificationUrl = await inbox.waitForLink({
  subject: /vérifiez votre adresse email/i,
  contains: "/verification",
});

await page.goto(verificationUrl);

Node 20+ · Bun ou npm

$ npx inboxtap

SMTP sur localhost:1025. API sur localhost:8025. Prêt.

Lire le guide d’installation →

Ressources pratiques pour tester les emails

Intégrations, guides et comparatifs transparents.

Reliez InboxTap à vos outils, vérifiez les parcours d’authentification complets et choisissez la solution locale adaptée à votre équipe.

Gratuit · Logiciel libre · Licence MIT

Gardez les emails de test locaux et observables.

Utilisez-le, inspectez le code source ou participez à la prochaine version.