PHPackages                             dominicsayers/isemail - 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. [Mail &amp; Notifications](/categories/mail)
4. /
5. dominicsayers/isemail

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

dominicsayers/isemail
=====================

Checks an email address against the following RFCs: 3696, 1123, 4291, 5321, 5322

v3.0.7(9y ago)308134.4k↑10.2%42[7 issues](https://github.com/dominicsayers/isemail/issues)[1 PRs](https://github.com/dominicsayers/isemail/pulls)3BSDPHP

Since Dec 7Pushed 5y ago19 watchersCompare

[ Source](https://github.com/dominicsayers/isemail)[ Packagist](https://packagist.org/packages/dominicsayers/isemail)[ Docs](https://isemail.info)[ RSS](/packages/dominicsayers-isemail/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)DependenciesVersions (2)Used By (3)

is\_email()
===========

[](#is_email)

Copyright 2008-2016 Dominic Sayers

BSD License ()

How to use is\_email()
----------------------

[](#how-to-use-is_email)

1. Add the downloaded file is\_email.php to your project
2. In your scripts use it like this:

```
	require_once 'is_email.php';
	if (is_email($email)) echo "$email is a valid email address";
```

1. If you want to return detailed diagnostic error codes then you can ask is\_email to do so. Something like this should work:

```
	require_once 'is_email.php';
	$email = 'dominic@sayers.cc';
	$result = is_email($email, true, true);

	if ($result === ISEMAIL_VALID) {
		echo "$email is a valid email address";
	} else if ($result < ISEMAIL_THRESHOLD) {
		echo "Warning! $email has unusual features (result code $result)";
	} else {
		echo "$email is not a valid email address (result code $result)";
	}
```

1. Example scripts are in the extras folder

Version history
---------------

[](#version-history)

DateComponentVersionNotes2016-12-07(all)3.0.7Semantic version numbering2016-12-05(all)3.06Changed all http links to https. Updated my links. Updated copyright. Clarified license2013-11-29tests.xml3.05Changed Test #71 from ISEMAIL\_RFC5321 to ISEMAIL\_DEPREC2013-11-29meta.xml3.05Changed category of ISEMAIL\_RFC5321\_IPV6DEPRECATED to ISEMAIL\_DEPREC2011-07-14tests.xml3.04Changed my link to 2011-05-23tests.xml3.02tests.php: Argument no longer passed by reference (deprecated). Test#32: Changed domain to c--n.com because g--a.com no longer has an MX record.2010-11-15meta.xml3.03Clarified definition of Valid for numpties2010-10-18tests.xml3.0New schema designed to enhance fault identification.2010-10-18is\_email.php3.0Forensic categorization of email validity

###  Health Score

43

—

FairBetter than 91% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity52

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 64.7% of commits — single point of failure

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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3449d ago

### Community

Maintainers

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

---

Top Contributors

[![dominicsayers](https://avatars.githubusercontent.com/u/34939?v=4)](https://github.com/dominicsayers "dominicsayers (22 commits)")[![dhoerl](https://avatars.githubusercontent.com/u/812695?v=4)](https://github.com/dhoerl "dhoerl (11 commits)")[![wedi](https://avatars.githubusercontent.com/u/1466269?v=4)](https://github.com/wedi "wedi (1 commits)")

---

Tags

validationemail

### Embed Badge

![Health badge](/badges/dominicsayers-isemail/health.svg)

```
[![Health](https://phpackages.com/badges/dominicsayers-isemail/health.svg)](https://phpackages.com/packages/dominicsayers-isemail)
```

###  Alternatives

[egulias/email-validator

A library for validating emails against several RFCs

11.6k691.3M307](/packages/egulias-email-validator)[arubacao/tld-checker

Top Level Domain (TLD) validation library for PHP

721.6M2](/packages/arubacao-tld-checker)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)[kickbox/kickbox

Official kickbox API library client for PHP

591.0M4](/packages/kickbox-kickbox)[neverbounce/neverbounce-php

This package provides convenient methods to integrate the NeverBounce API into your project.

241.1M3](/packages/neverbounce-neverbounce-php)[stymiee/email-validator

A robust PHP 7.4+ email validation library that extends beyond basic validation with MX record checks, disposable email detection, and free email provider validation. Features include strict typing, custom validator support, internationalization (i18n), and an extensible architecture. Perfect for applications requiring thorough email verification with customizable validation rules.

32426.6k1](/packages/stymiee-email-validator)

PHPackages © 2026

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