Одноразовые адреса (DEA, disposable email addresses) — их же называют one-time, выбрасываемыми или временными — выдаются сервисами, которые дают адрес, самоуничтожающийся за минуты. Их используют, чтобы пройти форму регистрации, так и не указав настоящий адрес, — и именно поэтому они скапливаются вокруг фрод-регистраций и злоупотребления пробными периодами.
Почему статичного списка недостаточно
Сложность в том, что список одноразовых доменов никогда не бывает полным. Сервисы временной почты постоянно поднимают новые домены, чтобы опережать блокировки. Блок-лист, собранный вручную месяц назад, уже устарел, и именно в этих пробелах проскакивают самые свежие выбрасываемые домены.
Автоматическая загрузка из нескольких источников
CleanContact относится к блок-листу одноразовых доменов как к тому, что нужно обновлять, а не вести вручную. Сервис автоматически тянет списки доменов из нескольких независимых источников DEA по расписанию. Каждый источник — это просто опубликованный список известных одноразовых доменов, по одному в строке:
# пример источника одноразовых доменов
mailinator.com
guerrillamail.com
10minutemail.com
temp-mail.org
throwawaymail.comЗадача по расписанию выполняет синхронизацию по всем настроенным источникам:
- Скачивает каждый источник и нормализует записи — приводит к нижнему регистру, отбрасывает комментарии и пустые строки.
- Домены дедуплицируются по всем источникам в единый сводный блок-лист, поэтому пересекающиеся списки не создают дублей.
- Новые домены добавляются автоматически, как только источники их публикуют; список никто не правит руками.
- Оператор также может вручную запустить немедленное обновление любого отдельного источника.
Поскольку покрытие складывается сразу из нескольких списков, домен, который пропустил один источник, обычно ловит другой — так сводный блок-лист сам остаётся широким и актуальным.
Как это используется при проверке
Когда приходит адрес, самое первое, что проверяет CleanContact — ещё до любого запроса MX, SMTP-рукопожатия или пробы под конкретного провайдера, — это есть ли его домен в блок-листе одноразовых. Совпадение решает всё:
- Адрес сразу получает вердикт Bad с пояснением про одноразовый домен.
- SMTP-соединение не открывается, поэтому проверка мгновенна и ничего не стоит дальше по цепочке.
- Фрод и злоупотребление пробными периодами на выбрасываемых доменах останавливаются на входе.
Блокировка работает как wildcard
Запись в блок-листе покрывает не только сам домен, но и все его поддомены. Проверяется совпадение домена адреса и любого из его родительских доменов, поэтому одна запись перекрывает всё дерево поддоменов сразу — временные сервисы часто раздают почту именно на поддоменах, чтобы обойти блокировку по точному домену.
# в блок-листе одна запись:
bad.com
# заблокированы:
user@bad.com -> Bad (точное совпадение)
user@a.bad.com -> Bad (поддомен)
user@x.y.bad.com -> Bad (вложенный поддомен)
# НЕ заблокированы:
user@notbad.com -> проверяется дальше (другой домен)
user@bad.com.co -> проверяется дальше (bad.com не суффикс)При нескольких совпадениях выигрывает самая точная запись: если в списке есть и bad.com, и a.bad.com, для адреса на a.bad.com применяется его собственная запись. Голый домен верхнего уровня (например, com) записью в блок-листе не считается, поэтому случайная строка не блокирует всё подряд.
В результате получается дешёвая и всегда актуальная первая линия защиты: one-time адреса отсеиваются ещё до того, как загрязнят базу, а блок-лист, который это делает, поддерживает себя в актуальном состоянии сам.