$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.236

Latest news

  • ProcessWire Weekly #522
    In the 522nd issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new module called File Mover, and more. Read on!
    Weekly.pw / 11 May 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani