src | ||
tests | ||
.coveralls.yml | ||
.gitignore | ||
.travis.yml | ||
composer.json | ||
LICENSE | ||
phpunit.xml.dist | ||
README.md |
Transparent Email
Transparent Email clears aliases from email address. Email John.Doe+alias@gmail.com
will be transformed to johndoe@gmail.com
.
Why?
To detect multi-accounts on your website.
Supported mailboxes
- gmail.com and Google Apps with custom domain
- tlen.pl
- 33mail.com
- outlook.com
- yahoo.com
Usage
use bkrukowski\TransparentEmail\TransparentEmailFactory;
use bkrukowski\TransparentEmail\Emails\Email;
use bkrukowski\TransparentEmail\Emails\EmailInterface;
use bkrukowski\TransparentEmail\Emails\InvalidEmailException;
try {
$factory = new TransparentEmailFactory();
$cleaner = $factory->createDefault();
$inputEmail = new Email('John.Doe+alias@gmail.com');
/** @var EmailInterface $transformedEmail */
$transformedEmail = $cleaner->getPrimaryEmail($inputEmail);
echo $transformedEmail;
} catch (InvalidEmailException $exception) {
echo 'Invalid email!';
}
Versioning
The version numbers follow the Semantic Versioning 2.0.0 scheme.
Yahoo.com
Aliases work different on Yahoo than on Gmail. On Gmail part after plus is skipped.
For example message sent to janedoe+alias@gmail.com
will be redirected to janedoe@gmail.com
.
Yahoo uses the following pattern*:
baseName-keyword@yahoo.com
- baseName - value defined by the user, different than email login;
- keyword - one from a list of keywords defined by the user.
Therefore we do not know what is the real email, so in this case result will be baseName@yahoo.com
,
which actually does not exist.
Yandex.ru
In official documentation you can find some use-cases about aliases usage.
Mail.ru
Mail.ru service uses following aliases:
janedoe+alias@mail.ru
will be redirected tojanedoe@mail.ru
janeDoe@MAIL.RU
will be redirected tojanedoe@mail.ru
Icloud.com
Icloud.com service uses following aliases:
janedoe+alias@icloud.com
will be redirected tojanedoe@icloud.com
janeDoe@ICLOUD.COM
will be redirected tojanedoe@icloud.com