GitHub Hot Board

GitHub Hot Board · 저장소 아카이브

reacherhq/check-if-email-exists

Check if an email address exists without sending any email, written in Rust. Comes with a HTTP backend. (소개는 저장소 자체 문서에서 왔습니다.)

데이터 기준 October 27reacherhq

최고 순위

#270

종합 · Rust 언어별

10K

누적 스타

754

포크 수

0

최근 30일 기록 일수

프로젝트 상태라이선스: MIT최근 push: October 16열린 이슈(PR 포함): 60

2026-10-25부터 수집. 미확인 = 아직 미수집

README에 뱃지를 붙여보세요 · reacherhq/check-if-email-exists[![README에 뱃지를 붙여보세요](https://git.vaiox.xyz/api/badge/reacherhq/check-if-email-exists.svg)](https://git.vaiox.xyz/ko/repo/reacherhq/check-if-email-exists)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/ko/repo/reacherhq/check-if-email-exists"><img src="https://git.vaiox.xyz/api/badge/reacherhq/check-if-email-exists.svg" alt="README에 뱃지를 붙여보세요" height="20"></a>

프로젝트 문서

Crate Docs Docker Actions Status



reacher

check-if-email-exists

Check if an email address exists without sending any email.
Comes with a ⚙️ HTTP backend.




👉 Live Demo: https://reacher.email

This is open-source, but I also offer a SaaS solution that has check-if-email-exists packaged in a nice friendly web interface. If you are interested, find out more at No2Bounce.com. If you have any questions, you can contact me at amaury@reacher.email.


Get Started

3 non-SaaS ways to get started with check-if-email-exists.

1. ⚙️ HTTP backend using Docker (popular method 🥇) [Full docs]

This option allows you to run a HTTP backend using Docker 🐳, on a cloud instance or your own server. Please note that outbound port 25 must be open.

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

Then send a POST http://localhost:8080/v0/check_email request with the following body:

{
    "to_email": "someone@gmail.com",
    "proxy": {                        // (optional) SOCK5 proxy to run the verification through, default is empty
        "host": "my-proxy.io",
        "port": 1080,
        "username": "me",             // (optional) Proxy username
        "password": "pass"            // (optional) Proxy password
    }
}

Note regarding proxy servers It is possible to operate Reacher with your own IP addresses. But if you wish to process more than very small volumes you will need SMTP proxy servers. For SMTP proxy servers please use proxy25.com

2. Download the CLI [Full docs]

Note: The CLI binary doesn't connect to any backend, it checks the email directly from your computer.

Head to the releases page and download the binary for your platform.

> $ check_if_email_exists --help
check_if_email_exists 0.9.1
Check if an email address exists without sending an email.

USAGE:
    check_if_email_exists [FLAGS] [OPTIONS] [TO_EMAIL]

Check out the dedicated README.md for all options and flags.

3. Programmatic Usage [Full docs]

In your own Rust project, you can add check-if-email-exists in your Cargo.toml:

[dependencies]
check-if-email-exists = "0.9"

And use it in your code as follows:

use check_if_email_exists::{check_email, CheckEmailInput, CheckEmailInputProxy};

async fn check() {
    // Let's say we want to test the deliverability of someone@gmail.com.
    let mut input = CheckEmailInput::new(vec!["someone@gmail.com".into()]);

    // Verify this email, using async/await syntax.
    let result = check_email(&input).await;

    // `result` is a `Vec<CheckEmailOutput>`, where the CheckEmailOutput
    // struct contains all information about our email.
    println!("{:?}", result);
}

The reference docs are hosted on docs.rs.

✈️ JSON Output

The output will be a JSON with the below format, the fields should be self-explanatory. For someone@gmail.com (note that it is disabled by Gmail), here's the exact output:

{
	"input": "someone@gmail.com",
	"is_reachable": "invalid",
	"misc": {
		"is_disposable": false,
		"is_role_account": false,
		"is_b2c": true
	},
	"mx": {
		"accepts_mail": true,
		"records": [
			"alt3.gmail-smtp-in.l.google.com.",
			"gmail-smtp-in.l.google.com.",
			"alt1.gmail-smtp-in.l.google.com.",
			"alt4.gmail-smtp-in.l.google.com.",
			"alt2.gmail-smtp-in.l.google.com."
		]
	},
	"smtp": {
		"can_connect_smtp": true,
		"has_full_inbox": false,
		"is_catch_all": false,
		"is_deliverable": false,
		"is_disabled": true
	},
	"syntax": {
		"domain": "gmail.com",
		"is_valid_syntax": true,
		"username": "someone",
		"suggestion": null
	}
}

What Does This Tool Check?

Included? Feature Description JSON field
✅ Email reachability How confident are we in sending an email to this address? Can be one of safe, risky, invalid or unknown. is_reachable
✅ Syntax validation Is the address syntactically valid? syntax.is_valid_syntax
✅ DNS records validation Does the domain of the email address have valid MX DNS records? mx.accepts_mail
✅ Disposable email address (DEA) validation Is the address provided by a known disposable email address provider? misc.is_disposable
✅ SMTP server validation Can the mail exchanger of the email address domain be contacted successfully? smtp.can_connect_smtp
✅ Email deliverability Is an email sent to this address deliverable? smtp.is_deliverable
✅ Mailbox disabled Has this email address been disabled by the email provider? smtp.is_disabled
✅ Full inbox Is the inbox of this mailbox full? smtp.has_full_inbox
✅ Catch-all address Is this email address a catch-all address? smtp.is_catch_all
✅ Role account validation Is the email address a well-known role account? misc.is_role_account
✅ Gravatar Url The url of the Gravatar email address profile picture misc.gravatar_url
✅ Have I Been Pwned? Has this email been compromised in a data breach? misc.haveibeenpwned
🔜 Free email provider check Is the email address bound to a known free email provider? Issue #89
🔜 Syntax validation, provider-specific According to the syntactic rules of the target mail provider, is the address syntactically valid? Issue #90
🔜 Honeypot detection Does email address under test hide a honeypot? Issue #91

🤔 Why?

Many online services (https://hunter.io, https://verify-email.org, https://email-checker.net) offer this service for a paid fee. Here is an open-source alternative to those tools.

License

check-if-email-exists's source code is provided under the MIT License.

현재 순위

  • 270

    종합 랭킹 · 역대 최강 · Rust

    10K 스타 · 754 fork · 총 스타 수

    종합 · Rust →

최근 30일 추이

최근 30일간 기록이 없습니다.

비슷한 프로젝트 · 공유 토픽

← 랭킹으로

GitHub Hot Board타임머신Discover