function SMTP::parseHelloFields
Search API
5.x SMTP.php | protected SMTP::parseHelloFields($type) |
Parse a reply to HELO/EHLO command to discover server extensions. In case of HELO, the only parameter that can be discovered is a server name.
Parameters
string $type `HELO` or `EHLO`:
File
- inc/
PHPMailer/ src/ SMTP.php, line 769
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
protected function parseHelloFields($type) {
$this->server_caps =[];
$lines = explode("\n", $this->helo_rply);
foreach ($lines as $n => $s) {
//First 4 chars contain response code followed by - or space
$s = trim(substr($s, 4));
if (empty($s)) {
continue;
}
$fields = explode(' ', $s);
if (!empty($fields)) {
if (!$n) {
$name = $type;
$fields = $fields[0];
}
else {
$name = array_shift($fields);
switch ($name) {
case 'SIZE':
$fields = ($fields ? $fields[0] : 0);
break;
case 'AUTH':
if (!is_array($fields)) {
$fields =[];
}
break;
default:
$fields = true;
}
}
$this->server_caps[$name] = $fields;
}
}
}