Contact checks

How Maillayer checks every new contact for bad addresses, dead domains, disposable inboxes and spam-listed IPs, and skips risky ones.

Bad addresses bounce, and bounces hurt your domain's reputation. Maillayer checks every new contact in the background, whether it came from the API, a CSV import or the dashboard, and flags the risky ones. Flagged contacts stay in your lists, but campaigns skip them.

What we check#

In this order; the first match flags the contact:

CheckWhat it catches
Invalid emailMalformed addresses and domains with no mail server.
Temporary emailDisposable and throwaway inbox domains.
Spam-listed domainEmail domains listed by StopForumSpam.
Free webmail (optional)Gmail, Yahoo, Outlook and similar. For B2B lists that should hold work addresses. Off by default; turn it on in Settings.
Bounces across MaillayerAddresses that hard-bounced, or were reported as spam more than once, for other senders.
Spam-listed IPSign-up IPs listed by StopForumSpam.
Abusive IPsSign-up IPs reported on AbuseIPDB, and Tor exit nodes.

The two IP checks only run when your app sends the sign-up ip with the contact through the API.

Reviewing flagged contacts#

  • On the Contacts page, the Flagged tab lists them with the reason.
  • Allow anyway includes a contact in campaigns despite the flag.
  • Check again re-runs the checks, for example after a domain fixes its mail server.
Checks run within seconds for single contacts. A large import is checked over a few minutes; contacts show as "Checking" until then.

The API returns each contact's check as { status, reason, description }, where status is pending, passed, flagged or allowed.