MailChecker:一款功能强大的跨语言临时电子邮件安全检测库

发布时间:2023年12月22日

关于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

Hook0 — Open-Source Webhooks-as-a-service (WaaS)

Image Charts | Instantly create beautiful charts

https://github.com/jonashaag/django-indisposable

文章来源:https://blog.csdn.net/FreeBuf_/article/details/135154367
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。