这是开源的,但是我还提供了一种SaaS解决方案,该解决方案在一个友好的网络界面中包装了check-if-email-exists 。如果您有兴趣,请在Reacher中找到更多。如果您有任何疑问,可以通过[email protected]与我联系。
3种非SAA的方法可以开始使用check-if-email-exists 。
此选项使您可以在云实例或自己的服务器上使用Docker?运行HTTP后端。请注意,出站端口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项目中,您可以在Cargo.toml中添加check-if-email-exists escists.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 ) ;
}参考文档托管在文档中。
输出将是具有以下格式的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记录验证 | 电子邮件地址的域是否具有有效的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 |
| ✅ | Gravatar URL | Gravatar电子邮件地址配置文件图片的URL | misc.gravatar_url |
| ✅ | 我有过PW吗? | 该电子邮件是否在数据泄露中受到妥协? | misc.haveibeenpwned |
| 免费电子邮件提供商检查 | 电子邮件地址是否绑定到已知的免费电子邮件提供商? | 问题#89 | |
| 语法验证,特定于提供商 | 根据目标邮件提供商的句法规则,地址句法有效吗? | 问题#90 | |
| 蜜罐检测 | 正在测试的电子邮件地址隐藏一个蜜罐吗? | 问题#91 |
许多在线服务(https://hunter.io,https://verify-email.org,https://email-checker.net)以付费费用提供此服务。这是这些工具的开源替代品。
check-if-email-exists的源代码是在双重许可模型下提供的。
如果您想使用check-if-email-exists来开发商业网站,工具和应用程序,则商业许可证是适当的许可证。使用此选项,您的源代码保持专有。在https://reacher.email/pricing上购买check-if-email-exists商业许可证。
如果您是根据与GNU Affero affero许可证v3兼容的许可证的开源申请,则可以根据AGPL-3.0的条款使用check-if-email-exists 。
➡️阅读有关Reacher许可证的更多信息。
从源或从源构建HTTP后端的CLI。