{"id":5306,"library":"mailchecker","title":"Mailchecker","description":"Mailchecker is a cross-language library designed for detecting temporary (disposable/throwaway) email addresses. It prevents users from signing up with such addresses by validating emails against a vast, continuously updated database of known fake email providers. The Python version is actively maintained with frequent updates to its domain list, with version 6.0.20 being the latest stable release.","status":"active","version":"6.0.20","language":"en","source_language":"en","source_url":"https://github.com/FGRibreau/mailchecker","tags":["email","validation","temporary email","disposable email","spam"],"install":[{"cmd":"pip install mailchecker","lang":"bash","label":"Install with pip"}],"dependencies":[],"imports":[{"note":"The MailChecker object is directly available after `import MailChecker` and its `is_valid` method is a class method. Older versions (pre v3.x) might have required instantiation.","wrong":"from MailChecker import MailChecker","symbol":"MailChecker","correct":"import MailChecker"}],"quickstart":{"code":"import MailChecker\n\n# Check a valid, non-disposable email\nis_valid_real = MailChecker.is_valid('test@example.com')\nprint(f\"'test@example.com' is valid: {is_valid_real}\")\n\n# Check a disposable email (yopmail.com is a common one)\nis_valid_temp = MailChecker.is_valid('temp@yopmail.com')\nprint(f\"'temp@yopmail.com' is valid: {is_valid_temp}\")\n\n# Check an invalid format email\nis_valid_format = MailChecker.is_valid('invalid-email')\nprint(f\"'invalid-email' is valid: {is_valid_format}\")","lang":"python","description":"This quickstart demonstrates how to import the `MailChecker` module and use its `is_valid()` method to check various email addresses. It returns `True` if the email is syntactically valid and not on the disposable email domain blacklist, otherwise `False`."},"warnings":[{"fix":"Update your code to directly use `MailChecker.is_valid(email)` after `import MailChecker`.","message":"The API for Python was normalized in a major update (between v1.x and v3.x). Previously, you might have instantiated `m = MailChecker.MailChecker()`. The current recommended usage directly calls the class method `MailChecker.is_valid(email)`.","severity":"breaking","affected_versions":"< 3.0.0"},{"fix":"For comprehensive email deliverability checks, consider combining Mailchecker with a dedicated email validation service or library that performs MX record lookups and SMTP checks (e.g., `email-validator` library for more syntax/domain checks, or an external API for full deliverability).","message":"Mailchecker primarily focuses on identifying temporary/disposable email domains and basic email format validation. It does *not* perform full SMTP validation to confirm if a mailbox actually exists or is active. An email might pass `is_valid()` but still not be deliverable.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Always install the library via `pip install mailchecker` to ensure you get the latest official version and proper dependency management.","message":"Older documentation or examples might suggest copying `MailChecker.py` directly into your project. While this might still work for some versions, the recommended and most reliable installation method for the Python package is `pip install mailchecker`.","severity":"gotcha","affected_versions":"Early versions, unofficial distributions"}],"env_vars":null,"last_verified":"2026-04-13T00:00:00.000Z","next_check":"2026-07-12T00:00:00.000Z"}