---
title: "SMTP protocol errors during email verification - Emvero"
description: "Understand invalid greetings, interrupted SMTP exchanges and response-size limits. These observations leave a check inconclusive without proving a bad mailbox."
url: https://emvero.io/glossary/smtp-protocol-error/
language: en
updated: 2026-10-07
---

All terms

Glossary

# Protocol errors

An SMTP protocol error means the probe could not complete or interpret the command-and-reply exchange. The resulting check may remain inconclusive about the mailbox.

## The exchange a probe must interpret

An SMTP connection begins with a server greeting, followed by commands and replies. Replies have three-digit codes and may span several lines, as defined in [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-4.2). The probe needs a readable, usable exchange to obtain recipient evidence. The [SMTP handshake explanation](https://emvero.io/glossary/smtp-handshake/) describes the normal sequence.

## Greeting, reply and reading-limit failures

`SMTP_BANNER_INVALID` means the opening reply did not supply the positive greeting the probe requires. A readable negative greeting can produce this code too. It does not establish that the port runs a non-mail service.

`SMTP_PROTOCOL_ERROR` can describe a malformed reply or another exchange the probe cannot complete or interpret. `SMTP_REPLY_TOO_LARGE` means a reply size, line count or accumulated session response exceeded a reading limit. Emvero stops reading at that limit. The limit concerns the exchange, not the mailbox’s storage capacity.

## Other causes of an interrupted check

A correctly formatted `550` at `RCPT TO` is a recipient refusal and does not automatically indicate a protocol error. The [ambiguous rejection explanation](https://emvero.io/glossary/ambiguous-rejection/) covers why its cause can remain unclear. An encryption-upgrade problem belongs to [TLS and STARTTLS failures](https://emvero.io/glossary/tls-failure/). A connection that never opened may reflect a transport failure or [SMTP throttling](https://emvero.io/glossary/smtp-throttling/).

## Keeping the result in context

If no other evidence determines the decision, the completed result is `unknown` with `allow_with_email_confirmation`. An unusable exchange cannot establish that the mailbox is absent or that every [mail route for the domain](https://emvero.io/glossary/mx-record/) fails.

Keep `reason_codes`, `checks` and `freshness` with the address. If you manage the destination, repeated errors may justify reviewing its configuration. A later check may help after conditions change, without guaranteeing delivery. [Unknown versus undeliverable](https://emvero.io/compare/unknown-kept-apart/) explains when to use confirmation or separate review.

## 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_BANNER_INVALID`

Opening reply did not provide the required positive greeting

`SMTP_PROTOCOL_ERROR`

SMTP exchange could not be completed or interpreted

`SMTP_REPLY_TOO_LARGE`

SMTP response exceeded a size, line-count or session reading limit

## Related terms

### SMTP handshake

The greeting and commands used to ask a mail server about a recipient, stopping before message content is sent.

### TLS and STARTTLS failures

An attempted STARTTLS upgrade fails before the recipient check. Missing STARTTLS support and certificate validation are separate questions.

### MX record

A DNS record that identifies a domain’s mail servers and their priority. A mail route does not prove that a mailbox exists.

[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
