BP_Reply_By_Email_IMAP::get_mail_headers PHP Method

get_mail_headers() protected method

Fetch all headers for an email and parses them into an array.
protected get_mail_headers ( resource $imap, integer $i ) : mixed
$imap resource The current IMAP connection
$i integer The current email message number
return mixed Array of email headers. False if no headers.
    protected function get_mail_headers($imap, $i)
    {
        // Grab full, raw email header
        $header = imap_fetchheader($imap, $i);
        // No header? Return false
        if (empty($header)) {
            bp_rbe_log('Message #' . $i . ': error - no IMAP header');
            return false;
        }
        // Do a regex match
        $pattern = apply_filters('bp_rbe_header_regex', '/([^: ]+): (.+?(?:\\r\\n\\s(?:.+?))*)\\r\\n/m');
        preg_match_all($pattern, $header, $matches);
        // Parse headers into an array with descriptive key
        $headers = array_combine($matches[1], $matches[2]);
        // No headers? Return false
        if (empty($headers)) {
            bp_rbe_log('Message #' . $i . ': error - no headers found');
            return false;
        }
        return $headers;
    }