Тестуйте крок з поштою,
без спільної поштової скриньки.
Кожна реєстрація, запрошення, скидання пароля й одноразовий код закінчуються листом — і майже кожен набір тестів його підробляє. Виділіть одноразову адресу, надішліть на неї справжній лист і прочитайте код назад через API. Жодної спільної скриньки, жодного IMAP-опитувача, який треба підтримувати.
Чотири кроки — і жоден із них не поштова скринька.
Адреса живе рівно стільки, скільки триває ваш тест. Лист, надісланий на неї, розбирається, очищується і стає доступним за лічені секунди — людині, яка дивиться в консоль, або CI-задачі, яка цей лист і спричинила.
Виділіть адресу
Один виклик повертає свіжу адресу на нашому домені та коротку фразу до неї. Локальна частина — це 60 біт випадковості, тож її неможливо ні вгадати, ні перебрати, і вона ніколи й нікому не видається повторно.
Націльте на неї тест
Використайте її як адресу реєстрації у своїй фікстурі й додайте фразу будь-де в тему листа, який надсилає ваш застосунок. Ваш власний застосунок — єдине в цьому циклі, що ви контролюєте, тож це коштує один рядок у шаблоні й робить адресу непридатною для всіх інших.
Прочитайте лист назад
Опитуйте ендпоінт повідомлень або дивіться в консоль. Попросіть одноразовий код параметром запиту — і вам не доведеться писати регулярний вираз, який інакше довелося б робити руками.
Дайте їй спливти
Повідомлення видаляються наприкінці вікна зберігання, а на безкоштовному плані сама адреса спливає через 24 години. Звільніть її раніше, щойно прогін завершився. Нічого не накопичується.
Цей сервіс ніколи не надсилає пошту. Шляху відправлення в ньому немає взагалі, невідомі отримувачі відхиляються ще на RCPT TO, тож будь-який bounce формує сервер відправника, а домен вхідних адрес публікує v=spf1 -all.
Частини, які інакше ви зробили б погано.
Звична відповідь — спільний акаунт Gmail із паролем застосунку. Він працює, доки не запустяться два набори тестів одночасно, доки не зміниться пароль або доки комусь не доведеться пояснювати це на аудиті.
Одноразові коди, вже видобуті
Попросіть extract=otp — і код та посилання повернуться окремими полями. Евристика радше не поверне нічого, ніж вгадуватиме: впевнено неправильний код завалить ваші тести не на тій системі.
Вердикти SPF, DKIM і DMARC
Кожне повідомлення показує, як воно пройшло автентифікацію. Це найшвидший спосіб зрозуміти, чому ваш власний відправник потрапляє в спам, і жоден сайт одноразової пошти цього не дає.
Адреси, які ніколи не видаються повторно
Звільнена адреса назавжди лишається позначеною як використана. Повторне використання віддало б наступному власнику листи скидання пароля до того акаунта, який зареєстрував попередній.
Домен, який лишається доставним
На безкоштовних планах повідомлення приймається, лише якщо його тема містить фразу, видану разом з адресою. Отже, цими адресами не можна зареєструватися в чужих сервісах — і саме тому у великих провайдерів немає причин блокувати цей домен, а адреса, якою ви тестуєте сьогодні, працюватиме й наступного кварталу. Платні плани роблять це опційним — для наборів тестів, які отримують пошту, що вони не контролюють.
Безпечний рендеринг HTML
Тіла листів очищуються на вході за списком дозволеного, а потім рендеряться в ізольованому фреймі під content-security policy. Віддалені зображення лишаються заблокованими, доки ви не попросите, тож піксель відстеження не спрацює при відкритті.
Вкладення названі, а не віддані
Ви бачите імʼя файлу, тип, розмір і SHA-256 кожного вкладення. Самі байти свідомо не зберігаються: сервіс, якому може написати будь-хто, не повинен бути ще й файловим хостингом.
Ізоляція в межах робочого простору
Кожна адреса, повідомлення і ключ належать вашому робочому простору, і це перевіряється на кожному маршруті. Чуже повідомлення відповідає 404, а не 403, тож перебрати ідентифікатори не вийде.
Увесь продукт — в одному запиті.
Саме цей виклик робить тест реєстрації після того, як відправив форму. Без IMAP, без бібліотеки опитування, без регулярного виразу для коду.
curl -s \ -H "Authorization: Bearer $INBOXES_TOKEN" \ "https://inboxes.nimbusnexus.net/v1/inboxes/$INBOX_ID/messages?extract=otp&since=$STARTED_AT"
{
"items": [{
"from_addr": "[email protected]",
"subject": "Confirm your address [nn-7f3a2b]",
"auth": { "spf": "pass", "dkim": "pass", "dmarc": "pass" },
"extracted": { "otp": "418902", "links": ["https://your-app.test/verify?t=..."] }
}],
"next_offset": null
}Дивитися — безкоштовно, автоматизувати — за гроші.
Консоль читає пошту на будь-якому плані, включно з безкоштовним, — платний план дає можливість автоматизувати роботу з нею, зберігати листи довше, тримати більше однієї адреси одночасно і отримувати пошту від відправників, яких ви не контролюєте.
Free
Для нечастих прогонів
$0
- Одна адреса, замінюється щодня
- Тема має містити вашу фразу
- Зберігання повідомлень 24 години
- 1,000 повідомлень на місяць
- Читання в консолі, без API
Starter
Ранній доступДля набору тестів, що працює в CI
$19/ місяць
- Пʼять адрес
- Зберігання 7 днів
- 25,000 повідомлень на місяць
- API повідомлень і видобування кодів
Pro
Ранній доступДля команди з багатьма наборами тестів
$99/ місяць
- Двадцять пʼять адрес
- Зберігання 30 днів
- 250,000 повідомлень на місяць
- Вкладення зберігаються
Custom
Для організації
Звʼязатися з відділом продажів
- Кількість адрес і зберігання за договором
- Власний домен для скриньок
- Фраза опційна на будь-якій адресі
- Обсяг, SLA і підтримка узгоджуються напряму
Одиниця обліку — прийняте повідомлення. Повідомлення, відхилене на вході — невідома адреса, немає фрази в темі, вичерпана квота, перевищений ліміт розміру, — не зберігається і не рахується. Більші обсяги й довше зберігання оформлюємо напряму.
- Невгадувані адреси, які не видаються повторно
- Очищення HTML за списком дозволеного
- Вердикти SPF / DKIM / DMARC
- Рендеринг повідомлень в ізольованому середовищі
- Ізоляція в межах робочого простору
- Журнал аудиту кожної зміни
- Метадані та хеші вкладень
- Жодної вихідної пошти, ніколи
Платні плани поки що не можна підключити самостійно: біллінг для цього продукту ще налаштовується, тож зміну плану ми оформлюємо напряму. Для безкоштовного плану така розмова не потрібна.
Те, що варто знати, перш ніж націлити на це тест.
Досить обходити крок з поштою.
Скажіть, що потрібно вашому набору тестів, і ми видамо вам адресу. Більші обсяги, довше зберігання та власний домен ми оформлюємо напряму, доки самостійна оплата ще доробляється.