PHPackages                             wearedevelopers/email-verification-utility - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. wearedevelopers/email-verification-utility

ActiveUtility

wearedevelopers/email-verification-utility
==========================================

Email Verification Utility

016PHP

Since May 4Pushed 10y ago2 watchersCompare

[ Source](https://github.com/wearedevelopers/email-verification-utility)[ Packagist](https://packagist.org/packages/wearedevelopers/email-verification-utility)[ RSS](/packages/wearedevelopers-email-verification-utility/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Installation
============

[](#installation)

Add `"wearedevelopers/email-verification-utility": "dev-master"` to the require block of your `composer.json` file and run `$ composer install` or `$ composer update`

Usage
=====

[](#usage)

Add the following to your use block:

```
use \WeAreDevelopers\Utils\Email;

```

Where you want verify an email address run the following, where `$toEmail` is the email address being validated and `$fromEmail` is an email address that you know exists, ideally one related to the project:

```
Email::exists($toEmail, $fromEmail);

```

To block addresses that cannot be reliably verified, ie. yahoo.com email addresses, set the strict parameter to true:

```
Email:exists($toEmail, $fromEmail, true);

```

To change the expected status codes from the mail exchange servers, eg. from 250 to 220:

```
Email::exists($toEmail, $fromEmail, false, ['220']);

```

*Note: the status code is used in a regex (`/^$code/i`), thus if your status code is 22, it would match 22 &amp; 220. To address this you could either add a trailing space, or extra symbols, eg. `'22\b'`*

Finally there is the `$getDetails` parameter, which changes the response to a `stdClass` object, with `valid` and `details` properties, where valid is a boolean, and details is an array of the responses from the mail exchange server, or any points of failure along the way:

```
Email::exists($toEmail, $fromEmail, false, ['250'], true);

```

###  Health Score

20

—

LowBetter than 14% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community4

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/f6999730ac90937f0af77e7ada281a8a878142cba87bc751665fbea72f409595?d=identicon)[wearedevelopers](/maintainers/wearedevelopers)

### Embed Badge

![Health badge](/badges/wearedevelopers-email-verification-utility/health.svg)

```
[![Health](https://phpackages.com/badges/wearedevelopers-email-verification-utility/health.svg)](https://phpackages.com/packages/wearedevelopers-email-verification-utility)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
