Created
February 13, 2014 20:08
-
-
Save 19h/8982838 to your computer and use it in GitHub Desktop.
Invalid Mail Detection for Node.js. Looksup against static list, then calls the mogelmail.de API and finally requests the target MX server to obtain the state of the mail address.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var dns = require("dns"), | |
net = require("net"); | |
var nops = {}; | |
var fs = require("fs"), | |
http = require("http"); | |
// read trash mail domains | |
fs.readFileSync("./verifymx_trashmail") | |
.toString().split("\n") | |
.forEach(function (v) { | |
nops [v] = 1 | |
}) | |
var agent = new http.Agent(); | |
var lookupEmail = function (e, cb) { | |
return http.request({ | |
hostname: "www.mogelmail.de", | |
port: 80, | |
path: "/q/" + e, | |
agent: agent | |
}, function (s) { | |
s.on("data", function (d) { | |
cb(+String(d) === 0) | |
}), s.on("error", function () { | |
cb(true) | |
}) | |
}).end() | |
} | |
module.exports = function(email, callback, timeout) { | |
if (!callback) return false; | |
timeout = timeout || 5000; | |
var domain = email.split("@")[1]; | |
// test integrity | |
if (!/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email)) | |
return callback(null, false); | |
if (nops[domain]) | |
return callback(null, false); | |
return lookupEmail(domain, function (exists) { | |
if (exists) | |
return dns.resolveMx(domain, function(err, addresses) { | |
if (err || !addresses.length) | |
return callback(err, false); | |
var conn = net.createConnection(25, addresses[0].exchange); | |
var commands = ["helo " + addresses[0].exchange, "mail from: <" + email + ">", "rcpt to: <" + email + ">"]; | |
var i = 0; | |
conn.setEncoding("ascii"); | |
conn.setTimeout(timeout); | |
conn.on("error", function() { | |
callback(err, false), | |
conn.removeAllListeners(); | |
}); | |
conn.on("connect", function() { | |
conn.on("prompt", function() { | |
if (i < 3) { | |
conn.write(commands[i]); | |
conn.write("\n"); | |
i++; | |
} else { | |
callback(err, true); | |
conn.removeAllListeners(); | |
} | |
}); | |
conn.on("timeout", function() { | |
callback(err, false, true); | |
conn.removeAllListeners(); | |
}); | |
conn.on("data", function(data) { | |
if (~data.indexOf("220") || ~data.indexOf("250")) { | |
conn.emit("prompt"); | |
} else if (~data.indexOf("550")) { | |
callback(err, false); | |
conn.removeAllListeners(); | |
} else { | |
callback(err, false, true); | |
conn.removeAllListeners(); | |
} | |
}); | |
}); | |
}); | |
else | |
return callback(null, false); | |
}) | |
}; | |
/* | |
Example usage: | |
module.exports("kenan@trashmail.de", console.log) | |
// will yield [null, false] | |
module.exports("kenan@sly.mn", console.log) | |
// will yield [null, true] | |
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0815.ru | |
0clickemail.com | |
10minutemail.com | |
12houremail.com | |
12minutemail.com | |
163.com | |
1800newcareer.co.cc | |
1pad.de | |
21cn.com | |
2day.servebeer.com | |
2prong.com | |
3126.com | |
3d-painting.com | |
8127ep.com | |
BeefMilk.com | |
DingBone.com | |
FudgeRub.com | |
LookUgly.com | |
SendSpamHere.com | |
SmellFear.com | |
SpamHerePlease.com | |
SpamThisPlease.com | |
TempEMail.net | |
a.blogdns.com | |
adresseemailtemporaire.com | |
afrobacon.com | |
agedmail.com | |
akapost.com | |
akerd.com | |
ama-trade.de | |
ama-trans.de | |
ano-mail.net | |
anon-mail.de | |
anonbox.net | |
anonmails.de | |
anonymbox.com | |
anonymhost.org | |
anonymmail.org | |
anonymousmail.de | |
anonymousspeech.com | |
anonymservices.com.pa | |
anonymservices.org | |
antichef.net | |
antireg.ru | |
antispam.de | |
antispam24.de | |
antispammail.de | |
armyspy.com | |
asdasd.ru | |
b2cmail.de | |
bananenstaat.com | |
bangbus.de | |
beefmilk.com | |
beispiel.com | |
beispiel.de | |
beispiel.net | |
beispiel.org | |
binkmail.com | |
bio-muesli.info | |
bio-muesli.net | |
bka.to | |
blackmarket.to | |
bobmail.info | |
bodhi.lawlita.com | |
bofthew.com | |
bootybay.de | |
breakthru.com | |
brennendesreich.de | |
broadbandninja.com | |
bsnow.net | |
bspamfree.org | |
buffemail.com | |
bugmenever.com | |
bugmenot.com | |
bumpymail.com | |
bund.us | |
byom.de | |
cam4you.cc | |
card.zp.ua | |
casema.org | |
cellurl.com | |
centermail.com | |
centermail.net | |
chammy.info | |
cheatmail.de | |
checknew.pw | |
chogmail.com | |
chongsoft.cn | |
chongsoft.org | |
cndwa.cn | |
consumerriot.com | |
cool.fr.nf | |
courriel.fr.nf | |
curveball.zone-salting.info | |
cust.in | |
cuvox.de | |
cysel.zzn.com | |
d-painting.comip.us | |
dayrep.com | |
dbunker.com | |
ddl.cx | |
deadaddress.com | |
dealja.com | |
delikkt.de | |
despam.it | |
despammed.com | |
devnullmail.com | |
dingbone.com | |
discardmail.com | |
discardmail.de | |
disposeamail.com | |
dispostable.com | |
dodgeit.com | |
dodgit.com | |
doerre.com | |
dontreg.com | |
dontsendmespam.de | |
dotgeit.com | |
dotgit.com | |
dotman.de | |
drdrb.com | |
dropcake.de | |
dudmail.com | |
dump-email.info | |
dumpmail.de | |
duskmail.com | |
dyndns.com | |
dyndns.org | |
e-mails.nu | |
e-postkasten.com | |
e-postkasten.de | |
e-postkasten.eu | |
e-postkasten.info | |
e4ward.com | |
easytrashmail.com | |
edv.to | |
einfach.to | |
einmalmail.de | |
einrot.com | |
eintagsmail.de | |
emailalias.com | |
emaildienst.de | |
emailgo.de | |
emailias.com | |
emaillime.com | |
emailsensei.com | |
emailtemporanea.com | |
emailtemporanea.net | |
emailthe.net | |
ep.com | |
ero-tube.org | |
europeanmail.org | |
example.com | |
example.de | |
example.net | |
example.org | |
express.net.ua | |
eyepaste.com | |
fakedemail.com | |
fakeinbox.com | |
fakeinformation.com | |
fakemail.fr | |
fakemailgenerator.com | |
fansworldwide.de | |
fastermail.com | |
film-blog.biz | |
filzmail.com | |
fishfuse.com | |
fivemail.de | |
flitafir.de | |
fly-ts.de | |
flyspam.com | |
forgetably.com | |
fr33mail.info | |
frapmail.com | |
fromru.com | |
front.ru | |
front14.org | |
fuckingduh.com | |
fudgerub.com | |
fyii.de | |
garbagemail.org | |
garliclife.com | |
garliclife.comtags.com | |
gaudiumetspes.happyforever.com | |
gehensiemirnichtaufdensack.de | |
geschenkt.biz | |
geschent.biz | |
getairmail.com | |
getmails.eu | |
getonemail.com | |
ghosttexter.de | |
giantmail.de | |
gimme.wa.rez.se | |
gishpuppy.com | |
gmail.com | |
go-panama.com | |
golfilla.info | |
gomail.in | |
goodmails.de | |
google.com | |
google.de | |
gorillaswithdirtyarmpits.com | |
great-host.in | |
grr.la | |
guerillamail.org | |
guerrillamail.biz | |
guerrillamail.com | |
guerrillamail.de | |
guerrillamail.info | |
guerrillamail.net | |
guerrillamail.org | |
guerrillamailblock.com | |
gustr.com | |
gvu.cc | |
haltospam.com | |
happymail.me | |
happynight.com | |
hardwarezone.com | |
hat-geld.de | |
hidemail.de | |
hidemyass.com | |
hmamail.com | |
hochsitze.com | |
hotbox.ru | |
houremail.com | |
hulapla.de | |
humaility.com | |
hush.ai | |
hush.com | |
hushmail.com | |
ieatspam.eu | |
ieatspam.info | |
ieh-mail.de | |
ignoremail.com | |
iheartspam.org | |
image-space.biz | |
imails.info | |
inbox.si | |
inboxed.im | |
inboxed.pw | |
incognitomail.com | |
incognitomail.net | |
incognitomail.org | |
infocom.zp.ua | |
instant-mail.de | |
intimail.co.cc | |
ip6.li | |
irish2me.com | |
irishspringrealty.com | |
is.af | |
ivym.de | |
jetable.com | |
jetable.fr.nf | |
jetable.net | |
jetable.org | |
jnxjn.com | |
jourrapide.com | |
junk.to | |
kaktusmail.de | |
kasmail.com | |
keepmymail.com | |
kinglibrary.net | |
klzlk.com | |
kostenlosemailadresse.de | |
koszmail.pl | |
krovatka.net | |
kulturbetrieb.info | |
kurzepost.de | |
lags.us | |
land.ru | |
lawlita.com | |
leeching.in | |
less.b0ne.com | |
less.ns0.it | |
letthemeatspam.com | |
lhsdv.com | |
lifebyfood.com | |
link2mail.net | |
linuxmail.so | |
live.com | |
llogin.ru | |
localhost | |
localhost.com | |
localhost.localdomain | |
localhost.net | |
localhost.org | |
lolfreak.net | |
lookugly.com | |
losemymail.com | |
lowiq.linux-board.com | |
lr78.com | |
luckymail.org | |
lxmidr.com | |
m21.cc | |
m4ilweb.info | |
mac.hush.com | |
mail.chiccosite.de | |
mail.com | |
mail.htl22.at | |
mail.misterpinball.de | |
mail.ru | |
mail.svenz.eu | |
mail.zp.ua | |
mail15.com | |
mail1a.de | |
mail21.cc | |
mail333.com | |
mail4trash.com | |
mailbiz.biz | |
mailcatch.com | |
mailde.de | |
mailde.info | |
maildrop.cc | |
maileater.com | |
maileimer.de | |
mailexpire.com | |
mailfish.de | |
mailforspam.com | |
mailin8r.com | |
mailinater.com | |
mailinator.com | |
mailinator.net | |
mailinator2.com | |
mailismagic.com | |
mailita.tk | |
mailme24.com | |
mailmetrash.com | |
mailmoat.com | |
mailms.com | |
mailnesia.com | |
mailnull.com | |
mailorg.org | |
mailscrap.com | |
mailseal.de | |
mailshell.com | |
mailtemp.net | |
mailtome.de | |
mailtothis.com | |
mailtrash.net | |
mailtv.net | |
mailtv.tv | |
makemetheking.com | |
malahov.de | |
marsmail.de | |
marsmail.eu | |
mbx.cc | |
meaning.less.b0ne.com | |
mega.zik.dj | |
meltmail.com | |
messagebeamer.de | |
ministry-of-silly-walks.de | |
mintemail.com | |
minutemail.com | |
minutemail.net | |
minuten-mail.de | |
minutenmail.eu | |
miquosoft.com | |
misterpinball.de | |
moburl.com | |
moncourrier.fr.nf | |
monemail.fr.nf | |
monmail.fr.nf | |
monumentmail.com | |
mp3city.at | |
mt2009.com | |
mt2014.com | |
muffsluts.com | |
mufmail.com | |
mx.de | |
mx.dynalias.org | |
mx0.gotdns.com | |
mx0.wwwnew.eu | |
my-trashmail.com | |
my10minutemail.com | |
myTrashMail.com | |
mycard.net.ua | |
mymail-in.net | |
mypartyclip.de | |
mysamp.de | |
mytempmail.com | |
mytrashmail.com | |
nabuma.com | |
nepwk.com | |
nervmich.net | |
nervtmich.net | |
netmails.net | |
netzidiot.de | |
nevermail.de | |
no-spam.ws | |
nobugmail.com | |
nobuma.com | |
noclickemail.com | |
nodns.org | |
nomail.pw | |
nomail.xl.cx | |
nomail2me.com | |
nospam.ze.tc | |
nospam4.us | |
nospamfor.us | |
nospammail.net | |
nospamthanks.info | |
notmailinator.com | |
nowmymail.com | |
nurfuerspam.de | |
nwldx.com | |
objectmail.com | |
obobbo.com | |
odnorazovoe.ru | |
offshore-host.org | |
offshore-server.org | |
ohaaa.de | |
oleco.net | |
omail.pro | |
oneoffemail.com | |
oneoffmail.com | |
onlatedotcom.info | |
open.brainonfire.net | |
openqmaild.org | |
otherinbox.com | |
owlpic.com | |
pad.de | |
pc136.com | |
piratenvz.net | |
piratenvz.org | |
pisem.net | |
pjjkp.com | |
plexolan.de | |
pochta.ru | |
pochtamt.ru | |
point.less.b0ne.com | |
politikerclub.de | |
polizei.bz | |
pookmail.com | |
pop3.ru | |
powered.name | |
privacy.net | |
privacybox.net | |
privatdemail.net | |
privy-mail.de | |
privymail.de | |
prong.com | |
proxymail.eu | |
prtnx.com | |
punkass.com | |
put2.net | |
putthisInyourspamdatabase.com | |
pyramidspel.com | |
qq.com | |
quickinbox.com | |
rambler.ru | |
rbcmail.ru | |
rcpt.at | |
realcambio.com | |
reallymymail.com | |
realtyalerts.ca | |
receiveee.com | |
recode.me | |
rhcf.com | |
rhyta.com | |
rmqkr.net | |
rppkn.com | |
rtrtr.com | |
s0ny.net | |
safe-mail.com | |
safersignup.de | |
safetymail.info | |
safetypost.de | |
sandelf.de | |
sapya.com | |
schafmail.de | |
schmeissweg.tk | |
schrott-email.de | |
secmail.pw | |
secretemail.de | |
sector2.org | |
secure-email.org | |
secure-mail.biz | |
secure-mail.cc | |
senseless-entertainment.com | |
seorj.cn | |
server.ms | |
sharklasers.com | |
shieldemail.com | |
shut.name | |
shut.ws | |
sina.com | |
sinnlos-mail.de | |
sky-ts.de | |
slaskpost.se | |
slopsbox.com | |
slopsbox.net | |
slopsbox.org | |
slopsbox.osocial.nu | |
slopsbox.se | |
smashmail.de | |
smellfear.com | |
smtp.ru | |
sneakemail.com | |
sneakmail.de | |
snkmail.com | |
sofimail.com | |
sofort-mail.de | |
sofort-mail.net | |
sofortmail.de | |
sogetthis.com | |
sohu.com | |
soodonims.com | |
spailbox.com | |
spailbox.net | |
spailbox.org | |
spam.dontassrape.us | |
spam.la | |
spam.su | |
spam.w00ttech.com | |
spam4.me | |
spamail.de | |
spamavert.com | |
spambob.com | |
spambob.com.ru | |
spambob.net | |
spambob.org | |
spambog.com | |
spambog.de | |
spambog.ru | |
spambox.us | |
spamcero.com | |
spamcorptastic.com | |
spamday.com | |
spamex.com | |
spamfree.eu | |
spamfree24.com | |
spamfree24.de | |
spamfree24.eu | |
spamfree24.info | |
spamfree24.net | |
spamfree24.org | |
spamgbog.de | |
spamgoes.in | |
spamgourmet.com | |
spamherelots.com | |
spamhereplease.com | |
spamhole.com | |
spamify.com | |
spaminator.de | |
spamkill.info | |
spaml.com | |
spaml.de | |
spammedic.com | |
spammotel.com | |
spamobox.com | |
spamsalot.com | |
spamslicer.com | |
spamspot.com | |
spamthisplease.com | |
spamtrail.com | |
speed.1s.fr | |
spoofmail.de | |
squizzy.de | |
sry.li | |
stinkefinger.net | |
stop-my-spam.com | |
stuffmail.de | |
super-auswahl.de | |
supergreatmail.com | |
superrito.com | |
superstachel.de | |
suremail.info | |
tagyourself.com | |
teewars.org | |
teleworm.com | |
teleworm.us | |
temp-mail.com | |
temp-mail.de | |
temp-mail.org | |
temp-mail.ru | |
tempail.com | |
tempemail.co.za | |
tempemail.net | |
tempinbox.com | |
tempmail.com | |
tempmail.de | |
tempmail.eu | |
tempmail.org | |
tempmaildemo.com | |
tempmailer.com | |
tempmailer.de | |
tempomail.fr | |
temporarily.de | |
temporaryemail.net | |
temporaryforwarding.com | |
temporaryinbox.com | |
temporarymailaddress.com | |
thanksnospam.info | |
thankyou2010.com | |
thc.st | |
theanonymousemail.com | |
thisisnotmyrealemail.com | |
thismail.net | |
throwaway.de | |
tilien.com | |
tittbit.in | |
tokem.co | |
topranklist.de | |
tormail.org | |
tradermail.info | |
trash-mail.at | |
trash-mail.com | |
trash-mail.de | |
trash-mail.net | |
trash.name | |
trash2009.com | |
trash4.me | |
trashdevil.com | |
trashdevil.de | |
trashemail.de | |
trashemails.de | |
trashinbox.com | |
trashmail.at | |
trashmail.com | |
trashmail.de | |
trashmail.me | |
trashmail.net | |
trashmail.org | |
trashmail.ws | |
trashmailer.com | |
trashmails.com | |
trashymail.com | |
trialmail.de | |
twinmail.de | |
twinmail.de.com | |
tyldd.com | |
uggsrock.com | |
unbekannt.us | |
us.af | |
veryrealemail.com | |
vidchart.com | |
vipmail.name | |
vipmail.pw | |
vpn.st | |
vr-zone.com | |
vsimcard.com | |
warez.im | |
wasteland.rfc822.org | |
watch-glenn-beck.info | |
watch-harry-potter.com | |
watchfull.net | |
watchnode.uni.cc | |
wbb3.de | |
webm4il.info | |
weg-werf-email.de | |
wegwerf-email-adressen.de | |
wegwerf-email.de | |
wegwerf-email.net | |
wegwerf-emails.de | |
wegwerfadresse.de | |
wegwerfemail.com | |
wegwerfemail.de | |
wegwerfemail.eintagsmail.de | |
wegwerfemailadresse.com | |
wegwerfmail.de | |
wegwerfmail.net | |
wegwerfmail.org | |
wh4f.org | |
whothepimp.com | |
whyspam.me | |
wildcard.less.ns0.it | |
willhackforfood.biz | |
wolfsmail.tk | |
wolfsmails.tk | |
wonne.de | |
worldmail.tv | |
wpmu.org.cn | |
writeme.us | |
wuzup.net | |
x.ip6.li | |
yahoo.cn | |
yandex.ru | |
yanet.me | |
yopmail.com | |
yopmail.fr | |
yopmail.net | |
youmailr.com | |
ystea.org | |
yxzx.net | |
z1p.biz | |
zaitg.cn | |
zehnminuten.de | |
zehnminutenmail.de | |
zippymail.info | |
zipzaps.de | |
zoaxe.com | |
zyseo.com |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment