Тимчасова пошта
на cURL.
Одноразові скриньки та перехоплення OTP прямо з вашого терміналу за допомогою curl + jq.
#!/usr/bin/env bash
# Create a disposable inbox (TTL 30 min) and print the address.
# Requires: curl, jq, and EVILMAIL_KEY in your environment.
curl -s -X POST https://evilmail.pro/api/temp-email \
-H "X-API-Key: $EVILMAIL_KEY" \
-H "Content-Type: application/json" \
-d '{"ttlMinutes": 30}' \
| jq -r '.data.email'Інтеграція cURL temp mail у ваш робочий процес дозволяє створити одноразову скриньку, дочекатися листа з підтвердженням і отримати код підтвердження, не залишаючи оболонки. EvilMail — це API тимчасової пошти, створений для розробників: три звичайні HTTP-ендпоінти, без SDK, без браузера, без реєстрації акаунта для кожного тесту. Спрямуйте curl на нього з CI-конвеєра, тестового bash-скрипта чи швидкого одноразового сценарію — і ви отримаєте справжню поштову скриньку, яка на вимогу приймає OTP-коди, magic-посилання та вітальні листи, що ідеально підходить для наскрізного тестування процесів реєстрації та підтвердження електронної пошти.
Навіщо використовувати тимчасову пошту на cURL
Автоматична перевірка пошти в CI
Створіть свіжу скриньку всередині конвеєра, запустіть реєстрацію та опитуйте лист з підтвердженням — усе в одному кроці bash. Жодної спільної тестової скриньки, жодних нестабільних ручних перевірок.
Тестування входу з OTP та 2FA
Отримайте одноразові паролі викликом curl і регулярним виразом, а потім передайте їх прямо у ваш процес входу. Ідеально для наскрізних тестів, що мусять пройти справжню перевірку електронною поштою.
Одноразові адреси для скриптів
Потрібна справжня скринька для вебхука, пробної реєстрації чи димового тесту? Створіть її на льоту POST-запитом і відкиньте, коли спливе TTL.
Налагодження транзакційної пошти
Захоплюйте необроблений текст і HTML того, що насправді надсилає ваш застосунок, а потім перевіряйте теми, посилання й тіла листів із командного рядка, щоб швидко виловлювати помилки шаблонів чи доставки.
Процес — тимчасова пошта cURL за 3 виклики
Створіть одноразову скриньку
#!/usr/bin/env bash
set -euo pipefail
# Create a 30-minute disposable inbox in one POST.
resp=$(curl -s -X POST https://evilmail.pro/api/temp-email \
-H "X-API-Key: $EVILMAIL_KEY" \
-H "Content-Type: application/json" \
-d '{"ttlMinutes": 30}')
# Pull the address and session token out of the response.
EMAIL=$(echo "$resp" | jq -r '.data.email')
TOKEN=$(echo "$resp" | jq -r '.data.sessionToken')
echo "Inbox: $EMAIL"
echo "Token: $TOKEN"Опитуйте, доки не надійде лист
#!/usr/bin/env bash
set -euo pipefail
# Poll the inbox up to 20 times, 3s apart, until mail lands.
# (Note: don't use $UID — it's a read-only bash variable.)
MSG_UID=""
for i in $(seq 1 20); do
msgs=$(curl -s "https://evilmail.pro/api/temp-email/$TOKEN" \
-H "X-API-Key: $EVILMAIL_KEY")
MSG_UID=$(echo "$msgs" | jq -r '.data.messages[0].uid // empty')
if [ -n "$MSG_UID" ]; then
echo "Message arrived (uid=$MSG_UID)"
break
fi
echo "Attempt $i: nothing yet, retrying in 3s..."
sleep 3
done
if [ -z "$MSG_UID" ]; then
echo "Timed out waiting for mail" >&2
exit 1
fiПрочитайте повідомлення та витягніть код
#!/usr/bin/env bash
set -euo pipefail
# Fetch the full message body by uid.
body=$(curl -s \
"https://evilmail.pro/api/message/$MSG_UID?token=$TOKEN" \
-H "X-API-Key: $EVILMAIL_KEY")
TEXT=$(echo "$body" | jq -r '.data.text')
# Grab the first standalone 6-digit code from the body.
CODE=$(echo "$TEXT" | grep -oE '\b[0-9]{6}\b' | head -n1)
echo "OTP: $CODE"Тимчасова пошта cURL — FAQ
Q1Як отримати адресу temp mail у cURL?−
Надішліть POST-запит на https://evilmail.pro/api/temp-email із заголовком X-API-Key та JSON-тілом на кшталт {"ttlMinutes": 30}. Відповідь містить data.email (адресу) і data.sessionToken, який ви використовуєте для всіх подальших викликів. Пропустіть відповідь через jq, щоб прочитати поля.
Q2Чи можу я використовувати це для автоматизованого тестування?+
Так — це основний сценарій використання. Оскільки все працює через звичайний HTTP, ви можете створювати скриньки, опитувати повідомлення та витягувати коди з будь-якого CI-раннера чи bash-скрипта. Створюйте свіжу скриньку на кожен тестовий запуск, щоб ізолювати запуски та уникнути перехресного забруднення між випадками.
Q3Як витягнути OTP?+
Отримайте повідомлення за допомогою GET /api/message/{uid}?token={sessionToken}, прочитайте data.text (або data.html) через jq, а потім прогоніть по ньому регулярний вираз. Для стандартного 6-значного коду grep -oE '\b[0-9]{6}\b' | head -n1 повертає перший збіг. Скоригуйте шаблон для посилань чи інших форматів кодів.
Q4Чи потрібен API-ключ / чи є обмеження частоти?+
Так, кожен запит повинен містити заголовок X-API-Key — зчитуйте його зі змінної середовища, наприклад EVILMAIL_KEY, і ніколи не вписуйте його жорстко в код. Запити обмежені за частотою для кожного ключа, тож додайте коротку паузу між опитуваннями (у прикладах — 3 секунди), а не бомбардуйте ендпоінт у щільному циклі.
Q5Як довго живе скринька?+
Ви керуєте цим значенням ttlMinutes, яке передаєте під час створення — 30 хвилин у цих прикладах. Щойно спливає TTL, адреса та її повідомлення відкидаються автоматично, тож нічого прибирати не потрібно. Запросіть більший TTL, якщо вашому процесу потрібно більше часу на доставку.
Тимчасова пошта іншими мовами
Один ключ API. Одноразові скриньки в масштабі.
Створюйте необмежену кількість тимчасових адрес, опитуйте їх через HTTP і витягуйте коди підтвердження прямо у ваші тести й CI. Безкоштовний старт; власні домени та вищі ліміти на платних тарифах.

