207 lecturas

¿Estamos cansados de pagar por correos electrónicos?Hemos construido un Sleuth alimentado por ruptura en su lugar (y sí, hemos recibido un reembolso)

por 3m2025/05/08
Read on Terminal Reader

Demasiado Largo; Para Leer

RocketReach, Hunter, Lusha obtienen caro, rápido. Así que construimos una alternativa de código abierto para descubrir y verificar correos electrónicos profesionales.
featured image - ¿Estamos cansados de pagar por correos electrónicos?Hemos construido un Sleuth alimentado por ruptura en su lugar (y sí, hemos recibido un reembolso)
undefined HackerNoon profile picture

Si usted está haciendo cualquier tipo de ventas B2B, marketing de difusión, reclutamiento, o incluso simplemente una serie de redes serias, encontrar la dirección de correo electrónico profesional correcta es crucial.costosoPagar cientos o miles por año sólo para verificar la información de contacto puede sentirse como un mal necesario, especialmente para startups o equipos más pequeños.


Ese choque de pegatina, combinado con un amor por Rust y un buen desafío técnico, es precisamente por esoEmail SleuthEs nuestro intento de código abierto de construir un poderoso,costos eficientesalternativa para descubrir y verificar correos electrónicos profesionales. Olvide las licencias por asiento y los límites de crédito; se trata de tomar el control de vuelta.

¿Cómo funciona?Más que patrones

En su núcleo, Email Sleuth es más inteligente que simplemente saltar una lista de patrones comunes (aunque también lo hace!).


  1. Generación de patrones inteligentes: Comienza generando una lista completa de formatos de correo electrónico probables basados en los primeros y últimos nombres (john.doe, jdoe, johnd, doe.j, etc.) combinados con el dominio de destino.
  2. 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.
  3. 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.
  4. API Heuristics (The Educated Guess): Para las cuentas de Microsoft 365, tenemos otro truco. predicimos la URL de OneDrive para Empresas del usuario y enviamos un cheque rápido (una solicitud HEAD). Basado en el código de estado HTTP devuelto (como un 403 Prohibido a menudo significa "existe" vs. 404 No encontrado), podemos hacer una suposición educada.
  5. Conocimiento del proveedor: Email Sleuth intenta identificar al proveedor de correo electrónico (Gmail, Microsoft 365, Yahoo, etc.) basándose en los registros del servidor de correo del dominio. Esto le ayuda a elegir la mejor estrategia de verificación. ¡No tiene sentido probar la verificación sin cabeza de Yahoo en una dirección de Gmail!
  6. Puntuación de confianza: Cada pieza de evidencia (match de patrón, resultado de SMTP, resultado de verificación sin cabeza, indicio de API) contribuye a una puntuación de confianza (0-10) para cada correo electrónico potencial. Email Sleuth luego clasifica a los candidatos y elige el más probable que cumpla los umbrales configurables.

Construido con rugosidad, diseñado para la eficiencia

¿Por qué Rust? Velocidad, seguridad y excelente soporte de concurrencia (tokio) son perfectos para este tipo de tareas vinculadas a la red. Podemos ejecutar varias verificaciones simultáneamente, manejar los timeouts graciosamente y gestionar los recursos de manera eficiente. Las cajas clave que alimentan el núcleo incluyen reqwest (HTTP), trust-dns-resolver (DNS), lettre (SMTP), fantoccini (sin cabeza), serde/toml (datos) y clap (para el CLI).


Recientemente, llevamos a cabo un refactor importante, dividiendo la lógica en una biblioteca de núcleo (email-sleuth-core) y una herramienta CLI separada. Esto hace que la lógica de núcleo sea reutilizable en otros proyectos de Rust y mantenga la base de código más limpia y más fácil de mantener a medida que añadimos más voodoo de verificación.

Dale a un Whirl

Puedes usar Email Sleuth de dos maneras:

  • 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.


Encontrar correos electrónicos sigue siendo un negocio complicado, una mezcla de exploración técnica y adivinación educada. Email Sleuth tiene como objetivo traer más ciencia (y algunos hacks inteligentes) a la mesa.


Check out the project Aquí!Nos encantarían los comentarios, especialmente sobre las características experimentales sin cabeza y API. ¡Hagamos que encontrar esos correos electrónicos sea un poco menos doloroso!

Aquí

Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks