# The undeliverable status

URL: https://email-validation.org/docs/statuses/undeliverable/
Updated: 2026-10-20

> Documentation index: https://email-validation.org/llms.txt

**Undeliverable** means mail sent to this address will not arrive. It costs 1 credit (except malformed addresses,
which we answer for free without a check) and the usual action is `remove`.

## What to do

- **On a form:** ask the person to correct the address. When `did_you_mean` is set, offer the suggestion
  ("Did you mean name@example.com?") rather than changing it silently.
- **On a list:** remove the address or move it to a suppression list, so it is not imported again later.
- **`mailbox_full`:** the mailbox exists but is turning away mail now. If the contact matters, you can re-check it in
  a few weeks; otherwise treat it as undeliverable.

Sending to undeliverable addresses produces hard bounces, which mailbox providers count against your sender
reputation.

## Reasons

### Mailbox not found

`no_mailbox`: The domain receives mail, but this particular mailbox does not exist.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `no_mailbox@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "no_mailbox@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "no_mailbox",
  "action": "remove",
  "account": "no_mailbox",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": true,
  "mx_record": "mx.sandbox.email-validation.org",
  "smtp_provider": "other",
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>

### Domain does not receive mail

`no_inbound_mail`: The domain is set up to send mail only and turns away incoming messages.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `no_inbound_mail@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "no_inbound_mail@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "no_inbound_mail",
  "action": "remove",
  "account": "no_inbound_mail",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": false,
  "mx_record": null,
  "smtp_provider": null,
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>

### Not a valid address

`invalid_syntax`: The text is not a well-formed email address, so no mail server could ever accept it.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `invalid_syntax@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "invalid_syntax@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "invalid_syntax",
  "action": "remove",
  "account": "invalid_syntax",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": false,
  "mx_record": null,
  "smtp_provider": null,
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>

### Likely typo

`likely_typo`: The domain looks like a misspelling of a common mail provider, so check the suggested correction.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `likely_typo@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "likely_typo@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "likely_typo",
  "action": "remove",
  "account": "likely_typo",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": "accepted@sandbox.email-validation.org",
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": true,
  "mx_record": "mx.sandbox.email-validation.org",
  "smtp_provider": "other",
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>

### Domain has no mail records

`no_dns`: The domain has no DNS records that tell senders where to deliver mail.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `no_dns@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "no_dns@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "no_dns",
  "action": "remove",
  "account": "no_dns",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": false,
  "mx_record": null,
  "smtp_provider": null,
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>

### Mailbox full

`mailbox_full`: The mailbox exists but is over its storage limit and is turning away new mail.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `mailbox_full@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "mailbox_full@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "mailbox_full",
  "action": "remove",
  "account": "mailbox_full",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": true,
  "mx_record": "mx.sandbox.email-validation.org",
  "smtp_provider": "other",
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>

### Mail server unreachable

`unroutable`: The domain points its mail to a server address that cannot be reached on the public internet.

- **Recommended action:** Remove. Remove the address from your list or ask for another one.
- **Credit:** 1 credit when it comes from a completed check.
- **Test address:** `unroutable@sandbox.email-validation.org` (free)

<details><summary>Example response</summary>

```json
{
  "email": "unroutable@sandbox.email-validation.org",
  "status": "undeliverable",
  "reason": "unroutable",
  "action": "remove",
  "account": "unroutable",
  "domain": "sandbox.email-validation.org",
  "did_you_mean": null,
  "free_email": false,
  "role_account": null,
  "disposable": null,
  "catch_all_domain": null,
  "mx_found": true,
  "mx_record": "mx.sandbox.email-validation.org",
  "smtp_provider": "other",
  "domain_age_days": 3650,
  "processed_at": "2026-11-02T09:30:00.000Z",
  "credits_used": 0,
  "request_id": "req_7Hq2LmX9cV4bN8tR1zK6wD"
}
```

</details>
