From 1fbafb8524137ea0ad5d0da060aa6bd7e8e691f2 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Mon, 21 Jul 2008 00:37:34 -0400 Subject: [PATCH] scrub mail content a bit more darcs-hash:20080721043734-84dde-de49b283d468334abd4ee4375042b7f2d003823c.gz --- maildaemon.php | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/maildaemon.php b/maildaemon.php index d55ecde75f..49c66b99b9 100755 --- a/maildaemon.php +++ b/maildaemon.php @@ -186,10 +186,30 @@ class MailerDaemon { } function cleanup_msg($msg) { - # XXX: signatures - # XXX: quoting - preg_replace('/\s+/', ' ', $msg); - return $msg; + $lines = explode("\n"); + + $output = ''; + + foreach ($lines as $line) { + // skip quotes + if (preg_match('/^\s*>.*$/', $line)) { + continue; + } + // skip start of quote + if (preg_match('/^\s*On.*wrote:\s*$/', $line)) { + continue; + } + // skip everything after a sig + if (preg_match('/^\s*--+\s*$/', $line) || + preg_match('/^\s*__+\s*$/', $line)) + { + break; + } + $output .= $line; + } + + preg_replace('/\s+/', ' ', $output); + return $output; } }