瀏覽代碼

quick fix for incorrect reference headers

stekkel 23 年之前
父節點
當前提交
292f67a84e
共有 1 個文件被更改,包括 14 次插入5 次删除
  1. 14 5
      functions/smtp.php

+ 14 - 5
functions/smtp.php

@@ -749,13 +749,22 @@ function calculate_references($refs, $inreplyto, $old_reply_to) {
     $refer = "";
     for ($i=1;$i<count($refs[0]);$i++) {
         if (!empty($refs[0][$i])) {
-            if (preg_match("/^References:(.+)$/", $refs[0][$i], $regs)) {
+            if (preg_match("/^References:(.+)$/UA", $refs[0][$i], $regs)) {
                 $refer = trim($regs[1]);
             }
-            else {   
-                $refer .= ' ' . trim($refs[0][$i]);
-            }
-        }
+            else {
+               $refer .= ' ' . trim($regs[1]);
+	    }
+            
+        }
+    }
+    $refer_a = explode(' ', $refer);
+    $refer = '';
+    foreach ($refer_a as $ref) {
+       $ref = trim($ref);
+       if ($ref{0} == '<' && $ref{(strlen($ref)-1)} == '>') {
+          $refer .= $ref . ' ';
+       }
     }
     $refer = trim($refer);
     if (strlen($refer) > 2) {