Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit c55f351

Browse files
committedFeb 25, 2012
Updated disposable email checker to v1.1.1
Here is the change log for v1.1.1: 2011.08.19 - 1.1.1 - 36 disposable forwarding email providers. - 132 disposable trash email providers (24 new). - 1 disposable shredder email provider. - 42 disposable time bound email provider. - 83 free email providers (1 new).
1 parent fd34163 commit c55f351

File tree

4 files changed

+73
-47
lines changed

4 files changed

+73
-47
lines changed
 

‎library/disposable/changelog.txt

+6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
DisposableEmailChecker ChangeLog
2+
2011.08.19 - 1.1.1
3+
- 36 disposable forwarding email providers.
4+
- 132 disposable trash email providers (24 new).
5+
- 1 disposable shredder email provider.
6+
- 42 disposable time bound email provider.
7+
- 83 free email providers (1 new).
28

39
2008.04.13 - 1.1.0
410

‎library/disposable/disposable.php

+53-35
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
11
<?php
2-
# This program is distributed under the terms and conditions of the LGPL
3-
# See the README and LICENSE files for details
4-
5-
/**
6-
* Disposable Email Checker - a static php based check for spam emails
7-
* @copyright Copyright (C) 2007-2008 Victor Boctor
8-
* @link http://www.mantisbt.org/
9-
* @link http://www.futureware.biz/disposable
10-
* @version 1.1.0-git - Release Date: 13-Apr-2008
11-
* @package DisposableEmail
12-
*/
2+
# Disposable Email Checker - a static php based check for spam emails
3+
# Copyright (C) 2007-2008 Victor Boctor
4+
5+
# This program is distributed under the terms and conditions of the LGPL
6+
# See the README and LICENSE files for details
137

148
/**
159
* A class that checks an email address and provides some facts about whether
1610
* it is a disposable, free web mail, etc. The data that is used to make
1711
* such decision is static as part of the class implementation, hence
1812
* avoiding a round trip to a remote service. This makes the class much
1913
* more efficient in scenarios where performance is an issue.
20-
* @package DisposableEmail
2114
*/
2215
class DisposableEmailChecker
2316
{
@@ -69,20 +62,27 @@ class DisposableEmailChecker
6962
'75hosting.net',
7063
'75hosting.org',
7164
'ajaxapp.net',
65+
'amilegit.com',
7266
'amiri.net',
7367
'amiriindustries.com',
7468
'anonymail.dk',
75-
'bugmenot.com',
69+
'anonymbox.com',
7670
'bspamfree.org',
71+
'bugmenot.com',
7772
'buyusedlibrarybooks.org',
73+
'deadaddress.com',
7874
'discardmail.com',
75+
'disposeamail.com',
76+
'dispostable.com',
7977
'dodgeit.com',
8078
'dontsendmespam.de',
8179
'emaildienst.de',
8280
'emailmiser.com',
81+
'emailthe.net',
8382
'etranquil.com',
8483
'etranquil.net',
8584
'etranquil.org',
85+
'fakeinbox.com',
8686
'fastacura.com',
8787
'fastchevy.com',
8888
'fastchrysler.com',
@@ -106,54 +106,70 @@ class DisposableEmailChecker
106106
'gowikitv.com',
107107
'haltospam.com',
108108
'ichimail.com',
109+
'incognitomail.org',
109110
'ipoo.org',
110111
'killmail.net',
111112
'klassmaster.com',
112113
'link2mail.net',
113114
'lortemail.dk',
115+
'mailcatch.com',
114116
'maileater.com',
115117
'mailin8r.com',
116118
'mailinator.com',
117119
'mailinator.net',
118120
'mailinator2.com',
121+
'mailmetrash.com',
122+
'mailnesia.com',
119123
'mailquack.com',
120124
'mailslapping.com',
125+
'meltmail.com',
126+
'mmmmail.com',
127+
'mt2009.com',
121128
'myspaceinc.com',
122129
'myspaceinc.net',
123130
'myspaceinc.org',
124131
'myspacepimpedup.com',
125132
'mytrashmail.com',
133+
'nepwk.com',
126134
'no-spam.hu',
127135
'nobulk.com',
128136
'noclickemail.com',
129137
'nospamfor.us',
138+
'nowmymail.com',
130139
'oneoffemail.com',
131140
'oneoffmail.com',
132141
'oopi.org',
133142
'ourklips.com',
134143
'pimpedupmyspace.com',
135144
'pookmail.com',
136-
'rejectmail.com',
137145
'recyclemail.dk',
146+
'rejectmail.com',
138147
'rklips.com',
148+
'sharklasers.com',
139149
'shortmail.net',
140150
'sofort-mail.de',
141151
'sogetthis.com',
142152
'spam.la',
143153
'spamavert.com',
144154
'spambob.com',
145155
'spambog.com',
156+
'spambox.us',
146157
'spamfree24.com',
147158
'spamfree24.net',
148159
'spamfree24.org',
149160
'spaml.com',
150161
'tempemail.net',
151162
'tempinbox.com',
163+
'tempomail.fr',
152164
'temporaryinbox.com',
165+
'thankyou2010.com',
166+
'thisisnotmyrealemail.com',
153167
'trash-mail.de',
168+
'trash2009.com',
154169
'trashdevil.com',
155170
'trashdevil.de',
156171
'trashmail.net',
172+
'trashymail.com',
157173
'turual.com',
158174
'twinmail.de',
159175
'upliftnow.com',
@@ -165,8 +181,9 @@ class DisposableEmailChecker
165181
'wetrainbayarea.com',
166182
'wetrainbayarea.org',
167183
'whopy.com',
168-
'willselfdestruct.com',
184+
'whyspam.me',
169185
'wilemail.com',
186+
'willselfdestruct.com',
170187
'xagloo.com',
171188
'yopmail.com'
172189
);
@@ -266,6 +283,7 @@ class DisposableEmailChecker
266283
'pancakemail.com',
267284
'ravemail.co.za',
268285
'rediffmail.com',
286+
'sapo.pt',
269287
'starmail.co.za',
270288
'talk21.com',
271289
'thecricket.co.za',
@@ -311,7 +329,7 @@ class DisposableEmailChecker
311329
* @param $p_email The email address to validate.
312330
* @returns true: disposable, false: non-disposable.
313331
*/
314-
public static function is_disposable_email( $p_email ) {
332+
function is_disposable_email( $p_email ) {
315333
return (
316334
DisposableEmailChecker::is_forwarding_email( $p_email ) ||
317335
DisposableEmailChecker::is_trash_email( $p_email ) ||
@@ -321,42 +339,42 @@ public static function is_disposable_email( $p_email ) {
321339

322340
/**
323341
* Determines if the email address is disposable email that forwards to
324-
* users' email address. This is one of the best kind of disposable
342+
* users' email address. This is one of the best kind of disposable
325343
* addresses since emails end up in the user's inbox unless the user
326344
* cancel the address.
327345
*
328346
* @param $p_email The email address to check.
329347
* @returns true: disposable forwarding, false: otherwise.
330348
*/
331-
public static function is_forwarding_email( $p_email ) {
349+
function is_forwarding_email( $p_email ) {
332350
$t_domain = DisposableEmailChecker::_get_domain_from_address( $p_email );
333351
return in_array( $t_domain, DisposableEmailChecker::$forwarding_domains_array );
334352
}
335353

336354
/**
337355
* Determines if the email address is trash email that doesn't forward to
338-
* user's email address. This kind of address can be checked using a
356+
* user's email address. This kind of address can be checked using a
339357
* web page and no password is required for such check. Hence, data sent
340358
* to such address is not protected. Typically users use these addresses
341359
* to signup for a service, and then they never check it again.
342360
*
343361
* @param $p_email The email address to check.
344362
* @returns true: disposable trash mail, false: otherwise.
345363
*/
346-
public static function is_trash_email( $p_email ) {
364+
function is_trash_email( $p_email ) {
347365
$t_domain = DisposableEmailChecker::_get_domain_from_address( $p_email );
348366
return in_array( $t_domain, DisposableEmailChecker::$trash_domains_array );
349367
}
350368

351369
/**
352370
* Determines if the email address is a shredder email address. Shredder
353-
* email address delete all received emails without forwarding them or
371+
* email address delete all received emails without forwarding them or
354372
* making them available for a user to check.
355373
*
356374
* @param $p_email The email address to check.
357375
* @returns true: shredded disposable email, false: otherwise.
358376
*/
359-
public static function is_shredder_email( $p_email ) {
377+
function is_shredder_email( $p_email ) {
360378
$t_domain = DisposableEmailChecker::_get_domain_from_address( $p_email );
361379
return in_array( $t_domain, DisposableEmailChecker::$shredder_domains_array );
362380
}
@@ -370,10 +388,10 @@ public static function is_shredder_email( $p_email ) {
370388
* @param $p_email The email address to check.
371389
* @returns true: time bound disposable email, false: otherwise.
372390
*/
373-
public static function is_time_bound_email( $p_email ) {
391+
function is_time_bound_email( $p_email ) {
374392
$t_domain = DisposableEmailChecker::_get_domain_from_address( $p_email );
375393
return in_array( $t_domain, DisposableEmailChecker::$time_bound_domains_array );
376-
}
394+
}
377395

378396
/**
379397
* See is_open_domain() for details.
@@ -397,26 +415,26 @@ function is_free_email( $p_email ) {
397415
* @param $p_email The email address to check.
398416
* @returns true: open domain email, false: otherwise.
399417
*/
400-
public static function is_open_email( $p_email ) {
418+
function is_open_email( $p_email ) {
401419
$t_domain = DisposableEmailChecker::_get_domain_from_address( $p_email );
402420
return in_array( $t_domain, DisposableEmailChecker::$open_domains_array );
403421
}
404422

405423
/**
406424
* A debugging function that takes in an email address and dumps out the
407425
* details for such email.
408-
*
409-
* @param $p_email The email address to echo results for. This must be a
426+
*
427+
* @param $p_email The email address to echo results for. This must be a
410428
* safe script (i.e. no javascript, etc).
411429
*/
412430
function echo_results( $p_email ) {
413431
echo 'email address = ', htmlspecialchars( $p_email ), '<br />';
414-
echo 'is_disposable_email = ', DisposableEmailChecker::is_disposable_email( $p_email ), '<br />';
415-
echo 'is_forwarding_email = ', DisposableEmailChecker::is_forwarding_email( $p_email ), '<br />';
416-
echo 'is_trash_email = ', DisposableEmailChecker::is_trash_email( $p_email ), '<br />';
417-
echo 'is_time_bound_email = ', DisposableEmailChecker::is_time_bound_email( $p_email ), '<br />';
418-
echo 'is_shredder_email = ', DisposableEmailChecker::is_shredder_email( $p_email ), '<br />';
419-
echo 'is_free_email = ', DisposableEmailChecker::is_free_email( $p_email ), '<br />';
432+
echo 'is_disposable_email = ', DisposableEmailChecker::is_disposable_email( $p_email ), '<br />';
433+
echo 'is_forwarding_email = ', DisposableEmailChecker::is_forwarding_email( $p_email ), '<br />';
434+
echo 'is_trash_email = ', DisposableEmailChecker::is_trash_email( $p_email ), '<br />';
435+
echo 'is_time_bound_email = ', DisposableEmailChecker::is_time_bound_email( $p_email ), '<br />';
436+
echo 'is_shredder_email = ', DisposableEmailChecker::is_shredder_email( $p_email ), '<br />';
437+
echo 'is_free_email = ', DisposableEmailChecker::is_free_email( $p_email ), '<br />';
420438
}
421439

422440
/**
@@ -442,12 +460,12 @@ function echo_stats() {
442460
* @param $p_email The email address to extra the domain from.
443461
* @returns The lower case domain or empty string if email not valid.
444462
*/
445-
private static function _get_domain_from_address( $p_email ) {
463+
function _get_domain_from_address( $p_email ) {
446464
$t_domain_pos = strpos( $p_email, '@' );
447465
if ( $t_domain_pos === false ) {
448466
return '';
449467
}
450468

451469
return strtolower( substr( $p_email, $t_domain_pos + 1 ) );
452470
}
453-
}
471+
}

‎library/disposable/license.txt

+3-1
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ such a program is covered only if its contents constitute a work based
146146
on the Library (independent of the use of the Library in a tool for
147147
writing it). Whether that is true depends on what the Library does
148148
and what the program that uses the Library does.
149-
149+
150150
1. You may copy and distribute verbatim copies of the Library's
151151
complete source code as you receive it, in any medium, provided that
152152
you conspicuously and appropriately publish on each copy an
@@ -500,3 +500,5 @@ necessary. Here is a sample; alter the names:
500500
Ty Coon, President of Vice
501501

502502
That's all there is to it!
503+
504+

‎library/disposable/readme.txt

+11-11
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ if users use disposable addresses, then they can potentially bypass the time
99
limit. Other applications may use it to make sure that they have valid emails
1010
that they can use for future correspondence.
1111

12-
In addition to providing a way to detect disposable addresses, this library
12+
In addition to providing a way to detect disposable addresses, this library
1313
also provides a way to classify these in several categories. Some applications
1414
may decide to accept some of these categories but not the other. This provides
1515
a great flexibility for each application to block the cases that doesn't work
@@ -21,21 +21,21 @@ Categories of disposable address
2121

2222
Shredder Addresses - These are not really common, some other types end up becoming
2323
a shredder emails, but these ones starts as such. Shredder email addresses
24-
delete all emails that are sent to it without storing them, forwarding them,
25-
or making them available to the user that created the address. They are
24+
delete all emails that are sent to it without storing them, forwarding them,
25+
or making them available to the user that created the address. They are
2626
typically used in scenarios where users are required to provide a valid email
2727
address but they are not expecting any valuable data or signup activation link
2828
to be sent to it.
2929

3030
Forwarding Addresses - These are pretty common. In this case users define a
3131
disposable email address that forwards to their real address. At any point in
3232
time they may decide to deactivate this email address. Some of these may still
33-
accept the emails as if they are valid, but it is not forwarded anymore, and
33+
accept the emails as if they are valid, but it is not forwarded anymore, and
3434
hence becoming a shredder address. Some of these allow users to provision a
3535
certain duration or number of emails after which the address expires.
3636

3737
Time Bound Addresses - These are a special kind of forwarding addresses that
38-
expire after a time duration that is configured by the user. After such
38+
expire after a time duration that is configured by the user. After such
3939
duration the address becomes a shredder address. This duration is typically
4040
enough for a user to do the transaction that they required the address for.
4141
For example, signup for a service, do a transaction with a shop, etc.
@@ -50,9 +50,9 @@ disposable. Blocking these is likely to block a lot of legitimate users.
5050
How Disposable Addresses are detected?
5151
--------------------------------------
5252

53-
This library has a list of rules that are used to determine whether an address
54-
is disposable or not. The library does not connect to the Internet to determine
55-
the kind or the validity of the address. The library may be enhanced in the
53+
This library has a list of rules that are used to determine whether an address
54+
is disposable or not. The library does not connect to the Internet to determine
55+
the kind or the validity of the address. The library may be enhanced in the
5656
future to provide applications with ways of explicitly requiring online checks.
5757

5858

@@ -76,13 +76,13 @@ Versioning Scheme
7676

7777
The versioning for this library is formatted as follows "1.2.3".
7878

79-
(1) This is the majro version which will change when there are major changes
79+
(1) This is the majro version which will change when there are major changes
8080
or re-implementation.
81-
81+
8282
(2) This is the minor version which will change when the APIs changes.
8383
Most of the time these won't be breaking changes, but sometimes they
8484
may be.
85-
85+
8686
(3) This is the data version which is the only one changed in releases that
8787
just update the rules that are used to determine that an email address
8888
is disposable.

0 commit comments

Comments
 (0)
Please sign in to comment.