Pokud děláte jakýkoliv druh B2B prodeje, marketingové propagace, nábor, nebo dokonce jen vážné sítě, najít správnou profesionální e-mailovou adresu je zásadní.drahéPlatit stovky nebo tisíce ročně jen pro ověření kontaktních informací se může zdát jako nutné zlo, zejména pro start-upy nebo menší týmy.
Tento nálepkový šok, spojený s láskou k Rust a dobrou technickou výzvou, je přesně tím, pročEmail SleuthJe to náš pokus otevřeného zdroje vybudovat silný,nákladově efektivníAlternativou k objevování a ověřování profesionálních e-mailů.Zapomeňte na licence na místo a kreditní limity; jde o získání kontroly zpět.
Jak to funguje? více než jen vzory
Ve svém jádru je Email Sleuth chytřejší než jen vyplivnutí seznamu společných vzorů (i když to dělá taky!).
- Smart Pattern Generation: Začíná generováním komplexního seznamu pravděpodobných e-mailových formátů založených na prvních a posledních jménech (john.doe, jdoe, johnd, doe.j atd.) v kombinaci s cílovou doménou.
- SMTP Verification (The Classic Check): This is the old-school method. Email Sleuth connects directly to the company's mail server (found via MX records) and politely asks, "Hey, would you accept mail for jdoe@example.com?" using standard SMTP commands (MAIL FROM, RCPT TO). A direct "yes" or "no" is great!
- The Catch: This is becoming less reliable. Many servers block these probes, use temporary "greylisting" delays, or worse, are configured as "catch-alls" that accept everything, telling you nothing about a specific address. We now specifically test for and handle catch-all domains.
- Headless Browser Magic (The Clever Workaround): When SMTP lets us down, we get creative. Email Sleuth can fire up a headless Chrome browser (using the fantoccini Rust crate and needing a running WebDriver instance like chromedriver) and automate common web flows:
- Yahoo & Microsoft Password Resets: We mimic a user trying to reset a password for the target email. The screens shown or errors encountered during these flows often reveal whether an account actually exists, even when SMTP is useless! It's a bit like lockpicking, but for email validation.
- API Heuristics (The Educated Guess): Pro účty Microsoft 365 máme další trik. Předpovídáme uživatelovu adresu URL OneDrive for Business a odesíláme rychlou kontrolu (žádost HEAD).Na základě kódů stavu HTTP vrácených (jako například 403 Zakázáno často znamená „existuje“ vs. 404 Nenašel), můžeme udělat vzdělanou domněnku.
- Poskytovatel povědomí: Email Sleuth se snaží identifikovat poskytovatele e-mailu (Gmail, Microsoft 365, Yahoo, atd.) na základě záznamů poštovního serveru domény. To mu pomáhá vybrat nejlepší ověřovací strategii.
- Hodnocení důvěry: Každý kus důkazů (vzorová shoda, výsledek SMTP, výsledek bezhlavé kontroly, náznak API) přispívá k skóre důvěry (0-10) pro každý potenciální e-mail.
Vyrobeno z nerezu, navrženo pro efektivitu
Proč Rust?Rychlost, bezpečnost a vynikající souběžná podpora (tokio) jsou ideální pro tento typ úkolů spojených s sítí.Můžeme současně spustit více kontrol, chytře zvládnout časové úseky a efektivně spravovat zdroje.Klíčové žehličky napájející jádro zahrnují reqwest (HTTP), trust-dns-resolver (DNS), lettre (SMTP), fantoccini (bez hlavy), serde/toml (data) a clap (pro CLI).
Nedávno jsme podnikli velký refaktor, který rozdělil logiku na základní knihovnu (email-sleuth-core) a samostatný nástroj CLI.
Vezměte si whirl
Email Sleuth můžete použít dvěma způsoby:
- The CLI Tool:
- Single lookup: email-sleuth --name "Jane Doe" --domain "example.com"
- Batch processing: email-sleuth --input contacts.json --output results.json
- Enable advanced checks: email-sleuth ... --enable-headless-checks --webdriver-url http://localhost:9515 (See docs/config for more flags!)
- The Core Library:
- Add email_sleuth_core to your Cargo.toml.
- Use the ConfigBuilder to set up your configuration.
- Call initialize_sleuth(&config).await to get started.
- Use find_single_email(...) or process_contacts(...) for the magic.
Hledání e-mailů je stále složité podnikání, směs technického průzkumu a vzdělané hádanky. Email Sleuth si klade za cíl přinést více vědy (a některé chytré hacky) na stůl.
Check out the project zde!Milovali bychom zpětnou vazbu, zejména na experimentální bezhlavé a API funkce.
zde