EmailVerification by kixe

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.

EMAIL VERIFICATION

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
$mailcheck->blacklisted(email|domain)

// return bool - validate a top level domain, checks against IANA list
$mailcheck->validTLD(tld)

// return array of punycoded TLDs - cyclic updated, data pulled from IANA
$mailcheck->getTLDs(cycle=2592000)

// return string - domain part of an email address
$mailcheck->getDomain($str)

// return bool - checks syntax converts to punycode
$mailcheck->validDomainName(domain);

// return bool - checks punycode encoded syntax
$mailcheck->validHostName(host);

// return bool - checks syntax and accessibility
$mailcheck->validHost(email|domain)

// add a single value to blacklist, remove from whitelist
// return false or string (domain)
$mailcheck->blacklist(email|domain)

// add a single value to whitelist, remove from blacklist
// return false or string (domain)
$mailcheck->whitelist(email|domain)

License


GNU-GPLv3

Author


kixe (Christoph Thelen)

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • Preliminary 2021 roadmap in progress in this week’s update— More
    8 January 2021
  • Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021? More
    1 January 2021
  • In this week’s blog post we’ll take a brief look at a powerful new ProFields module for ProcessWire that’s just around the corner—the Combo field: More
    4 December 2020

Latest news

  • ProcessWire Weekly #349
    In the 349th issue of ProcessWire Weekly we're going to cover the latest core and forum updates, introduce some recent ProcessWire resources, and more. Read on!
    Weekly.pw / 16 January 2021
  • ProcessWire 3.0.170 core updates
    Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021?
    Blog / 1 January 2021
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH