kennym / mailchecker

Cross-language temporary (disposable/throwaway) email detection library. Covers 1979 fake email providers.

Home Page:http://twitter.com/FGRibreau

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MailChecker

Build Status Deps Version Downloads

Cross-language email validation. Backed by a database of 1979 throwable email providers.

This will be very helpful when you have to contact your users and you want to avoid errors causing lack of communication or want to block "spamboxes".


Looking for a free Redis administration & monitoring service?

Create your free account on Redsmin


MailChecker currently supports:


Usage

NodeJS

var MailChecker = require('mailchecker');

if(!MailChecker('myemail@yopmail.com')){
  console.error('O RLY !');
  process.exit(1);
}

if(!MailChecker('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('myemail@yopmail.com')){
  console.error('O RLY !');
}

if(!MailChecker('myemail.com')){
  console.error('O RLY !');
}
</script>

PHP

include __DIR__."/MailChecker/platform/php/MailChecker.php";

if(!MailChecker('myemail@yopmail.com')){
  die('O RLY !');
}

if(!MailChecker('myemail.com')){
  die('O RLY !');
}

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

Python

# no package yet; just drop in MailChecker.py where you want to use it.
import MailChecker
m = MailChecker.MailChecker()

if not m.is_valid('bla@example.com'):
    print "O RLY !"

Ruby Build Status

require 'mail_checker'

unless MailChecker('myemail@yopmail.com')
  fail('O RLY!')
end

unless MailChecker.valid?('myemail@yopmail.com')
  fail('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!")))

Installation

NodeJS/JavaScript

npm install mailchecker

Ruby

gem install ruby-mailchecker

We accept pull-requests for other package manager.

Data sources

TorVPN

  $('td', 'table:last').map(function(){
    return this.innerText;
  }).toArray();

BloggingWV

  Array.prototype.slice.call(document.querySelectorAll('.entry > ul > li a')).map(function(el){return el.innerText});

... please add your own dataset to list.json.

Regenerate libraries from list.json

Just run (requires NodeJS):

./gen.js

Donate

Donate Bitcoins

License

Copyright (c) 2013 Francois-Guillaume Ribreau Licensed under the MIT license.

About

Cross-language temporary (disposable/throwaway) email detection library. Covers 1979 fake email providers.

http://twitter.com/FGRibreau

License:MIT License


Languages

Language:Ruby 20.3%Language:Elixir 19.9%Language:Clojure 19.6%Language:PHP 18.5%Language:Python 16.5%Language:JavaScript 5.1%Language:Shell 0.1%