Это открытый источник, но я также предлагаю решение SaaS , в котором есть check-if-email-exists упакованный в хорошем дружелюбном веб-интерфейсе. Если вы заинтересованы, узнайте больше в Reacher. Если у вас есть какие -либо вопросы, вы можете связаться со мной по адресу [email protected].
3 Не-SAAS Способ начала с check-if-email-exists .
Эта опция позволяет вам запустить бэкэнд HTTP с помощью Docker?, На облачном экземпляре или на вашем собственном сервере. Обратите внимание, что исходящий порт 25 должен быть открыт.
docker run -p 8080:8080 reacherhq/backend:latest Затем отправьте POST http://localhost:8080/v0/check_email со следующим телом:
{
"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
} ,
}ПРИМЕЧАНИЕ. Бинарник CLI не подключается к какому -либо бэкэнд, он проверяет электронное письмо непосредственно с вашего компьютера.
Перейдите на страницу релизов и загрузите двоичный файл для вашей платформы.
> $ 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]Проверьте выделенный readme.md для всех вариантов и флагов.
В своем собственном проекте Rust вы можете добавить check-if-email-exists в свой Cargo.toml :
[ dependencies ]
check-if-email-exists = " 0.9 "И используйте его в своем коде следующим образом:
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 ) ;
}Справочные документы размещены на Docs.rs.
Выход будет JSON с нижеприведенным форматом, поля должны быть самостоятельными. Для [email protected] (обратите внимание, что он отключен Gmail), вот точный вывод:
{
"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
}
}| Включено? | Особенность | Описание | JSON Field |
|---|---|---|---|
| ✅ | Достигаемость электронной почты | Насколько уверены, что мы отправляем электронное письмо на этот адрес? Может быть одним из safe , risky , invalid или unknown . | is_reachable |
| ✅ | Синтаксическая проверка | Адрес синтаксически действителен? | syntax.is_valid_syntax |
| ✅ | DNS Records Validation | Есть ли в домене адреса электронной почты действительные записи MX DNS? | mx.accepts_mail |
| ✅ | Одноразовая адрес электронной почты (DEA) проверка | Предоставляется ли адрес известного поставщика одноразовых адресов электронной почты? | misc.is_disposable |
| ✅ | Проверка SMTP -сервера | Можно ли успешно связаться с почтовым обменом домена адреса электронной почты? | smtp.can_connect_smtp |
| ✅ | Доставленность электронной почты | Электронное письмо отправлено по этому адресу поставлено? | smtp.is_deliverable |
| ✅ | Почтовый ящик отключен | Был ли этот адрес электронной почты отключен поставщиком электронной почты? | smtp.is_disabled |
| ✅ | Полный почтовый ящик | Заполнен ли входящий ящик этого почтового ящика? | smtp.has_full_inbox |
| ✅ | Уловимый Адрес | Этот адрес электронной почты-всеобъемлющий адрес? | smtp.is_catch_all |
| ✅ | Валидация ролевой учетной записи | Является ли адрес электронной почты известной учетной записью роли? | misc.is_role_account |
| ✅ | Граватарский URL | URL | misc.gravatar_url |
| ✅ | Я был записан? | Было ли это электронное письмо скомпрометировано в нарушении данных? | misc.haveibeenpwned |
| Бесплатная проверка провайдера электронной почты | Адрес электронной почты связан с известным бесплатным поставщиком электронной почты? | Выпуск № 89 | |
| Синтаксическая проверка, специфичная для поставщика | Согласно синтаксическим правилам целевого поставщика почты, является ли адрес синтаксически действителен? | Выпуск № 90 | |
| Обнаружение медоносной ролики | Скрывает ли адрес электронной почты под тестированием Honeypot? | Выпуск № 91 |
Многие онлайн-сервисы (https://hunter.io, https://verify-email.org, https://email-checker.net) предлагают эту услугу за оплату. Вот альтернатива с открытым исходным кодом этим инструментам.
Исходный код check-if-email-exists предоставляется в соответствии с двойной лицензионной моделью .
Если вы хотите использовать check-if-email-exists для разработки коммерческих сайтов, инструментов и приложений, коммерческая лицензия является соответствующей лицензией. С помощью этой опции ваш исходный код сохраняется запатентованным. Купите коммерческую лицензию check-if-email-exists по адресу https://reacher.email/pracing.
Если вы создаете заявку с открытым исходным кодом в соответствии с лицензией, совместимой с лицензией GNU Affero GPL V3, вы можете использовать check-if-email-exists в соответствии с условиями AGPL-3.0.
➡ Узнайте больше о лицензии Оперера.
Создайте CLI из источника или бэкэнд HTTP из Source.