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