Esto es de código abierto, pero también ofrezco una solución SaaS que tiene check-if-email-exists empaquetados en una bonita interfaz web amigable. Si está interesado, obtenga más información en Reacher. Si tiene alguna pregunta, puede contactarme en [email protected].
3 formas no SAA de comenzar con check-if-email-exists .
Esta opción le permite ejecutar un backend HTTP usando Docker?, En una instancia de la nube o en su propio servidor. Tenga en cuenta que el puerto de salida 25 debe estar abierto.
docker run -p 8080:8080 reacherhq/backend:latest Luego envíe una POST http://localhost:8080/v0/check_email Solicitud con el siguiente cuerpo:
{
"to_email" : "[email protected]" ,
"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
} ,
}Nota: El Binario CLI no se conecta a ningún backend, verifica el correo electrónico directamente desde su computadora.
Dirígete a la página de versiones y descarga el binario para tu plataforma.
> $ 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]Consulte el readme.md dedicado para todas las opciones y banderas.
En su propio proyecto de óxido, puede agregar check-if-email-exists en su Cargo.toml :
[ dependencies ]
check-if-email-exists = " 0.9 "Y úselo en su código de la siguiente manera:
use check_if_email_exists :: { check_email , CheckEmailInput , CheckEmailInputProxy } ;
async fn check ( ) {
// Let's say we want to test the deliverability of [email protected].
let mut input = CheckEmailInput :: new ( vec ! [ "[email protected]" . 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 ) ;
}Los documentos de referencia están alojados en docs.rs.
La salida será un JSON con el siguiente formato, los campos deben explicarse por sí mismo. Para [email protected] (tenga en cuenta que Gmail está desactivado), aquí está el resultado exacto:
{
"input" : " [email protected] " ,
"is_reachable" : " invalid " ,
"misc" : {
"is_disposable" : false ,
"is_role_account" : false
},
"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
}
}| ¿Incluido? | Característica | Descripción | Campo JSON |
|---|---|---|---|
| ✅ | Accesibilidad por correo electrónico | ¿Qué tan seguros estamos al enviar un correo electrónico a esta dirección? Puede ser de safe , risky , invalid o unknown . | is_reachable |
| ✅ | Validación de sintaxis | ¿La dirección es sintácticamente válida? | syntax.is_valid_syntax |
| ✅ | Validación de registros de DNS | ¿El dominio de la dirección de correo electrónico tiene registros MX DNS válidos? | mx.accepts_mail |
| ✅ | Validación de dirección de correo electrónico desechable (DEA) | ¿La dirección proporcionada por un proveedor de dirección de correo electrónico desechable conocido? | misc.is_disposable |
| ✅ | Validación del servidor SMTP | ¿Se puede contactar con éxito el intercambiador de correo del dominio de la dirección de correo electrónico? | smtp.can_connect_smtp |
| ✅ | Capacidad de entrega de correo electrónico | ¿Se envía un correo electrónico a esta dirección? | smtp.is_deliverable |
| ✅ | Buzón discapacitado | ¿El proveedor de correo electrónico ha deshabilitado esta dirección de correo electrónico? | smtp.is_disabled |
| ✅ | Bandeja de entrada completa | ¿Está llena la bandeja de entrada de este buzón? | smtp.has_full_inbox |
| ✅ | Dirección de atrapar | ¿Es esta dirección de correo electrónico una dirección todo? | smtp.is_catch_all |
| ✅ | Validación de cuenta de roles | ¿Es la dirección de correo electrónico una cuenta de roles bien conocida? | misc.is_role_account |
| ✅ | URL de gravatar | La URL de la foto del perfil de dirección de correo electrónico de Gravatar | misc.gravatar_url |
| ✅ | ¿He sido pwned? | ¿Se ha comprometido este correo electrónico en una violación de datos? | misc.haveibeenpwned |
| Cheque de proveedor de correo electrónico gratuito | ¿Está la dirección de correo electrónico vinculada a un proveedor de correo electrónico gratuito conocido? | Problema #89 | |
| Validación de sintaxis, proveedor específico | De acuerdo con las reglas sintácticas del proveedor de correo objetivo, ¿la dirección es sintácticamente válida? | Problema #90 | |
| Detección de honeypot | ¿La dirección de correo electrónico bajo prueba oculta un honeypot? | Problema #91 |
Muchos servicios en línea (https://hunter.io, https://verify-email.org, https://email-checker.net) Ofrecen este servicio por una tarifa pagada. Aquí hay una alternativa de código abierto a esas herramientas.
El código fuente de check-if-email-exists se proporciona bajo un modelo de doble licencia .
Si desea utilizar check-if-email-exists para desarrollar sitios comerciales, herramientas y aplicaciones, la licencia comercial es la licencia apropiada. Con esta opción, su código fuente se mantiene propietario. Compre una licencia comercial check-if-email-exists en https://reacher.email/picing.
Si está creando una aplicación de código abierto bajo una licencia compatible con el GNU Affero GPL License V3, puede usar check-if-email-exists bajo los términos del AGPL-3.0.
➡️ Lea más sobre la licencia de Reacher.
Construya la CLI a partir de la fuente o el backend HTTP desde la fuente.