MailChecker:一款功能强大的跨语言临时电子邮件安全检测库
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
关于MailChecker
MailChecker是一款功能强大的跨语言临时电子邮件安全检测工具,该工具可以帮助广大研究人员快速对目标电子邮件进行安全检测和内容验证。该工具后端由一个包含了超过55000个的虚假电子邮件提供商的数据库驱动,当你需要使用电子邮件与你的用户进行联系时,该工具可以有效地防止邮件被丢到“垃圾收件箱”中。
功能介绍
当前版本的MailChecker支持以下功能:
1、验证电子邮件的格式:底层使用validator.js电子邮件正则式验证工具和FILTER_VALIDATE_EMAIL(PHP);
2、验证电子邮件是否是一份临时邮件(类似yopmail);
MailChecker支持的语言
当前版本的MailChecker支持检测以下语言:
NodeJS
JavaScript
PHP
Python
Ruby
Rust
Elixir
Clojure
Go
工具下载
Go
go get https://github.com/FGRibreau/mailchecker
NodeJS/JavaScript
npm install mailchecker
Ruby
gem install ruby-mailchecker
PHP
composer require fgribreau/mailchecker
工具使用
NodeJS
var MailChecker = require('mailchecker'); if(!MailChecker.isValid('myemail@yopmail.com')){ console.error('O RLY !'); process.exit(1); } if(!MailChecker.isValid('myemail.com')){ console.error('O RLY !'); process.exit(1); }
JavaScript
<script type="text/javascript" src="MailChecker/platform/javascript/MailChecker.js"></script> <script type="text/javascript"> if(!MailChecker.isValid('myemail@yopmail.com')){ console.error('O RLY !'); } if(!MailChecker.isValid('myemail.com')){ console.error('O RLY !'); } </script>
PHP
use Fgribreau\MailChecker; require __DIR__ . '/vendor/autoload.php'; if(!MailChecker::isValid('myemail@yopmail.com')){ die('O RLY !'); } if(!MailChecker::isValid('myemail.com')){ die('O RLY !'); }
Python
我们需要使用pip工具直接安装MailChecker:
pip install mailchecker
然后在你的代码中引入MailChecker.py文件即可:
from MailChecker import MailChecker if not MailChecker.is_valid('bla@example.com'): print "O RLY !"
Django验证器:【传送门】
Ruby
require 'mail_checker' unless MailChecker.valid?('myemail@yopmail.com') fail('O RLY!') end
Rust
extern crate mailchecker; assert_eq!(true, mailchecker::is_valid("plop@plop.com")); assert_eq!(false, mailchecker::is_valid("\nok@gmail.com\n")); assert_eq!(false, mailchecker::is_valid("ok@guerrillamailblock.com"));
Elixir
Code.require_file("mail_checker.ex", "mailchecker/platform/elixir/") unless MailChecker.valid?("myemail@yopmail.com") do raise "O RLY !" end unless MailChecker.valid?("myemail.com") do raise "O RLY !" end
Clojure
; no package yet; just drop in mailchecker.clj where you want to use it. (load-file "platform/clojure/mailchecker.clj") (if (not (mailchecker/valid? "myemail@yopmail.com")) (throw (Throwable. "O RLY!"))) (if (not (mailchecker/valid? "myemail.com")) (throw (Throwable. "O RLY!")))
Go
package main import ( "log" "github.com/FGRibreau/mailchecker/platform/go" ) if !mail_checker.IsValid('myemail@yopmail.com') { log.Fatal('O RLY !'); } if !mail_checker.IsValid('myemail.com') { log.Fatal("O RLY !") }
开发环境
如需为该工具部署开发环境,请先在本地设备上安装并配置好Docker。
使用下列命令将该项目源码克隆至本地:
git clone https://github.com/FGRibreau/mailchecker.git
然后在Docker中安装并配置对应语言的依赖组件:
npm install
执行环境安装:
npm run setup
运行测试:
npm test
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
MailChecker:【GitHub传送门】
参考资料
https://github.com/chriso/validator.js/blob/master/validator.js#L38
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录