$sanitizer->email() method

Sanitize and validate an email address

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


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

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



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


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

$sanitizer methods and properties

API reference based on ProcessWire core version 3.0.234

Latest news

  • ProcessWire Weekly #511
    In the 511th issue of ProcessWire Weekly we'll cover the latest core updates, introduce a new third party module called Auto AVIF, and more. Read on!
    Weekly.pw / 25 February 2024
  • Using date range fields in ProcessWire
    This week we'll take a detailed look at the newest addition to the ProFields set of modules: the Date Range Fieldtype and Inputfield.
    Blog / 24 November 2023
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer