function SMTP::getServerExt
Search API
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];
}