BillionVerify LogoBillionVerify

Коды причин верификации

Полный справочник всех кодов reason, возвращаемых API BillionVerify — значение каждого кода и рекомендуемые действия.

Каждый результат верификации содержит поле reason, объясняющее, почему адрес электронной почты получил свой статус. Используйте этот справочник для построения точной логики фильтрации, диагностики неожиданных результатов и оптимизации стратегии рассылки.

Как работают причины

Поле reason присутствует во всех ответах верификации рядом с полем status:

{
  "email": "user@example.com",
  "status": "valid",
  "reason": "smtp_deliverable"
}

Коды причин — это стабильные строковые идентификаторы, которые можно использовать напрямую в правилах фильтрации или условной логике.

Valid (Действительный)

Письма со status: "valid" подтверждены как доставляемые.

ПричинаОписание
smtp_deliverableSMTP RCPT вернул 250 OK — почтовый ящик подтверждён как доставляемый. Также используется, когда режим DBEB Microsoft 365 подтверждает доставку или когда домен catch-all дополнительно подтверждает конкретный адрес.

Invalid (Недействительный)

Письма со status: "invalid" следует удалить из списка — доставка невозможна.

ПричинаОписание
invalid_syntaxАдрес электронной почты не прошёл синтаксический анализ — некорректная локальная часть, домен или отсутствует @.
no_mx_recordsУ домена нет MX-записей (NXDOMAIN или пустой результат запроса MX).
spf_reject_allУ домена нет MX-записей и есть SPF-запись с -all — домен явно отклоняет всю входящую почту.
mailbox_not_foundSMTP 550/5xx подтвердил, что почтовый ящик не существует на удалённом сервере.
host_not_foundMX-хост не ответил — хост недоступен или не существует.

Unknown (Неизвестный)

Письма со status: "unknown" не удалось верифицировать окончательно. Некоторые носят временный характер (можно повторить попытку); другие представляют структурные ограничения.

ПричинаПовторная попыткаОписание
smtp_unverifiableНетПровайдер блокирует автоматизированную SMTP-верификацию (Apple iCloud, Microsoft consumer, Proton, Tuta). Результат основан на эвристике уровня домена.
smtp_blockedНетУдалённый SMTP-сервер явно заблокировал или внёс соединение в чёрный список.
smtp_eof_blockedДаMX закрыл соединение до отправки баннера — как правило, ограничитель скорости по IP или правило fail2ban.
smtp_timeoutДаОперация SMTP завершилась по таймауту (дедлайн контекста или отмена).
smtp_connection_failedНетОбщая ошибка соединения SMTP — нет более специфичного совпадения.
smtp_rate_limitedДаУдалённый SMTP-сервер вернул ответ об ограничении скорости (421, 450, 451 или превышен лимит сообщений).
smtp_greylistedДаОбнаружен общий ответ грейлистинга — повторите попытку после задержки.
mimecast_greylistДаГрейлистинг Mimecast / временный сбой 451.
proofpoint_ad_lookupДаВыполняется асинхронный поиск AD Proofpoint (временный сбой 421 4.1.1 при проверке получателя).
policy_temp_failДаОбщий временный сбой 4xx из-за применения удалённой политики.
google_rate_limitДаGoogle MX вернул ответ об ограничении скорости или временного отклонения.
google_dmarc_misalignmentНетКонфигурация DMARC домена не согласована — Google отклоняет согласно политике DMARC.
m365_ip_rep_blockДаMicrosoft 365 отклонил соединение из-за репутации IP (коды 4.7.650 / 4.7.651).
mailbox_fullНетПочтовый ящик существует, но превышен квота (SMTP 452 или ответ о заполненном ящике).
mailbox_disabledНетПочтовый ящик существует, но отключён или деактивирован.
dns_timeoutДаЗапрос DNS или MX завершился по таймауту — временная проблема резолвера.
dns_lookup_errorДаЗапрос DNS завершился ошибкой, отличной от NXDOMAIN (SERVFAIL, таймаут UDP или ошибка резолвера).
yahoo_api_verifiedНетAPI регистрации Yahoo подтвердил доставляемость адреса (пакетный путь).
yahoo_api_not_deliverableНетAPI регистрации Yahoo подтвердил, что адрес недоставляем (пакетный путь).
yahoo_api_errorДаВызов API регистрации Yahoo завершился ошибкой — общая ошибка.
yahoo_api_unavailableДаAPI регистрации Yahoo был недоступен (сбой работоспособности на уровне пакета).
yahoo_api_eofДаAPI Yahoo вернул ранний EOF — временный разрыв TCP/TLS.
yahoo_api_unavailable_after_fallbackДаAPI Yahoo завершился ошибкой и резервный SMTP также завершился ошибкой.
carrier_blockedНетДомен японского оператора (docomo.ne.jp, au.com и т.д.) — SMTP заблокирован политикой оператора.
internal_verifier_errorДаНеклассифицированная внутренняя ошибка верификатора — временный сбой.
rate_limitedДаПисьмо было ограничено по скорости при пакетной обработке (псевдоним smtp_rate_limited в файловых заданиях).
bucket_default_skip_smtp_unknownНетРежим верификации на уровне аккаунта настроен на пропуск SMTP — результат основан только на проверках домена.

Risky (Рискованный)

Письма со status: "risky" имеют умеренный риск доставляемости.

ПричинаПовторная попыткаОписание
mx_only_verification_semaphore_timeoutДаТаймаут семафора параллелизма SMTP — резервная верификация только по MX подтвердила валидные MX-записи, но почтовый ящик не удалось верифицировать индивидуально.

Catch-all (Ловит всё)

Письма со status: "catchall" принадлежат доменам, принимающим почту для всех адресов. Индивидуальную доставляемость подтвердить невозможно.

ПричинаОписание
catch_all_domainДомен подтверждён как catch-all — случайный RCPT-зонд принят почтовым сервером.
catch_all_deliverableДомен catch-all, и конкретный адрес также вернул 250 OK на RCPT.
catch_all_inferredСтатус catch-all выведен из кэшированных данных (косвенно, не живой зонд).
m365_internal_relayДомен Microsoft 365 настроен как внутреннее реле — все RCPT принимаются, но не верифицируются индивидуально.
gateway_accept_allШлюз безопасности (Mimecast, Proofpoint и т.д.) в режиме accept-all.
forwarding_aliasСервис псевдонимов переадресации почты (SimpleLogin, Firefox Relay, Duck.com).
region_consumer_accept_allРегиональный потребительский домен (например, naver.com, daum.net), известный тем, что принимает всю входящую почту — SMTP-зонд пропускается.
bucket_default_skip_smtp_catchallРежим верификации на уровне аккаунта настроен на пропуск обнаружения catch-all SMTP.

Role (Ролевой адрес)

Письма со status: "role" принадлежат общим почтовым ящикам (например, info@, support@, noreply@). Эти адреса обычно доставляемы, но имеют низкую вовлечённость.

Ролевые адреса наследуют reason от базовой проверки SMTP — для этого статуса нет специальных кодов причин. Например, ролевой адрес, прошедший SMTP, покажет reason: "smtp_deliverable".

Disposable (Одноразовый)

Письма со status: "disposable" принадлежат временным сервисам электронной почты. Принятие таких адресов обычно приводит к регистрациям низкого качества.

ПричинаОписание
disposable_domainДомен числится как известный поставщик одноразовой / временной электронной почты.

Использование причин при фильтрации

Вы можете комбинировать status и reason для точной сегментации списка. Например, чтобы сохранить письма unknown, которые являются неизвестными только из-за временных проблем:

function isRetryableUnknown(result) {
  const retryableReasons = new Set([
    'smtp_eof_blocked', 'smtp_timeout', 'smtp_rate_limited',
    'smtp_greylisted', 'mimecast_greylist', 'proofpoint_ad_lookup',
    'policy_temp_fail', 'google_rate_limit', 'm365_ip_rep_block',
    'dns_timeout', 'dns_lookup_error', 'yahoo_api_error',
    'yahoo_api_unavailable', 'yahoo_api_eof',
    'yahoo_api_unavailable_after_fallback', 'internal_verifier_error',
    'rate_limited', 'mx_only_verification_semaphore_timeout',
  ]);
  return result.status === 'unknown' && retryableReasons.has(result.reason);
}

On this page