Тимчасова пошта
на Node.js.
Створіть одноразову поштову скриньку, опитуйте її та отримайте код підтвердження — прямо з вашого набору тестів.
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]Тимчасова пошта в Node.js — це чистий спосіб тестувати email-процеси без справжньої скриньки чи спільного акаунта Gmail. За допомогою EvilMail API ви створюєте одноразову адресу, запускаєте процес реєстрації або скидання пароля, опитуєте скриньку через HTTP і зчитуєте одноразовий код із повідомлення — від початку до кінця, за секунди, без потреби щось прибирати. Кожен виклик — це звичайний `fetch` із заголовком `X-API-Key`, тож він легко вбудовується в Jest, Playwright чи будь-який CI-раннер без жодних залежностей.
Навіщо використовувати тимчасову пошту на Node.js
Наскрізні тести реєстрації
Створюйте свіжу скриньку для кожного тесту, запускайте справжній процес реєстрації та перевіряйте лист підтвердження — без моків і застарілих акаунтів.
CI/CD без справжньої скриньки
Кожен виклик — це stateless HTTP-запит з API-ключем, тож він працює безголово в GitHub Actions, GitLab CI чи Jenkins без браузера та спільної скриньки.
Отримання OTP і magic-link
Прочитайте тіло повідомлення та витягніть шестизначний код чи посилання підтвердження одним рядком regex, а потім програмно продовжте процес.
Ізоляція, безпечна для паралелізму
Кожна адреса незалежна, тож сотні тестів можуть виконуватися паралельно, не конфліктуючи за одну скриньку.
Процес — тимчасова пошта Node.js за 3 виклики
Створіть одноразову скриньку
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 inboxОпитуйте, доки не надійде лист
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);Прочитайте повідомлення та витягніть код
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 — FAQ
Q1Як отримати адресу тимчасової пошти в Node.js?−
Надішліть POST на https://evilmail.pro/api/temp-email із заголовком X-API-Key. У відповіді буде справжня робоча адреса та sessionToken, який ви використовуєте для читання скриньки. SDK не потрібен — це звичайний fetch.
Q2Чи можна використовувати це для автоматизованого тестування (Jest, Playwright, Cypress)?+
Так — це основний сценарій використання. Створіть скриньку на кроці beforeAll/setup, запустіть свій процес, опитуйте скриньку, витягніть код і виконайте перевірку. Оскільки кожен виклик — це stateless HTTP-запит, він працює в будь-якому раннері та в CI.
Q3Як витягнути одноразовий код із листа?+
Прочитайте повне повідомлення через GET /api/message/{uid}?token=…, а потім застосуйте regex до mail.text або mail.html. Шаблон на кшталт /\b(\d{6})\b/ витягує шестизначний OTP; налаштуйте його для magic-link чи довших кодів.
Q4Чи потрібен API-ключ і чи є обмеження за частотою?+
Вам потрібен API-ключ із вашої панелі EvilMail. Безкоштовний і платні тарифи мають різні обмеження за частотою; платні плани також відкривають власні домени та постійні скриньки для довговічніших тестових акаунтів.
Q5Як довго живе скринька?+
Задайте ttlMinutes під час її створення (до 24 годин на безкоштовному процесі). Для тестових акаунтів, які ви хочете зберегти, використовуйте власний домен на платному плані, щоб адреса ніколи не спливала.
Тимчасова пошта іншими мовами
Один ключ API. Одноразові скриньки в масштабі.
Створюйте необмежену кількість тимчасових адрес, опитуйте їх через HTTP і витягуйте коди підтвердження прямо у ваші тести й CI. Безкоштовний старт; власні домени та вищі ліміти на платних тарифах.

