Repolode
reacherhq

reacherhq/check-if-email-exists

Rust library, CLI and HTTP backend that checks whether an email address exists without sending any email.

Open-source alternative to:Hunter.ioVerify-Email.orgEmail-Checker.net

Stars
10,201
Forks
745
Open issues
58
Last commit
4 days ago

What is it?

check-if-email-exists determines whether an email address is likely to be deliverable without sending a message to it. It runs syntax checks, looks up the domain's MX records, connects to the mail server over SMTP to test the mailbox, and flags disposable providers, role accounts, catch-all domains, full inboxes and disabled accounts. Results are returned as a reachability value of safe, risky, invalid or unknown.

The project can be used in three ways: as a Docker-hosted HTTP backend that accepts POST requests at /v0/check_email, as a standalone CLI that checks directly from your machine, or as a Rust crate imported into your own code. Checks can be routed through a SOCKS5 proxy. The README notes that outbound port 25 must be open for SMTP checks and that high volumes generally need proxy servers.

The project is MIT-licensed and positioned as an open-source alternative to paid email verification services.

Key features

  • 01Checks email syntax, MX records and SMTP mailbox status
  • 02Flags disposable, role-account and catch-all addresses
  • 03Reports whether a mailbox is disabled or has a full inbox
  • 04Returns a reachability value of safe, risky, invalid or unknown
  • 05Can route verification through a SOCKS5 proxy

Use cases

  • Cleaning sign-up forms or mailing lists before sending campaigns
  • Validating user-submitted emails in a backend service via HTTP
  • Running one-off address checks from the command line
  • Embedding email verification in a Rust application

Quick start

  1. 1

    Run the HTTP backend with Docker

    docker run -p 8080:8080 reacherhq/backend:latest
  2. 2

    Send a POST request to check an email address

    POST http://localhost:8080/v0/check_email

Things to know

  • Outbound port 25 must be open on the host for checks to work.
  • For higher volumes you will need SMTP proxy servers, which the README suggests buying from a third party.

Topics

FAQ

What is check-if-email-exists?
Rust library, CLI and HTTP backend that checks whether an email address exists without sending any email. check-if-email-exists determines whether an email address is likely to be deliverable without sending a message to it. It runs syntax checks, looks up the domain's MX records, connects to the mail server over SMTP to test the mailbox, and flags disposable providers, role accounts, catch-all domains, full inboxes and disabled accounts. Results are returned as a reachability value of safe, risky, invalid or unknown.
Is check-if-email-exists free to use? What license does it have?
check-if-email-exists is open source under the MIT license. Check the license terms before using it in commercial products.
Is check-if-email-exists still maintained?
Actively maintained. The last commit to check-if-email-exists was on Oct 16, 2026.
What can I use check-if-email-exists for?
Cleaning sign-up forms or mailing lists before sending campaigns Validating user-submitted emails in a backend service via HTTP Running one-off address checks from the command line Embedding email verification in a Rust application
How do I install check-if-email-exists?
Run the HTTP backend with Docker: docker run -p 8080:8080 reacherhq/backend:latest Send a POST request to check an email address: POST http://localhost:8080/v0/check_email
Where can I get check-if-email-exists?
The source code and installation instructions are on GitHub: https://github.com/reacherhq/check-if-email-exists

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects