Skip to content

Commit

Permalink
Merge pull request #3 from srdjanmarjanovic/impromevent/parsers-and-c…
Browse files Browse the repository at this point in the history
…leaners-improved

Recognize Outlook for Mac. Strip signature on Outlook for Mac
  • Loading branch information
ilijastuden committed Dec 16, 2015
2 parents 1ec1220 + ca4f8b2 commit 0cb4ea9
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 11 deletions.
16 changes: 11 additions & 5 deletions src/ActiveCollab/EmailReplyExtractor.php
Original file line number Diff line number Diff line change
Expand Up @@ -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')) {
Expand All @@ -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;
}

Expand All @@ -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'),
]);
}

Expand All @@ -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'],
]);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@
*/
final class OutlookExtractor extends Extractor
{
public function processLines()
{
parent::processLines();
self::stripSignature();
}

/**
* Overrides Extractor::stripSignature()
*/
Expand Down Expand Up @@ -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('/<div id="MAC_OUTLOOK_SIGNATURE".+<\/div>/','', $html);
return parent::toPlainText($html);
}

}

0 comments on commit 0cb4ea9

Please sign in to comment.