$sanitizer->email() method

Sanitize and validate an email address

Returns valid email address, or blank string if it isn’t valid.

Usage

// basic usage
$string = $sanitizer->email(string $value);

// usage with all arguments
$string = $sanitizer->email(string $value, array $options = []);

Arguments

NameType(s)Description
valuestring

Email address to sanitize and validate.

options (optional)array

All options require 3.0.208+

  • allowIDN (bool|int): Allow internationalized domain names? (default=false) Specify int 2 to also allow UTF-8 in local-part of email [SMTPUTF8] (i.e. bøb).
  • getASCII (bool): Returns ASCII encoded version of email when host is IDN (default=false) Does not require the allowIDN option since returned email host will be only ASCII. Not meant to be combined with allowIDN=2 option since local-part of email does not ASCII encode.
  • getUTF8 (bool): Converts ASCII-encoded IDNs to UTF-8, when present (default=false)
  • checkDNS (bool): Check that host part of email has a valid DNS record? (default=false) Warning: this slows things down a lot and should not be used in time sensitive cases.
  • throw (bool): Throw WireException on fail with details on why it failed (default=false)

Return value

string

Sanitized, valid email address, or blank string on failure.


$sanitizer methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #559
    The 559th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 25 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK