Enydea
Documentation menu

Email address verification and the send gate

Last updated:

What this page covers

Before a campaign goes out, Enydea tries to tell a real, working address from a plausible guess. Mail sent to guesses bounces, and bounces on a young sending domain can stop your good mail from arriving too. This page explains how an address earns trust, what each check can and cannot prove, what a bounce changes, the nightly clean-up run and the send gate that decides which addresses a campaign skips.

Note: Most of this has no screen in Enydea. You work with it by asking the AI Assistant in AGENT mode (see AI Assistant and AI Agents), or Claude or ChatGPT through the Enydea connector. In the app you see it in two places: a badge on a contact person and the notification after a campaign is sent.

Seen addresses and guessed addresses

Every contact person with an email address gets a trust score from 0 to 100. The score comes from where the address came from and from what has been checked since.

  • Seen (observed) addresses were found somewhere: imported from a file or typed in on the Contact Person tab, read off the company's own website, returned by an email-finding service, listed in a public record or on a web page, used by a person who wrote to your connected mailbox, or clicked from by a person.
  • Guessed addresses were built by Enydea from a person's name and a naming pattern such as first.last@. The Learned and Common results of Enrich Emails in LeadFinder are guesses. Contact persons that the AI assistant adds for you, and some that LeadFinder finds, are also treated as guesses until something confirms them.

A guess becomes mailable only with evidence. Either its domain is understood (a mailbox check said "deliverable" on a domain that turns away made-up addresses, or the seen addresses of two or more people at that domain follow the same scheme as the guess), or the address itself proved to work (a click, visit or booking, or 72 hours without a bounce after a delivery). Without that evidence a guess stays below the mailable level.

LevelScoreTypical reasons
verified80-100Published by the company, confirmed by a meaningful mailbox check, a person clicked, visited or booked, or the person wrote to you
probable55-79Imported or typed by you, a guess that follows a confirmed scheme, or mail was accepted 72 hours ago and nothing bounced
guess0-54A guess with no evidence at its domain, or one of the capped kinds below
undeliverable0The domain has no mail server, a mailbox check rejected the address, or mail to it bounced because the mailbox does not exist

Some kinds of address are capped, whatever their source:

  • Shared company inboxes such as info@, sales@ and contact@: at most 35.
  • Consumer mailboxes (Gmail, Outlook.com, Yahoo and similar) and department, press, privacy, recruitment and no-reply inboxes: at most 20.
  • An address on a different domain than the website of its relation, when the relation has a website on file: at most 45. The same brand under another country domain counts as the same domain.
  • An address from a public record that is more than five years old loses points, because people change jobs.

Purchasing inboxes such as purchasing@ are not capped.

Warning: Consumer mailboxes and shared inboxes stay at the guess level even when you typed them in yourself. If you mail private persons or info@ addresses, keep the send gate on warn or lower its minimum (see below).

What each check can and cannot prove

CheckWhat it provesLimits
Mail server lookupThat the domain accepts email. A domain without a mail server makes the address undeliverable.Says nothing about this mailbox.
Mailbox check (Mailgun validation)On a domain that turns away unknown addresses: "deliverable" confirms the mailbox, a rejection marks it undeliverable.Means nothing on an accept-all domain.
Domain probeWhether the domain accepts a made-up address, and so whether a mailbox check means anything there.Says nothing about a particular address.
Naming scheme of seen addressesWhen two or more people's seen addresses agree, a guess that follows the same scheme is mailable.Does not prove the person still works there.
A person clicked, visited or bookedThe mailbox exists and a person reads it, also on an accept-all domain.Needs campaign mail sent to the address first.
Mail accepted, no bounce for 72 hoursThe address is mailable (probable, not verified).Does not prove anyone reads it. A later bounce still wins.
The person wrote to your mailboxThe address is real and in use.Needs a mailbox connected in Enydea.
An email openNothing.Mail apps and image proxies load the tracking image by themselves, so opens never verify an address.

Accept-all domains. Many companies receive mail through a filtering gateway that accepts every recipient at first and bounces unknown ones later. On such a domain a mailbox check says "deliverable" for any address, even a random one. Enydea finds these domains by asking about a made-up address once per domain, and repeats that probe after 90 days. Addresses on an accept-all domain are stored as catch-all and are not checked one by one. Consumer mail domains are never probed.

A click only counts when it does not look like a mail scanner: clicks within two minutes of sending, or three or more links within 20 seconds, are ignored. A website visit is tied to a person only when they click a link in the email and accept analytics cookies on your site.

Mailbox check results are reused for 90 days.

What a bounce does

  • Every permanent delivery failure and every spam complaint marks the address bounced on all your mailing lists. No campaign sends to it again.
  • When the failure says the mailbox does not exist ("user unknown", "mailbox not found" and similar), Enydea also marks the contact person undeliverable, lowers its confidence in the naming pattern that built the address, and counts the bounce against the domain. After two such bounces at one domain (one, if the domain accepts every address), its other guesses drop to at most 25 until something confirms them.
  • A failure about the message or the sender, such as a policy block, a mail loop or an expired delivery, says nothing about the address. The list entry is still marked bounced, but the contact person is not changed.
  • Temporary failures are not marked.

Bounces and deliveries are only recorded for campaign mail sent through your sending domain. Mail sent from a connected mailbox gives no bounce or delivery signal.

The nightly hygiene run

Every night at 03:30 UTC, Enydea runs a clean-up for each company that has at least one mailing list, unless a company admin switched it off. Each step is capped, so a large backlog drains over several nights.

  1. Bounces: reads the bounce list of each of your sending domains, so a mailbox that does not exist is marked even when a delivery notice was missed. Needs a registered sending domain.
  2. Engagement: contacts who clicked, visited your site from a campaign or booked a meeting in the last 180 days become verified, unless a cap above applies.
  3. Domain probes: up to 60 domains a night that were never probed, or whose probe is older than 90 days.
  4. Evidence: for up to 15 domains with guessed addresses (most guesses first), Enydea looks for published addresses on the company's own website and with a web search. It also uses public research records (journal author listings, researcher profiles, clinical trial registers), but only where they pay off: it tries them on 20 domains, stops using them for a company where they hardly ever find an address, and looks again after 90 days. A domain is searched again after 30 days.
  5. Records: checks up to 25 guessed addresses (of contacts with a first and last name) against those public records, when the research records are on. Each address is checked again after 90 days.
  6. Reconcile: a guess that turns out to be a published address is confirmed. When a published address belongs to the same person (same first and last name, same domain) and differs from the guess, the guess is replaced, up to 50 a night. The old address is kept in the contact's history. The person's mailing-list entries get the new address, a bounce on the old one is cleared, and an unsubscribe stays. When several published addresses fit, or another contact already has the address, nothing changes. Addresses you imported or typed, and seen or engaged ones, are never changed.
  7. Re-score: scores again every contact whose address changed, or whose domain learned something, since its last score.

Domain probes are paid mailbox checks. Enydea limits how many it makes per night across all customers, longest-waiting company first. The run does not happen for a company that may not use paid services; see Plans and billing.

Ask the assistant, for example:

  • Show my email hygiene status - the last run, the number of contacts per level, the send gate setting and whether research records are on.
  • Do a dry run of the email hygiene - what the next run would do, without changing anything.
  • Run the email hygiene now - starts a run in the background.

A company admin can also say Switch off the nightly email hygiene, Only confirm guessed addresses, never replace them or Turn the research sources off.

The send gate

Just before a campaign mailing goes out (also follow-ups, the rest of an A/B test and batches the assistant sends from your connected mailbox), Enydea checks the audience. Unsubscribed and bounced entries are already left out. Then the gate:

  1. Probes the domains of doubtful contacts that were never probed, when there are no more than 60 of them. A larger number is left to the nightly run.
  2. Scores again the contacts whose information changed, up to 500 per send. The rest are judged on their last score.
  3. Judges every list entry that belongs to a contact person in your CRM.

This happens in warn mode too; only off skips it.

ModeWhat happens
warn (default)The check runs and is reported. Nobody is held back.
enforceContact persons marked undeliverable, and those below the minimum score (default 55, the probable level), are left out of this send.
offNo check.

Held addresses stay on the list and in the CRM. A later send includes them once evidence lifts their score.

Probe addresses. You can let up to 10 addresses per domain through in enforce mode even though they are below the minimum (default 0). Their result teaches Enydea about the domain: a bounce marks it, and a delivery with no bounce for 72 hours confirms the address. A domain that has already bounced gets no probes.

What the gate does not judge. An entry with no contact person behind it is never held back: rows from an uploaded file, addresses typed into a list, and relation (company) addresses, unless a contact person has the same address. For those, run a mailbox check on the list (below).

The notification after a send says what the gate found, for example "12 of 80 recipients held back: 10 guessed addresses with no evidence at 4 domains, 2 known undeliverable." In warn mode it says the recipients "would be held back". If the check fails, the notification says nobody was held back.

Only a company admin can change the gate. Ask, for example:

  • Set the email send gate to enforce
  • Set the send gate to enforce with a minimum trust of 70
  • Allow one probe address per unconfirmed domain
  • Set the send gate back to warn

Through Claude or ChatGPT, any change other than switching to warn needs your explicit approval in the chat.

Other requests

  • Run a mailbox check on my mailing list "Spring prospects" checks every entry, also uploaded rows. It skips unsubscribed and bounced entries and duplicates, probes the domains first and does not check addresses on accept-all domains one by one. Rejected addresses are marked bounced on all your lists. It also lists likely typos. Each address check is paid, so when more than 25 addresses need a check the first answer is only a count, and the check starts when the assistant calls it again with your approval. Large checks run in the background. See Tutorial: clean a mailing list before a campaign.
  • Score the email addresses of all my contacts again recalculates the trust score of your contacts, up to 5,000 per request.
  • Find published email addresses for the relation Acme looks for addresses the company or others published, with the source of each, and the company's naming scheme. The relation needs a website. Add and save the people as contacts to create the named people in your CRM.
  • Clean up my contact email addresses as a dry run reports what would be removed or repaired.

Warning: Without the dry run, that last request deletes contact persons across your whole CRM: those with a consumer mailbox, a recruitment, privacy, press, no-reply or department inbox, an invalid address, or an info@-style inbox with no person's name. A named person with a job title is kept and only their address is cleared. It does not remove entries already on a hand-made mailing list. Do not use it if you sell to private persons.

Where you see it in the app

  • Relations -> Contact Person: below Email, a badge shows the last mailbox check of that exact address and its date: Email verified, Catch-all domain, Undeliverable or Not confirmed. A bounce shows as Undeliverable. The badge shows the check, not the trust score, so an address marked Email verified can still count as a guess when the probe of its domain gave no clear answer. An undeliverable address can also show No email address found below it, even though the address is still filled in.
  • Mailings -> Mailing list: the List tab shows no trust level and does not mark bounced entries.
  • The dynamic-list filter Has a valid email only checks that a relation has an email address on file. It does not use the trust score.