function SMTP::getServerExt

5.x SMTP.php public SMTP::getServerExt($name)

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 3. 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.

Parameters

string $name Name of SMTP extension or 'HELO'|'EHLO':

Return value

mixed

File

inc/PHPMailer/src/SMTP.php, line 1088

Class

SMTP
PHPMailer RFC821 SMTP email transport class. Implements RFC 821 SMTP commands and provides some utility methods for sending mail to an SMTP server.

Code

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

    return;
  }

  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;
  }

  return $this->server_caps[$name];
}