Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. IAM
  3. mailchecker

mailchecker

MITPHP

Cross-language library to detect temporary (disposable/throwaway) email addresses, covering over 55,000 fake providers.

Visit WebsiteGitHubGitHub
1.9k stars303 forks0 contributors

What is mailchecker?

MailChecker is a cross-language library designed to detect temporary (disposable/throwaway) email addresses. It validates email format and checks against a database of over 55,000 known fake email providers, helping developers prevent spam and ensure legitimate user communication.

Target Audience

Developers building web applications, SaaS platforms, or any system requiring user email validation, particularly those needing to block disposable email addresses to reduce spam and improve data quality.

Value Proposition

It offers a consistent, multi-language solution with an extensive, community-maintained database of disposable email domains, making it more reliable and easier to integrate than building custom validation logic for each project.

Overview

:mailbox: Cross-language temporary (disposable/throwaway) email detection library. Covers 55 734+ fake email providers.

Use Cases

Best For

  • Blocking disposable email sign-ups on registration forms
  • Reducing spam and fake accounts in web applications
  • Ensuring legitimate user contact for communication-heavy SaaS
  • Validating email addresses across multiple backend languages (Node.js, PHP, Python, etc.)
  • Maintaining clean user databases by filtering out temporary emails
  • Preventing abuse from throwaway email services like Yopmail

Not Ideal For

  • Applications requiring real-time email deliverability verification (e.g., sending confirmation emails to check inbox existence)
  • Projects where temporary emails are acceptable, such as beta testing environments or privacy-focused user onboarding
  • High-performance systems with strict memory constraints, as loading the 55,000+ domain list can increase resource usage

Pros & Cons

Pros

Cross-Language Consistency

Offers a uniform `isValid(email)` API across Node.js, PHP, Python, Ruby, Rust, and more, reducing integration complexity for multi-stack teams.

Extensive Disposable Database

Relies on a curated list of over 55,000 disposable domains from community sources like TorVPN, regularly updated to block services like Yopmail.

Dual Validation Layer

Combines format validation using established regex (validator.js) with disposable domain checks, ensuring both syntax and legitimacy in one call.

Community-Driven Updates

Allows contributors to add new domains to the shared list.txt file, keeping the database current without relying solely on maintainer updates.

Cons

Static List Limitations

New disposable email services emerge frequently, and the static database may have gaps unless manually updated, leading to missed domains.

Memory and Performance Overhead

Loading the large domain list into memory can increase startup time and resource usage, especially in serverless or lightweight environments.

API Breaking Changes

Major version upgrades (e.g., 1.x to 3.x) have introduced breaking API changes, requiring code adjustments and careful migration planning.

Frequently Asked Questions

Quick Stats

Stars1,888
Forks303
Contributors0
Open Issues3
Last commit1 month ago
CreatedSince 2013

Tags

#email-validation#disposable-email-detection#email-verification#python#nodejs#php#email#go#rust#spam-prevention#ruby#cross-language

Links & Resources

Website

Included in

Malware Analysis13.6kIAM2.2k
Auto-fetched 1 day ago

Related Projects

dnstwistdnstwist

Domain name permutation engine for detecting homograph phishing attacks, typo squatting, and brand impersonation

Stars5,682
Forks847
Last commit1 year ago
Burner email providersBurner email providers

A list of temporary email providers

Stars1,178
Forks309
Last commit1 month ago
MachinaeMachinae

Machinae Security Intelligence Collector

Stars538
Forks101
Last commit5 days ago
MaltegoVTMaltegoVT

A set of Maltego transforms for VirusTotal Public API v2.0. This set has the added functionality of caching queries on a daily basis to speed up resolutions.

Stars82
Forks21
Last commit10 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub