diff --git a/src/ActiveCollab/EmailReplyExtractor.php b/src/ActiveCollab/EmailReplyExtractor.php index 5d35508..5db07d1 100644 --- a/src/ActiveCollab/EmailReplyExtractor.php +++ b/src/ActiveCollab/EmailReplyExtractor.php @@ -95,8 +95,11 @@ public static function detectMailer(array $headers) } else if (strpos($headers['x-mailer'], 'Apple Mail') !== false) { return self::APPLE_MAIL; } + } else if (isset($headers['user-agent'])) { + if (strpos($headers['user-agent'], 'Microsoft-MacOutlook') !== false) { + return self::OUTLOOK; + } } else if (isset($headers['message-id'])) { - if (strpos($headers['message-id'], '@mail.gmail.com') !== false) { return self::GOOGLE_MAIL; } else if (strpos($headers['message-id'], '@smtp.hushmail.com')) { @@ -115,6 +118,7 @@ public static function detectMailer(array $headers) } else if (isset($headers['mime-version']) && strpos($headers['mime-version'], 'Apple Message framework') !== false) { return self::APPLE_MAIL; } + return self::GENERIC; } @@ -127,8 +131,9 @@ private static function getHeadersRelevantForMailerDetectionEml(Parser &$parser) return self::filterHeaders([ 'x-mailer' => $parser->getHeader('x-mailer'), 'message-id' => $parser->getHeader('message-id'), - 'Received' => $parser->getHeader('received'), - 'Mime-Version' => $parser->getHeader('mime-version'), + 'received' => $parser->getHeader('received'), + 'mime-version' => $parser->getHeader('mime-version'), + 'user-agent' => $parser->getHeader('user-agent'), ]); } @@ -141,8 +146,9 @@ private static function getHeadersRelevantForMailerDetection(array $headers) return self::filterHeaders([ 'x-mailer' => $headers['x-mailer'], 'message-id' => $headers['message_id'], - 'Received' => $headers['Received'], - 'Mime-Version' => $headers['Mime-Version'], + 'received' => $headers['Received'], + 'mime-version' => $headers['Mime-Version'], + 'user-agent' => $headers['User-Agent'], ]); } diff --git a/src/ActiveCollab/EmailReplyExtractor/Extractor/OutlookExtractor.php b/src/ActiveCollab/EmailReplyExtractor/Extractor/OutlookExtractor.php index ec81c0d..a4fa782 100644 --- a/src/ActiveCollab/EmailReplyExtractor/Extractor/OutlookExtractor.php +++ b/src/ActiveCollab/EmailReplyExtractor/Extractor/OutlookExtractor.php @@ -6,12 +6,6 @@ */ final class OutlookExtractor extends Extractor { - public function processLines() - { - parent::processLines(); - self::stripSignature(); - } - /** * Overrides Extractor::stripSignature() */ @@ -46,4 +40,15 @@ protected function getOriginalMessageSplitters() ]); } + /** + * Strip default Outlook for Mac signature + * @param string $html + * @return string + */ + static function toPlainText($html) + { + $html = preg_replace('/
/','', $html); + return parent::toPlainText($html); + } + } \ No newline at end of file