About Email Verification

E-Mail Verification and Domain Validation via API. Checks an email address against blacklist and availability of mailhost. Blacklisted domains and email addresses are simply stored in a text file. Easy to edit.

Category 1Proof of Concept
Proof of concept modules are designed as examples or starting points for others to build from. May not be ideal for users wanting to plug-n-play.
Category 2Users and Access
Modules dealing with access in ProcessWire via Users, Roles or Permissions.
Category 3Authentication
Modules dealing with logins, passwords, 2-factor authentication, etc.
Category 4Email/WireMail
Modules that work with email as well as modules that implement ProcessWire’s core WireMail type.
Release StateStable
Should be safe for use in production environments. *
Module Version2.0.4
Class NameEmailVerification
Compatibility2.4, 2.5, 2.6, 2.7, 3.0
Date AddedOctober 13, 2014
Last UpdatedSeptember 11, 2018
Recommended ByNew recommendations may take up to 1 day to appear.


This module's files should be placed in /site/modules/EmailVerification/
How to install or uninstall modules



Functional API for E-Mail and Domain Verification.

  • Email address verification against domain black- and whitelist (automated updates via online service trashmail-blacklist.org)
  • Determination of availability of a mailhost. (MX and A Resource Record)
  • Validation of Top Level Domains. (list of TLDs (punycode encoded) pulled from IANA stored in local textfile, automated monthly update)
  • Syntax validation of domainnames
  • Syntax validation of hostnames (punycode encoded)

Domains are listed in easy to edit text files blacklist.txt and whitelist.txt which are stored in the repository of this module.

API Usage

// get module  
$mailcheck = $modules->get('EmailVerification');

// return bool/ string - automatted update of blacklist file

// return bool - validate a top level domain, checks against IANA list

// return array of punycoded TLDs - cyclic updated, data pulled from IANA

// return string - domain part of an email address

// return bool - checks syntax converts to punycode

// return bool - checks punycode encoded syntax 
// return bool - checks syntax and accessibility

// add a single value to blacklist, remove from whitelist
// return false or string (domain)

// add a single value to whitelist, remove from blacklist
// return false or string (domain)




kixe (Christoph Thelen)