A PHP library to track, de-duplicate and un-alias Google Mail and Google Apps emails.
- Requiring/Loading
- Methods
- __construct()
- cleanEmail()
- domainName()
- isGmail()
- isGoogleApps()
- isGoogle()
- uniqueDomainName()
- userName()
- userAlias()
- hasUserAlias()
- userOrigin()
- userUndottedOrigin()
- unique()
- userIsDotted()
- isUnique()
- Tests
- License
If you're using Composer to manage dependencies, you can include the following
in your composer.json
file:
"require": {
"unaliaser/unaliaser": "dev-master"
}
Then, after running composer update
or php composer.phar update
, you can
load the class using Composer's autoloading:
require 'vendor/autoload.php';
Otherwise, you can simply require the file directly:
require_once 'path/to/Unaliaser/src/Unaliaser/Unaliaser.php';
Creates a new instance of Unaliaser
.
$unaliaser = new Unaliaser('foo@bar.com');
If the email is not valid, an InvalidArgumentExcpetion
will be thrown.
Returns a clean email.
$unaliaser = new Unaliaser(' FOO@BAR.COM ');
echo $unaliaser->cleanEmail();
// 'foo@bar.com'
Returns a the domain name for the email.
$unaliaser = new Unaliaser('foo@bar.com');
echo $unaliaser->domainName();
// 'bar.com'
Check if an email is managed by Google Mail.
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->isGmail();
// true
$unaliaser = new Unaliaser('johndoe@yahoo.com');
echo $unaliaser->isGmail();
// false
Check if an email is managed by Google Apps.
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->isGoogleApps();
// false
$unaliaser = new Unaliaser('johndoe@yahoo.com');
echo $unaliaser->isGoogleApps();
// false
$unaliaser = new Unaliaser('johndoe@semalead.com');
echo $unaliaser->isGoogleApps();
// true
Check if an email is managed by Google (Gmail or Google Apps).
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->isGoogle();
// true
$unaliaser = new Unaliaser('johndoe@yahoo.com');
echo $unaliaser->isGoogle();
// false
$unaliaser = new Unaliaser('johndoe@semalead.com');
echo $unaliaser->isGoogle();
// true
Get the unique domain name for a Gmail address.
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->uniqueDomainName();
// 'gmail.com'
$unaliaser = new Unaliaser('johndoe@googlemail.com');
echo $unaliaser->uniqueDomainName();
// 'googlemail.com'
$unaliaser = new Unaliaser('johndoe@yahoo.com');
echo $unaliaser->uniqueDomainName();
// 'yahoo.com'
Get the MX records for the domain name of an email address.
$unaliaser = new Unaliaser('johndoe@gmail.com');
print_r($unaliaser->mxRecords());
// display an array containing various MX records for the domain of this email address
Get the username for an email address.
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->userName();
// 'johndoe'
Get the user alias for a Google address, if any.
$unaliaser = new Unaliaser('johndoe+dummyalias@gmail.com');
echo $unaliaser->userAlias();
// 'dummyalias'
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->userAlias();
// null
Determines if a Google email address contains an user alias.
$unaliaser = new Unaliaser('johndoe+alias@yahoo.com');
echo $unaliaser->hasUserAlias();
// false
$unaliaser = new Unaliaser('johndoe+alias@gmail.com');
echo $unaliaser->hasUserAlias();
// true
Get the original username for a email.
$unaliaser = new Unaliaser('johndoe+alias@yahoo.com');
echo $unaliaser->userOrigin();
// 'johndoe+alias'
$unaliaser = new Unaliaser('johndoe+alias@gmail.com');
echo $unaliaser->userOrigin();
// 'johndoe'
Get the original un-dotted username for a Google address.
$unaliaser = new Unaliaser('john.doe@yahoo.com');
echo $unaliaser->userUndottedOrigin();
// 'john.doe'
$unaliaser = new Unaliaser('john.doe@gmail.com');
echo $unaliaser->userUndottedOrigin();
// 'johndoe'
Determines if a Google address is dotted.
$unaliaser = new Unaliaser('john.doe@yahoo.com');
echo $unaliaser->userIsDotted();
// false
$unaliaser = new Unaliaser('john.doe@gmail.com');
echo $unaliaser->userIsDotted();
// true
Get the unique email address.
$unaliaser = new Unaliaser('john.doe+alias@yahoo.com');
echo $unaliaser->unique();
// 'john.doe+alias@yahoo.com'
$unaliaser = new Unaliaser('john.doe+alias@googlemail.com');
echo $unaliaser->unique();
// 'johndoe@gmail.com'
Determines if the provided email is unique (dotted or aliased).
$unaliaser = new Unaliaser('john.doe+alias@yahoo.com');
echo $unaliaser->isUnique();
// true
$unaliaser = new Unaliaser('john.doe+alias@googlemail.com');
echo $unaliaser->isUnique();
// false
$unaliaser = new Unaliaser('johndoe@googlemail.com');
echo $unaliaser->isUnique();
// false
$unaliaser = new Unaliaser('johndoe@gmail.com');
echo $unaliaser->isUnique();
// true
From the project directory, tests can be ran using phpunit
Released under the MIT License - see LICENSE.txt
for details.