freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

MailChecker:一款功能强大的跨语言临时电子邮件安全检测库
2023-11-22 21:32:34

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

https://www.hook0.com/

https://image-charts.com/?gh_mailchecker

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

# 电子邮件 # 邮件安全 # 电子邮件安全 # 电子邮件威胁 # 邮件安全防护
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录