Protect your signup form from bad email addresses
A cleaning run just flagged a few thousand dead addresses, and someone asks how they got in. Almost all of them came through a form: a signup, a checkout, a gated download. Fix the form and you stop paying to clean the same mistakes every quarter.
Bots are the second reason. A form with no guard lets a script sign up addresses that never asked for anything, and your confirmation emails go to them from your domain. Those sends bounce or draw complaints, and the damage lands on your sender reputation, not the bot's.
The order the work happens in
Suggest a fix for typo domains in the browser
A hint like "Did you mean gmail.com?" for gmial.com costs nothing and catches common slips before any call goes out. ZapBounce also checks the address itself, so your server gets a second look at slips the hint missed.
Check the domain's MX record
A domain with no mail server can't receive anything. One DNS lookup in your own code removes invented domains in milliseconds, and an address that fails syntax never costs a ZapBounce credit either.
Verify when the field loses focus
Call the real-time check as the person tabs out of the email field, not on submit. The check runs while they type a name and a password, so the answer is ready by the time they click.
Let the signup through if the answer is slow
Set a timeout of a second or two and accept the registration when it expires. A slow reply means a receiving server is busy or refusing probes, and your visitor had nothing to do with that.
Add a honeypot and a rate limit
A hidden field that only bots fill in, plus a per-IP limit, stops scripted signups before they reach the check. That keeps your verification volume, and your bill, tied to real people.
What each result means here
The same four results and their flags, read against this job. A catch-all worth keeping in one situation is one to exclude in another.
| Result | What to do with it |
|---|---|
| Valid | Accept and move on. The person never sees the check. |
| Invalid | Show an inline message while they're still on the page, with your own suggestion when the domain looks like a common provider. This is the one moment a bad address can become a good one. |
| Catch-all | Accept. Company domains return this often, and your business signups are among your best. |
| Unknown | Accept and flag the row for a re-check later. The receiving server didn't answer, and the result is free. |
| Role flag | Accept on a B2B product, where info@ is often the right contact. On a personal account, ask for the person's own address. |
| Disposable flag | Block with a friendly message where a throwaway signup costs you money, such as a free trial. Otherwise accept it and tag the row. |
How you know it is finished
Your first send to last month's signups bounces close to zero, the form has turned away nobody who typed a real address correctly, and scripted signups have stopped showing up in your list.
Worth planning for
Form checks are low volume and high value. A site taking a thousand signups a month fits inside the 100 free credits plus a $5 pack of 1,000, and credits never expire. Unknown results cost nothing, which matters at a form because you check each address once, with no time to retry. The real-time API page shows the call itself.
Questions people ask
Should a failed email check block a signup?
No. Block only a clear invalid or a disposable domain you've chosen to refuse. Set a timeout of a second or two, let the signup through when it expires, and re-check the unknowns later. Blocking on a non-answer turns another company's server policy into your lost customer.
Does real-time email verification slow down my form?
Not when it runs as the person tabs out of the email field. The check is one DNS lookup and a short SMTP conversation that closes before any message is sent, and it finishes while they fill in the rest of the form. A timeout of a second or two covers the slow servers.
Is a regular expression enough to validate a signup email?
It catches malformed input and nothing else. A perfectly shaped address at a domain with no mail server passes every regular expression ever written. Pair the pattern with an MX lookup and a mailbox check.
How much does signup form verification cost?
Most forms cost little or nothing. ZapBounce gives 100 free checks every month with no card, then $5 buys 1,000 checks that never expire. Unknown results, duplicates and syntax errors are never billed.
Try it on the file in front of you
100 free checks a month, no card. Addresses we could not get an answer on come back labeled as unknown, and those are not billed.