summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmaildaemon.php28
1 files changed, 24 insertions, 4 deletions
diff --git a/maildaemon.php b/maildaemon.php
index d55ecde75..49c66b99b 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;
}
}