Проверка email-адресов и Domain Intelligence используют общий баланс кредитов. Как работают кредиты

Начать бесплатно

Руководства

Как проверять email-адрес в форме регистрации

Проверяйте формат в браузере, адрес — на сервере, а контроль над ящиком подтверждайте до выдачи доступа, который от него зависит. Отделяйте неопределенный результат от явной ошибки адреса.

Что делать с каждым ответом

Каждый раз одни и те же четыре результата. Инструкция меняется вместе с ситуацией, потому что вместе с ней меняется цена ошибки.

Что делать с каждым ответом
РезультатЧто делать здесь
ДоставляемыйПродолжите регистрацию. Если вход или восстановление аккаунта зависят от ящика, попросите подтвердить адрес: доставляемый результат не устанавливает, кто им управляет.
РискованныйПрочитайте рекомендованное действие и причины. Catch-all домен или ролевой адрес могут быть обычным рабочим выбором. При необходимости продолжите с подтверждением; для одноразовой почты применяйте отдельное правило, если оно нужно вашему пробному периоду.
НедоставляемыйПопросите исправить адрес до завершения регистрации, которая зависит от email. Объясните проблему с адресом и сохраните введенное значение для правки.
НеизвестноРазрешите продолжить с подтверждением ящика. Однозначных свидетельств нет; это не доказывает недействительность адреса. При необходимости проверьте его позже.

Начните с проверки формата в браузере

Используйте email-поле с видимой подписью и объясняйте ошибки рядом с ним. Браузер может заметить пропущенный @ или неполный домен, но не установить существование ящика. Сохраняйте введенный адрес, чтобы человек мог сразу его исправить.

Проверяйте при отправке формы. Если проверка также запускается после выхода из поля, не вызывайте API на каждое нажатие клавиши. При изменении значения отбросьте ответ для старого адреса: запоздалый результат не должен помечать исправленный адрес как ошибочный.

Принимайте решение на сервере

Серверный обработчик регистрации отправляет адрес в POST /v1/verifications. Bearer-ключ хранится на сервере. Там же повторите необходимые проверки ввода: клиент может обойти проверку в браузере. Страница API проверки email описывает запрос и полный ответ.

Читайте вместе status, action и reason_codes. Значения действия: allow, allow_with_email_confirmation и reject. Таблица выше предлагает правила для регистрации, а не неизменное соответствие между статусом и действием.

Предлагайте исправление без автозамены

INVALID_SYNTAX и DNS_NXDOMAIN могут объяснить явную ошибку формата или домена. LIKELY_DOMAIN_TYPO указывает на возможное исправление. Покажите подсказку рядом с введенным адресом и дайте человеку принять ее или оставить исходный вариант. Необычный домен может быть намеренным выбором.

После исправления проверьте новый адрес и свяжите результат с этим значением. Не заменяйте домен без согласия, не удаляйте plus-теги и не считайте ролевой ящик опечаткой.

Обработайте ожидание и недоступность ответа

Полная проверка может вернуть pending с id и retry_after_ms. Подождите указанный интервал и вызовите GET /v1/verifications/{id} с тем же ключом. Повторяйте опрос, только пока проверка выполняется, и задайте предел ожидания для формы. Callback нет.

Когда время истечет, примените свое запасное правило: например, продолжить с подтверждением и завершить проверку позже. Не называйте локальный тайм-аут результатом unknown от API или недействительным адресом. Ошибки HTTP тоже говорят о запросе или сервисе, а не о состоянии ящика. Страница проверки в реальном времени объясняет сценарий ожидания.

Подтвердите контроль над ящиком

Emvero не отправляет письмо подтверждения. Полная SMTP-проверка заканчивается до передачи сообщения; даже положительный ответ сервера не устанавливает, что человек в форме управляет ящиком. Отправьте собственное подтверждение, если от этого зависят вход или восстановление, и проверяйте выполнение условия на сервере.

Для защиты от злоупотреблений добавьте меры против повторных аккаунтов и ботов. DISPOSABLE_DOMAIN может влиять на правила приема адресов, но не доказывает мошенничество. Это решение разобрано в руководстве по злоупотреблению пробными периодами.

Reason codes, которые здесь что-то решают

Эти коды входят в словарь API и объясняют результат проверки. В пояснениях также указаны значения, которые текущие правила проверки или SMTP-проба не возвращают.

Reason codes, которые здесь что-то решают
INVALID_SYNTAXАдрес составлен неверно
LIKELY_DOMAIN_TYPOДомен похож на опечатку
DNS_NXDOMAINДомена не существует
DISPOSABLE_DOMAINСервис одноразовых адресов

Попробуйте на адресе, который вы знаете.

Бесплатная проверка возвращает результат целиком - каждую стадию, каждый reason code, ничего не скрывая.