C'est open-source, mais je propose également une solution SaaS qui a check-if-email-exists emballés dans une belle interface Web amicale. Si vous êtes intéressé, en savoir plus chez Reacher. Si vous avez des questions, vous pouvez me contacter à [email protected].
3 façons non-SAAS de commencer avec check-if-email-exists .
Cette option vous permet d'exécuter un backend HTTP à l'aide de Docker ?, Sur une instance cloud ou votre propre serveur. Veuillez noter que le port sortant 25 doit être ouvert.
docker run -p 8080:8080 reacherhq/backend:latest Ensuite, envoyez un POST http://localhost:8080/v0/check_email avec le corps suivant:
{
"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
} ,
}Remarque: Le Binaire CLI ne se connecte à aucun backend, il vérifie l'e-mail directement depuis votre ordinateur.
Dirigez-vous vers la page des versions et téléchargez le binaire pour votre plateforme.
> $ 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]Consultez le Readme.md dédié pour toutes les options et drapeaux.
Dans votre propre projet de rouille, vous pouvez ajouter check-if-email-exists dans votre Cargo.toml :
[ dependencies ]
check-if-email-exists = " 0.9 "Et utilisez-le dans votre code comme suit:
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 ) ;
}Les documents de référence sont hébergés sur docs.rs.
La sortie sera un JSON avec le format ci-dessous, les champs devraient être explicites. Pour [email protected] (notez qu'il est désactivé par Gmail), voici la sortie exacte:
{
"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
}
}| Compris? | Fonctionnalité | Description | Champ JSON |
|---|---|---|---|
| ✅ | Accessoire des e-mails | Dans quelle mesure sommes-nous confiants en envoyant un e-mail à cette adresse? Peut être une safe , risky , invalid ou unknown . | is_reachable |
| ✅ | Validation de syntaxe | L'adresse est-elle syntaxiquement valide? | syntax.is_valid_syntax |
| ✅ | DNS enregistre la validation | Le domaine de l'adresse e-mail a-t-il des enregistrements MX DNS valides? | mx.accepts_mail |
| ✅ | Validation de l'adresse e-mail jetable (DEA) | L'adresse est-elle fournie par un fournisseur d'adresses e-mail jetable connu? | misc.is_disposable |
| ✅ | Validation du serveur SMTP | L'échangeur de courrier du domaine de l'adresse e-mail peut-il être contacté avec succès? | smtp.can_connect_smtp |
| ✅ | Délivabilité par e-mail | Un e-mail est-il envoyé à cette adresse livrable? | smtp.is_deliverable |
| ✅ | Boîte aux lettres désactivée | Cette adresse e-mail a-t-elle été désactivée par le fournisseur de messagerie? | smtp.is_disabled |
| ✅ | Boîte de réception complète | La boîte de réception de cette boîte aux lettres est-elle pleine? | smtp.has_full_inbox |
| ✅ | Adresse fourre-tout | Cette adresse e-mail est-elle une adresse de fourre-tout? | smtp.is_catch_all |
| ✅ | Validation du compte de rôle | L'adresse e-mail est-elle un compte de rôle bien connu? | misc.is_role_account |
| ✅ | URL Gravatar | L'URL de la photo de profil d'adresse e-mail Gravatar | misc.gravatar_url |
| ✅ | Ai-je été pwned? | Cet e-mail a-t-il été compromis dans une violation de données? | misc.haveibeenpwned |
| Vérification gratuite du fournisseur de messagerie | L'adresse e-mail est-elle liée à un fournisseur de messagerie gratuit connu? | Numéro n ° 89 | |
| Validation de syntaxe, spécifique au fournisseur | Selon les règles syntaxiques du fournisseur de messagerie cible, l'adresse est-elle syntaxiquement valide? | Numéro n ° 90 | |
| Détection de pot de miel | L'adresse e-mail du test cache-t-elle un pot de miel? | Numéro n ° 91 |
De nombreux services en ligne (https://hunter.io, https://verify-email.org, https://email-checker.net) offrent ce service moyennant des frais payés. Voici une alternative open source à ces outils.
Le code source de check-if-email-exists est fourni dans un modèle de double licence .
Si vous souhaitez utiliser check-if-email-exists pour développer des sites, des outils et des applications commerciaux, la licence commerciale est la licence appropriée. Avec cette option, votre code source est maintenu propriétaire. Achetez une licence commerciale check-if-email-exists sur https://reacher.email/pricing.
Si vous créez une application open source sous une licence compatible avec la licence GPL GPL GPL V3, vous pouvez utiliser check-if-email-exists en vertu de l'AGPL-3.0.
➡️ En savoir plus sur la licence de Reachor.
Construisez la CLI à partir de la source ou du backend HTTP à partir de la source.