---
title: "What Is an SMTP Handshake in Email Verification? - Emvero"
description: "See the SMTP greeting, EHLO, MAIL FROM and RCPT TO steps in an email check. Learn what acceptance, refusal and temporary replies actually establish."
url: https://emvero.io/glossary/smtp-handshake/
language: en
updated: 2026-10-07
---

All terms

Glossary

# SMTP handshake

An SMTP handshake is the opening exchange between a client and a receiving mail server. A verifier can use it to inspect recipient acceptance before sending any message content.

## The commands before message content

After connecting, an SMTP client reads the receiving server’s greeting and introduces itself with `EHLO`. It supplies an envelope sender with `MAIL FROM`, then names a recipient with `RCPT TO`. The server replies to each command. [RFC 5321](https://www.rfc-editor.org/rfc/rfc5321.html#section-3.3) defines this mail transaction.

The server may advertise `STARTTLS` before the sender command. A client that upgrades the connection to TLS sends `EHLO` again, following [RFC 3207](https://www.rfc-editor.org/rfc/rfc3207.html#section-4.2).

## How Emvero uses the exchange

A full check can inspect the recipient reply and test whether the domain accepts arbitrary recipients. Emvero never issues `DATA`, the command that starts message content, so it sends no email. It may use `RSET` and `QUIT` to finish the session. A domain check opens no SMTP session.

Even a full check can finish without a handshake if domain evidence already determines the result. Provider policy can also omit the probe, recorded as `SMTP_PROBE_SKIPPED_PROVIDER_POLICY`.

## What recipient evidence can establish

`SMTP_RCPT_ACCEPTED` records acceptance at the recipient step and can support `deliverable`. A [catch-all domain](https://emvero.io/glossary/catch-all-domain/) can accept names with no mailbox, however; that finding makes the result `risky`. Acceptance cannot establish ownership, future delivery or inbox placement.

`SMTP_GREYLISTED` and `SMTP_CONNECT_TIMEOUT` leave the mailbox question unresolved. A negative reply may also reflect sender policy or reputation. The current policy converts even an observation classified as `SMTP_MAILBOX_NOT_FOUND` to `SMTP_RECIPIENT_REJECTED_AMBIGUOUS` with `unknown`. `SMTP_FORWARDING_INDICATED` is inconclusive too.

The [verification process guide](https://emvero.io/blog/how-email-verification-works/) places SMTP within the complete check. When using the [email verifier](https://emvero.io/email-verification/), read `status` together with `reason_codes` to see which evidence supports the result.

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

Recipient accepted

`SMTP_RECIPIENT_REJECTED_AMBIGUOUS`

Recipient refused for an ambiguous reason

`SMTP_GREYLISTED`

Temporary refusal classified as greylisting

`SMTP_CONNECT_TIMEOUT`

SMTP connection did not open before the timeout

`SMTP_PROBE_SKIPPED_PROVIDER_POLICY`

Probe skipped by provider policy

`SMTP_FORWARDING_INDICATED`

Server reply indicated forwarding; recipient evidence remains inconclusive

## Related terms

### Greylisting

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

### Catch-all domain

A mail server accepts arbitrary recipients, so acceptance alone cannot establish whether a particular mailbox exists.

### 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.

### Email address syntax

Address-format rules checked before network lookups. A valid format does not establish a working domain or mailbox.

## Compared side by side

### Syntax validation vs SMTP verification

Format rules catch malformed addresses; an SMTP probe can add recipient evidence. Neither guarantees message delivery.

[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
