SMTP::getServerExt()publicWP 1.0

Get metadata about the SMTP server from its HELO/EHLO response. The method works in three ways, dependent on argument value and current state:

  1. HELO/EHLO has not been sent - returns null and populates $this->error.
  2. HELO has been sent -
    $name == 'HELO': returns server name
    $name == 'EHLO': returns boolean false
    $name == any other string: returns null and populates $this->error
    1. EHLO has been sent -
      $name == 'HELO'|'EHLO': returns the server name
      $name == any other string: if extension $name exists, returns True
      or its options (e.g. AUTH mechanisms supported). Otherwise returns False.

Method of the class: SMTP{}

No Hooks.




$SMTP = new SMTP();
$SMTP->getServerExt( $name );
$name(string) (required)
Name of SMTP extension or 'HELO'|'EHLO'

SMTP::getServerExt() code WP 6.3

public function getServerExt($name)
    if (!$this->server_caps) {
        $this->setError('No HELO/EHLO was sent');

        return null;

    if (!array_key_exists($name, $this->server_caps)) {
        if ('HELO' === $name) {
            return $this->server_caps['EHLO'];
        if ('EHLO' === $name || array_key_exists('EHLO', $this->server_caps)) {
            return false;
        $this->setError('HELO handshake was used; No information about server extensions available');

        return null;

    return $this->server_caps[$name];