PHPMailer\PHPMailer

SMTP::parseHelloFields()protectedWP 1.0

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.

Method of the class: SMTP{}

No Hooks.

Return

null. Nothing (null).

Usage

// protected - for code of main (parent) or child class
$result = $this->parseHelloFields( $type );
$type(string) (required)
HELO or EHLO

SMTP::parseHelloFields() code WP 6.5.2

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