---
title: "Email verification service error codes explained - Emvero"
description: "Separate skipped SMTP work, local service limits and expired attempts from mailbox evidence. See how pending and unknown results affect your next step."
url: https://emvero.io/glossary/our-own-failures/
language: en
updated: 2026-10-07
---

All terms

Glossary

# Codes that describe us, not the address

Emvero may omit, delay or fail to complete an SMTP probe because of request settings or service-side limits. These reasons explain missing recipient evidence and do not record a refusal from the destination.

## Reasons originating within Emvero

A value in `reason_codes` may describe the address, a mail-server reply or a limit within Emvero. The service-side codes below explain why recipient evidence was not obtained. They cover selected causes, rather than every service-related condition.

## Omitted, held back or unavailable probes

`SMTP_PROBE_NOT_REQUESTED` means the request did not ask for a mailbox probe, as with a domain check. The stage was deliberately omitted; this is not an outage report. Other checks can still provide evidence.

`SMTP_PACING_REFUSED` means Emvero held back an attempt at its own pacing limit. `SMTP_EGRESS_UNAVAILABLE` means an outbound connection resource was unavailable. `SMTP_QUEUE_UNAVAILABLE` and `SMTP_SCHEDULER_UNAVAILABLE` identify an inability to queue or schedule the work. These conditions record no refusal from the receiving server.

## Work that expires before a final result

`SMTP_QUEUE_EXPIRED` means the SMTP work did not produce a final result within the allowed time. It may expire while waiting or after a worker starts it. The code therefore cannot tell you whether a connection occurred.

`SMTP_GREYLISTED` instead records a temporary refusal from the destination. An [SMTP policy rejection](https://emvero.io/glossary/policy-rejection/) also records a remote decision. Keeping the causes separate lets you distinguish unavailable verification work from a reply requiring interpretation.

## Handling pending work and completed uncertainty

`SMTP_QUEUED` with `pending` means the work is waiting or in progress. Retrieve the same verification after `retry_after_ms`. A completed `unknown` has already reached an inconclusive result; repeatedly retrieving it does not continue pending work.

Choose a deadline and fallback for your application, such as requiring confirmation before granting account access. A separate check later may provide more evidence, but has no guaranteed outcome. The [verification result guide](https://emvero.io/blog/reading-a-verification-result/) explains how the status, action and check fields support that decision.

## Related reason codes

The API uses these identifiers to explain a check. The notes identify values that the current verification policy or probe does not return.

`SMTP_PROBE_NOT_REQUESTED`

Mailbox probe was not requested

`SMTP_PACING_REFUSED`

Probe withheld at Emvero’s pacing limit

`SMTP_EGRESS_UNAVAILABLE`

Outbound connection resource was unavailable

`SMTP_QUEUE_UNAVAILABLE`

Probe could not be queued

`SMTP_QUEUE_EXPIRED`

SMTP work did not produce a final result before the deadline

`SMTP_SCHEDULER_UNAVAILABLE`

Probe could not be scheduled

## Related terms

### Throttling and rate limiting

A destination limits how often probes can connect or ask about recipients. The limit does not establish mailbox existence.

### Greylisting

A temporary SMTP refusal asks the sender to try again. A later attempt may provide more evidence.

### Policy rejection

A destination refuses a session or recipient under its own rules. The refusal alone cannot establish that the mailbox is absent.

## Compared side by side

### Unknown vs undeliverable

Separate inconclusive evidence from a permanent technical failure, then choose whether to retry, confirm or reject.

### Confidence score vs check evidence

A confidence score is not a delivery probability. Check stages, reason codes and the recommended action explain the result.

[All terms](https://emvero.io/glossary/)

## Try a check in your account.

Choose the check that fits your question and inspect the result.

Start for free
