TL;DR
- Zoho Mail is not a catch-all by default. The admin console has a Catch-all Address setting for each domain.
- When it is set, Zoho says mail to "non-existing" or "invalid" addresses is delivered, not bounced.
- When it isn't, we expect the usual refusal, which we map to undeliverable. Zoho's page implies this but doesn't state the SMTP reply.
The direct answer
Zoho Mail's admin guide says a catch-all address collects mail sent to any address on the domain: "the emails sent to any email address related to the domain will not be bounced back", including mail to "non-existing" or "invalid" addresses (Zoho Mail: Catch-all Address and Notification Address, checked 2026-10-18). You need a real mailbox or group to receive it, and the setting is under the domain's advanced settings in the admin console.
It is therefore an opt-in. The page doesn't say in so many words what happens with no catch-all, but its examples (a misspelled address that would otherwise bounce) imply the message is returned to the sender.
Note that "Zoho" covers both Zoho-hosted company domains and zoho.com addresses. The catch-all setting applies to company domains an admin controls.
What this means for verification
The method is the same everywhere: we open an SMTP session with the domain's mail server, ask whether it will take mail for the address, ask the same about a random address that cannot exist, and never send the message (how it works).
| What the server says | Our result |
|---|---|
| Accepts the address, refuses the random test address | deliverable (risky: low_quality for role addresses such as info@) |
Refuses the address (550 5.1.1 or similar) | undeliverable: rejected_email |
| Accepts the address and the random test address | risky: low_deliverability (catch-all) |
Temporary 4xx answer (deferral, rate limit, greylisting) | unknown: unavailable_smtp after a later retry |
Refuses us for who we are (5.7.x, blocklist or policy text) | unknown: blocked_by_server |
Because the setting is per domain, the only way to know is to test the domain. We find Zoho-hosted domains by their MX records. We don't read the catch-all setting from DNS because it isn't there.
What we couldn't confirm
- The exact SMTP code Zoho returns for a missing mailbox when no catch-all is set. We have not published one because we didn't verify it.
- Whether Zoho limits or defers probing sessions. No Zoho source on this.
Sources
- Zoho Mail admin help, catch-all: checked 2026-10-18
Common questions
Is Zoho Mail a catch-all?
Not by default. An admin can set a catch-all address for a domain, after which mail to invalid addresses is delivered instead of bounced.
Can I see Zoho's catch-all setting in DNS?
No. It is a mail server setting, so the only way to find out is to ask the server about a random address.
What result will I see for a Zoho catch-all domain?
Risky with the reason low_deliverability.