Temp Mail
in Node.js.
Erstelle einen Wegwerf-Posteingang, frage ihn ab und hole den Bestätigungscode — direkt aus deiner Test-Suite.
const res = await fetch("https://evilmail.pro/api/temp-email", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.EVILMAIL_KEY,
},
body: JSON.stringify({ ttlMinutes: 30 }),
});
const { data } = await res.json();
console.log(data.email); // [email protected]Temp Mail in Node.js ist der saubere Weg, um E-Mail-Abläufe zu testen, ohne einen echten Posteingang oder ein geteiltes Gmail-Konto zu brauchen. Mit der EvilMail API erstellst du eine Wegwerfadresse, löst deinen Registrierungs- oder Passwort-Reset-Ablauf aus, fragst den Posteingang über HTTP ab und liest den Einmalcode aus der Nachricht — von Anfang bis Ende, in Sekunden, ohne etwas aufräumen zu müssen. Jeder Aufruf ist ein simpler `fetch` mit einem `X-API-Key`-Header, sodass es sich ohne jede Abhängigkeit in Jest, Playwright oder jeden CI-Runner einfügt.
Warum Temp Mail in Node.js nutzen
End-to-End-Registrierungstests
Erzeuge pro Test einen frischen Posteingang, durchlaufe den echten Registrierungsablauf und prüfe die Bestätigungs-E-Mail — ohne Mocks, ohne veraltete Konten.
CI/CD ohne echtes Postfach
Jeder Aufruf ist eine zustandslose HTTP-Anfrage mit einem API-Schlüssel, sodass er headless in GitHub Actions, GitLab CI oder Jenkins läuft — ohne Browser und ohne geteilten Posteingang.
OTP- & Magic-Link-Extraktion
Lies den Nachrichtentext und hole den sechsstelligen Code oder den Bestätigungslink mit einem einzeiligen regex, dann setze den Ablauf programmatisch fort.
Parallelsichere Isolation
Jede Adresse ist unabhängig, sodass Hunderte von Tests parallel laufen können, ohne beim selben Postfach zu kollidieren.
Der Ablauf — Node.js Temp Mail in 3 Aufrufen
Wegwerf-Posteingang erstellen
const create = await fetch("https://evilmail.pro/api/temp-email", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": process.env.EVILMAIL_KEY,
},
body: JSON.stringify({ ttlMinutes: 30 }),
});
const { data } = await create.json();
const { email, sessionToken } = data;
// hand `email` to your signup flow, keep `sessionToken` to read the inboxAbfragen, bis die E-Mail ankommt
async function waitForMail(token, tries = 20) {
for (let i = 0; i < tries; i++) {
const r = await fetch(`https://evilmail.pro/api/temp-email/${token}`);
const { data } = await r.json();
if (data.messages?.length) return data.messages;
await new Promise((s) => setTimeout(s, 3000)); // wait 3s, retry
}
throw new Error("No mail arrived in time");
}
const messages = await waitForMail(sessionToken);Nachricht lesen & Code extrahieren
const { uid } = messages[0];
const r = await fetch(
`https://evilmail.pro/api/message/${uid}?token=${sessionToken}`,
{ headers: { "X-API-Key": process.env.EVILMAIL_KEY } },
);
const { data: mail } = await r.json();
const otp = (mail.text || "").match(/\b(\d{6})\b/)?.[1];
console.log("Verification code:", otp);Node.js Temp Mail — FAQ
Q1Wie bekomme ich eine Temp-Mail-Adresse in Node.js?−
Sende einen POST an https://evilmail.pro/api/temp-email mit deinem X-API-Key-Header. Die Antwort enthält eine echte, funktionierende Adresse und einen sessionToken, mit dem du den Posteingang liest. Kein SDK nötig — es ist ein simpler fetch.
Q2Kann ich das für automatisierte Tests (Jest, Playwright, Cypress) nutzen?+
Ja — das ist der Hauptanwendungsfall. Erstelle einen Posteingang in einem beforeAll-/Setup-Schritt, durchlaufe deinen Ablauf, frage den Posteingang ab, extrahiere den Code und prüfe. Da jeder Aufruf eine zustandslose HTTP-Anfrage ist, funktioniert es in jedem Runner und in CI.
Q3Wie extrahiere ich einen Einmalcode aus der E-Mail?+
Lies die vollständige Nachricht über GET /api/message/{uid}?token=… und führe dann einen regex über mail.text oder mail.html aus. Ein Muster wie /\b(\d{6})\b/ holt ein sechsstelliges OTP; passe es für Magic Links oder längere Codes an.
Q4Brauche ich einen API-Schlüssel, und gibt es ein Rate-Limit?+
Du brauchst einen API-Schlüssel aus deinem EvilMail-Dashboard. Kostenlose und kostenpflichtige Stufen haben unterschiedliche Rate-Limits; kostenpflichtige Tarife schalten außerdem eigene Domains und dauerhafte Postfächer für langlebigere Testkonten frei.
Q5Wie lange lebt der Posteingang?+
Lege ttlMinutes bei der Erstellung fest (bis zu 24 Stunden im kostenlosen Ablauf). Für Testkonten, die du behalten möchtest, nutze eine eigene Domain in einem kostenpflichtigen Tarif, damit die Adresse nie abläuft.
Temp Mail in anderen Sprachen
Ein API-Schlüssel. Wegwerf-Postfächer im großen Stil.
Erstelle unbegrenzt Wegwerf-Adressen, frage sie per HTTP ab und zieh Bestätigungscodes direkt in deine Tests und CI. Kostenlos zum Start; Custom-Domains und höhere Limits in den kostenpflichtigen Tarifen.

