Isso é de código aberto, mas também ofereço uma solução SaaS que possui check-if-email-exists embalados em uma boa interface da Web amigável. Se você estiver interessado, descubra mais no Reacher. Se você tiver alguma dúvida, entre em contato comigo em [email protected].
3 maneiras não-SAAs de começar com check-if-email-exists .
Esta opção permite executar um back -end HTTP usando o Docker?, Em uma instância da nuvem ou seu próprio servidor. Observe que a porta 25 de saída deve estar aberta.
docker run -p 8080:8080 reacherhq/backend:latest Em seguida, envie um POST http://localhost:8080/v0/check_email solicitação com o seguinte órgão:
{
"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: O binário da CLI não se conecta a nenhum back -end, ele verifica o email diretamente do seu computador.
Vá para a página de lançamentos e faça o download do binário da sua 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]Confira o Readme.md dedicado para todas as opções e sinalizadores.
Em seu próprio projeto de ferrugem, você pode adicionar check-if-email-exists em sua Cargo.toml :
[ dependencies ]
check-if-email-exists = " 0.9 "E use -o no seu código da seguinte forma:
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 ) ;
}Os documentos de referência estão hospedados no doc.rs.
A saída será um JSON com o formato abaixo, os campos devem ser auto-explicativos. Para [email protected] (observe que está desativado pelo Gmail), aqui está a saída exata:
{
"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
}
}| Incluído? | Recurso | Descrição | JSON FIELD |
|---|---|---|---|
| ✅ | A alcance de e -mail | Quão confiantes estamos enviando um email para este endereço? Pode ser um de safe , risky , invalid ou unknown . | is_reachable |
| ✅ | Validação da sintaxe | O endereço é sintaticamente válido? | syntax.is_valid_syntax |
| ✅ | DNS registra validação | O domínio do endereço de email tem registros MX DNS válidos? | mx.accepts_mail |
| ✅ | Validação de Endereço de e -mail descartável (DEA) | O endereço fornecido por um provedor de endereço de e -mail descartável conhecido é? | misc.is_disposable |
| ✅ | Validação do servidor SMTP | O trocador de correio do domínio do endereço de email pode ser contatado com sucesso? | smtp.can_connect_smtp |
| ✅ | Entrega por e -mail | Um email enviado para este endereço é entregue? | smtp.is_deliverable |
| ✅ | Caixa de correio desativada | Este endereço de e -mail foi desativado pelo provedor de email? | smtp.is_disabled |
| ✅ | Caixa de entrada completa | A caixa de entrada desta caixa de correio está cheia? | smtp.has_full_inbox |
| ✅ | Endereço de Catch-All | Este endereço de e-mail é um endereço de captura? | smtp.is_catch_all |
| ✅ | Validação da conta de função | O endereço de e-mail é uma conta de função bem conhecida? | misc.is_role_account |
| ✅ | Url gravatar | O URL da imagem do perfil de endereço de e -mail de Gravatar | misc.gravatar_url |
| ✅ | Eu fui pwned? | Este email foi comprometido em uma violação de dados? | misc.haveibeenpwned |
| Verificação gratuita de provedor de e -mail | O endereço de e -mail está vinculado a um provedor de e -mail gratuito conhecido? | Edição #89 | |
| Validação da sintaxe, específica do provedor | De acordo com as regras sintáticas do provedor de correio -alvo, o endereço é sintaticamente válido? | Edição #90 | |
| Detecção de Honeypot | O endereço de e -mail em teste oculta um honeypot? | Edição #91 |
Muitos serviços on-line (https://hunter.io, https://verify-email.org, https://email-checker.net) oferecem este serviço por uma taxa paga. Aqui está uma alternativa de código aberto a essas ferramentas.
O código-fonte do check-if-email-exists é fornecido sob um modelo de licença dupla .
Se você deseja usar check-if-email-exists para desenvolver sites, ferramentas e aplicativos comerciais, a licença comercial é a licença apropriada. Com esta opção, seu código -fonte é mantido proprietário. Compre uma licença comercial check-if-email-exists em https://reacher.email/pricing.
Se você estiver criando um aplicativo de código aberto sob uma licença compatível com a licença GNU Affero GPL V3, poderá usar check-if-email-exists nos termos do AGPL-3.0.
➡️ Leia mais sobre a licença do Reacher.
Construa a CLI a partir da fonte ou do back -end HTTP a partir da fonte.