Email Risk Scoring: Signals to Trust Before You Send
Use email risk scoring to decide which addresses to send, suppress, or verify by combining domain, mailbox, role, disposable, and catch-all signals.

Email risk scoring helps you decide what to do with an address before you send. It turns verification signals into a practical verdict: accept, review, throttle, suppress, or block.
A simple “valid” result is not enough. Some addresses look valid but still carry bounce, abuse, or reputation risk.
What Is Email Risk Scoring?
Email risk scoring is a weighted evaluation of deliverability risk and abuse risk for an email address.
Instead of asking only, “Is this address valid?”, you ask better questions:
- Will this mailbox probably accept mail?
- Does this domain exist and receive mail?
- Is the address disposable or temporary?
- Is the domain catch-all?
- Is this a role account like
info@orsupport@? - Does the address contain a likely typo?
- How costly is a bad decision in this workflow?
That last question matters. A risky email address on a free trial form is not the same as a risky address in a password reset flow. The same signal can lead to different actions.
A valid/invalid check gives you a hard answer when the evidence is clear. Email risk scoring gives you a usable answer when the evidence is mixed.
For example:
| Address state | Simple validation result | Risk scoring view |
|---|---|---|
| Bad syntax | Invalid | Block |
| Domain has no MX records | Invalid | Block or suppress |
| Mailbox confirms over SMTP | Valid | Accept |
| Catch-all domain accepts everything | Valid-looking | Risky; confirm or throttle |
| Disposable domain | Valid-looking | High abuse risk; block or limit |
| Mail server times out | Unknown | Retry, review, or accept with controls |
Scores are useful because email systems do not always expose clean answers. Some mail servers reject verification probes. Some domains accept all addresses and bounce later. Some users mistype a real address. Some signups use burner inboxes to avoid accountability.
A good score helps you prevent bounces, reduce fake accounts, and protect sender reputation without over-blocking legitimate users.
Keep your scoring rules tied to business impact. A newsletter signup can tolerate more uncertainty than a cold outreach campaign sent from a reputation-sensitive domain.
The Core Signals Behind an Email Risk Score
A useful score comes from multiple signals, not one magic check.
You should treat each signal as evidence. Some evidence proves an address is bad. Some only raises risk. The best systems combine them.
Syntax and formatting validity
Syntax is the first gate.
You should reject addresses with obvious formatting problems:
- Missing
@ - Missing local part or domain
- Invalid characters
- Consecutive dots where not allowed
- Spaces
- Broken quoted strings
- Top-level domain issues
Syntax checks are cheap and fast. They also catch many form-entry mistakes.
But syntax only tells you whether the address could exist. It does not tell you whether it does exist.
alex@example.com is syntactically valid. That does not mean it can receive mail.
Domain existence and MX records
The domain must exist and be configured to receive email.
Domain checks usually look for:
- DNS existence
- MX records
- Fallback A or AAAA records, when relevant
- Invalid or parked domains
- Domains with obvious typos
If a domain has no mail exchange path, the address cannot receive mail. That is usually an undeliverable result.
Email domain risk scoring often starts here. A domain with healthy mail infrastructure is lower risk than a typo domain, expired domain, parked domain, or throwaway provider.
Mailbox-level SMTP response when available
Mailbox verification goes deeper.
The verifier connects to the recipient mail server and checks whether the mailbox appears to exist. When the server gives a clear response, this is one of the strongest deliverability signals.
Common outcomes include:
- Mailbox accepted
- Mailbox rejected
- Server unavailable
- Server refuses verification
- Server accepts all recipients
- Temporary failure
You should not assume every SMTP result is final. Some servers greylist. Some rate limit. Some block verification attempts. Some accept during SMTP and bounce after content scanning.
Still, mailbox-level response gives you valuable evidence when available.
Disposable or temporary email domain detection
Disposable domains are strong abuse signals in many workflows.
A disposable email detection api checks whether the address uses a temporary, burner, or throwaway inbox domain. These domains change often. Static lists age quickly because new disposable providers appear all the time.
Disposable addresses are common in:
- Trial abuse
- Coupon abuse
- Gated content downloads
- Low-quality lead generation
- Fake account creation
- Spam complaints from abandoned accounts
Disposable does not always mean malicious. Some users value privacy. But in most commercial workflows, disposable domains deserve a higher risk score.
Catch-all or accept-all domain behavior
A catch-all email domain accepts mail for any local part.
That means these addresses can look valid even when the specific mailbox does not exist:
sarah@company.comnotarealperson@company.comx92811@company.com
All may be accepted during verification if the domain is catch-all.
Catch-all is not automatically bad. Many real companies use accept-all configurations. But catch-all behavior reduces confidence at the mailbox level.
You should treat catch-all as a risk modifier, not a blanket block.
Role-based address detection
Role-based email addresses belong to a function, not a person.
Examples:
info@support@sales@admin@billing@press@careers@
These addresses can be deliverable. But they behave differently.
Role accounts often have multiple readers. They may generate lower engagement. They may reject marketing subscriptions. They may trigger spam complaints if added without consent. For cold outreach, they often perform worse than named contacts.
Score them based on use case. A billing@ address may be perfect for invoice delivery. It may be poor for a lifecycle nurture campaign.
Free provider vs business domain context
Free providers like Gmail, Outlook, Yahoo, and iCloud are normal for consumer products.
They are less useful in B2B qualification. A free-provider lead may be lower intent for an enterprise sales motion. But it should not be treated as inherently risky for deliverability.
Business domains provide more context:
- Company identity
- Industry
- Possible catch-all behavior
- Domain age and reputation signals
- Higher value in B2B workflows
Use this as context, not as a deliverability verdict.
Typo correction signals
Typo detection catches mistakes before they become bounces.
Common examples:
gmial.com→gmail.comgmai.com→gmail.comhotnail.com→hotmail.comyaho.com→yahoo.com
A typo suggestion should usually trigger a user-facing correction, not a silent rewrite.
Ask the user to confirm:
Did you mean
name@gmail.com?
This preserves conversion and prevents account lockout.
How to Interpret Deliverable, Risky, Undeliverable, and Unknown
Use verdicts as decision inputs, not labels you blindly apply everywhere.
A clear deliverability verdict should map to a default action. Then your use case can override it.
Deliverable
Deliverable addresses are generally safe to accept.
They usually pass syntax checks, domain checks, and mailbox checks where available. You can add them to your database and send normal email.
Still, “deliverable” does not guarantee engagement. It only means the address appears able to receive mail. Consent, relevance, and list source still matter.
Default action: accept and send normally.
Risky
Risky addresses need context-specific rules.
An address may be risky because it is:
- On a catch-all domain
- A role-based address
- Disposable
- Hard to verify at the mailbox level
- Free-provider in a B2B workflow
- Associated with a typo suggestion
- Mixed-signal from DNS or SMTP behavior
Do not treat all risky addresses the same. A catch-all business address and a disposable burner address carry different risks.
Default action: review, confirm, throttle, or suppress depending on source and campaign.
Undeliverable
Undeliverable addresses should usually be blocked or suppressed.
Common causes include:
- Invalid syntax
- Domain does not exist
- No mail servers
- Mailbox rejected
- Known invalid domain
- Hard negative SMTP response
If you send to known-undeliverable addresses, you increase your email bounce rate for no upside.
Default action: block at entry or suppress before send.
Unknown
Unknown means the system could not collect enough evidence.
Unknown is not the same as bad. It often happens because:
- The mail server timed out
- DNS was temporarily unavailable
- The server blocked verification
- The provider greylisted the probe
- A temporary SMTP error occurred
If you block every unknown address, you will lose real users. If you send to every unknown address, you may take unnecessary bounce risk.
Default action: retry, accept with confirmation, or send with limits.
Risk Scoring Rules by Use Case
Your scoring policy should change by use case.
One global rule will either block too many good users or allow too much risk.
Signup forms: block obvious abuse while preserving conversion
Signup forms need fast decisions.
You want to stop bad addresses before they enter your product. But you also do not want to reject real users because their mail server was temporarily hard to verify.
Good signup rules:
- Block invalid syntax.
- Block domains with no MX records.
- Block or challenge disposable domains for trials and freemium.
- Show typo suggestions inline.
- Accept deliverable addresses.
- For unknown results, allow signup but require email confirmation.
- For catch-all domains, accept but monitor confirmation and engagement.
Avoid vague errors. Tell the user what to fix.
Bad:
Invalid email.
Better:
This domain cannot receive email. Check the spelling or use another address.
Cold outreach: suppress high-bounce and catch-all risk before sequencing
Cold outreach has low tolerance for bounce risk.
You usually send higher volume to people who did not request the message. Mailbox providers watch bounce rate, complaint rate, and engagement. A bad list can damage sender reputation quickly.
Good outreach rules:
- Suppress undeliverable addresses.
- Suppress disposable domains.
- Suppress unknown addresses unless refreshed successfully.
- Treat catch-all addresses as risky.
- Send lower volume to catch-all segments.
- Prioritize named business addresses over role accounts.
- Re-verify old lists before launching.
That is not a universal law. But if your email bounce rate climbs above low single digits, you should slow down and clean the source.
Transactional email: prioritize deliverability for account-critical messages
Transactional email is different.
Password resets, login codes, invoices, security alerts, and receipts need to reach the user. Over-blocking can break the product.
Good transactional rules:
- Verify at signup.
- Require confirmation when risk is high.
- Do not silently change typo corrections.
- Allow existing confirmed users to receive critical mail.
- Monitor hard bounces and suppress after clear failure.
- Keep a separate suppression policy from marketing when needed.
If an existing customer has a confirmed address that later appears risky, do not block critical mail based on one fresh signal. Use bounce history and account context.
Marketing lists: segment based on risk, engagement, and consent
Marketing email should combine verification risk with engagement data.
A deliverable address with no consent is not safe to send. A risky address with strong recent engagement may deserve different treatment than a risky address from an old import.
Good marketing rules:
- Suppress undeliverable addresses before every campaign.
- Re-verify stale lists.
- Segment risky addresses.
- Send first to lower-risk, engaged contacts.
- Use confirmed opt-in where possible.
- Remove hard bounces quickly.
- Watch complaint and unsubscribe patterns by source.
Risk scoring protects deliverability. Consent and engagement protect long-term performance.
Catch-All Domains and Scoring Nuance
Catch-all domains can appear valid while still bouncing later.
That happens because the domain accepts every recipient during SMTP. The server may later discard, route, quarantine, or bounce messages after deeper checks.
This creates a verification problem. You know the domain receives mail. You do not always know the specific mailbox exists.
Why mailbox probing matters
Some verification systems can probe beyond a basic accept-all response. They may combine SMTP behavior with other signals, such as domain patterns and response consistency.
Useful catch-all context includes:
- Did the server accept a random address?
- Did it accept the target address differently?
- Does the domain show stable mail behavior?
- Has the address appeared in prior bounce events?
- Is the local part a likely person or a random string?
- Is it role-based?
A catch-all score should reflect uncertainty, not assume failure.
How to send to catch-all addresses
Use a measured policy:
- Accept catch-all addresses on signup.
- Require email confirmation for higher-risk flows.
- Segment catch-all leads before outreach.
- Reduce initial send volume.
- Avoid sending large cold sequences to unengaged catch-all contacts.
- Suppress catch-all addresses after a hard bounce.
- Track bounce rate separately for catch-all segments.
Do not block every catch-all email domain. You will reject real business users. Many companies use catch-all routing for legitimate reasons.
Disposable and Burner Email Risk
Disposable domains are one of the strongest non-mailbox risk signals.
They often indicate that the user does not want a durable relationship with your product. That may be fine for some privacy-sensitive flows. It is usually a problem for trials, freemium products, referral programs, coupons, and gated content.
When to block disposable addresses
Block or challenge disposable addresses when you need:
- Account accountability
- Abuse prevention
- Sales follow-up
- Payment or trial integrity
- Community safety
- Reliable lifecycle messaging
For example, a SaaS trial can block burner domains and ask for a permanent work address. A coupon flow can reject disposable inboxes to reduce repeat abuse.
When to allow them
Some products should be careful about hard blocks.
Disposable addresses may be acceptable when:
- The user has a strong privacy reason.
- The product does not require ongoing email access.
- You offer anonymous or low-risk access.
- You can verify identity another way.
- Blocking would exclude vulnerable users.
In those cases, score disposable as high risk but choose a softer action. You can limit features, require extra verification, or skip marketing enrollment.
Why real-time detection matters
Real-time detection stops bad addresses before they pollute your database.
If you only clean later, you still pay the cost:
- Fake accounts enter your CRM.
- Sales teams waste time.
- Automations trigger to bad contacts.
- Product metrics get noisy.
- Campaigns inherit avoidable bounce risk.
Static disposable-domain lists age quickly. New burner domains appear constantly. Use a maintained detection source if disposable risk matters to your product.
Building a Practical Decision Matrix
A decision matrix turns risk signals into consistent action.
Keep it simple enough that your team can explain it. If the matrix needs a meeting every time, it will not survive production use.
Use five actions:
- Accept: Let the address through and send normally.
- Verify further: Ask for confirmation, OTP, or correction.
- Throttle: Send lower volume or delay non-critical mail.
- Suppress: Keep the record, but do not send campaigns.
- Block: Reject at entry or remove from import.
Here is a practical starting point:
| Signal or verdict | Signup form | CRM import | Cold campaign | Transactional |
|---|---|---|---|---|
| Deliverable | Accept | Accept | Accept | Send |
| Invalid syntax | Block | Suppress | Suppress | Ask user to fix |
| No MX / bad domain | Block | Suppress | Suppress | Ask user to fix |
| Mailbox rejected | Block | Suppress | Suppress | Suppress after confirmed hard bounce |
| Disposable | Block or challenge | Segment or suppress | Suppress | Allow only if account already verified |
| Catch-all | Accept + confirm | Segment | Throttle or suppress | Send if user confirmed |
| Role-based | Accept if relevant | Segment | Usually suppress or lower priority | Send if purpose matches |
| Unknown | Accept + confirm | Retry | Suppress until verified | Retry, then fallback flow |
| Typo suggestion | Ask user to confirm | Flag for cleanup | Suppress until fixed | Ask user to fix |
Set thresholds by source
Different sources carry different baseline risk.
A confirmed opt-in signup is usually safer than a purchased list. A product user who logs in weekly is safer than a stale contact imported two years ago.
Set separate thresholds for:
- Public signup forms
- Trial signups
- Newsletter forms
- Partner lead imports
- CRM uploads
- Cold prospecting lists
- Customer transactional mail
- Re-engagement campaigns
Log the underlying signals
Do not store only the final score.
Log the signals that produced it:
- Verdict
- Score or risk band
- Syntax status
- Domain status
- MX status
- Mailbox status
- Disposable flag
- Catch-all flag
- Role-based flag
- Free provider flag
- Typo suggestion
- Verification timestamp
- Source and campaign
This lets you debug decisions later.
If catch-all leads bounce at a high rate from one source, tighten that source. If unknown addresses from Gmail convert well after retry, loosen that rule.
Review false positives and false negatives
No scoring system stays perfect.
Review:
- Good users who got blocked
- Bad addresses that passed
- Bounce rate by score band
- Complaint rate by source
- Confirmation rate by verdict
- Revenue or activation by risk segment
Then adjust. Your rules should get better as your data improves.
How Bounceable Supports Email Risk Scoring
Bounceable returns clear deliverability verdicts you can use in your own decision matrix: deliverable, risky, undeliverable, and unknown.
It also checks the signals that usually drive email risk scoring decisions:
- Disposable and burner domains
- Catch-all domains
- Mailbox-level SMTP response when available
- Role accounts
- Free provider context
- Typo suggestions
- Bounce risk and deliverability verdicts
You can use those results in real time on a signup form, or in batch before a campaign.
A simplified verification result might look like this:
{
"email": "alex@gmial.com",
"verdict": "risky",
"risk_score": 72,
"checks": {
"syntax": "valid",
"domain": "exists",
"mx": "found",
"mailbox": "unknown",
"disposable": false,
"catch_all": false,
"role": false,
"free_provider": false
},
"suggestion": "alex@gmail.com"
}
Your application can turn that into a rule:
- If
verdictisdeliverable, accept. - If
suggestionexists, ask the user to confirm. - If
disposableis true, block or challenge. - If
catch_allis true, accept with confirmation or throttle. - If
verdictisundeliverable, suppress. - If
verdictisunknown, retry or require confirmation.
That is the point of scoring. You do not need every email address to be perfectly knowable. You need enough signal to make the right next decision.


