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:
| Check | What it catches |
|---|---|
| Invalid email | Malformed addresses and domains with no mail server. |
| Temporary email | Disposable and throwaway inbox domains. |
| Spam-listed domain | Email 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 Maillayer | Addresses that hard-bounced, or were reported as spam more than once, for other senders. |
| Spam-listed IP | Sign-up IPs listed by StopForumSpam. |
| Abusive IPs | Sign-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.