| 
@@ -180,12 +180,7 @@ class Header{ | 
 | 
@@ -180,12 +180,7 @@ class Header{ | 
| 
180
 | 
      * @time 2024/9/11 15:22
 | 
180
 | 
      * @time 2024/9/11 15:22
 | 
| 
181
 | 
      */
 | 
181
 | 
      */
 | 
| 
182
 | 
     public function getSubject():string {
 | 
182
 | 
     public function getSubject():string {
 | 
| 
183
 | 
-        $subject = explode("\n",$this->attributes['subject']??'');
 | 
 | 
   | 
| 
184
 | 
-        foreach ($subject as $ak=>$str){
 | 
 | 
   | 
| 
185
 | 
-            $subject[$ak] = DeCode::decode($str);
 | 
 | 
   | 
| 
186
 | 
-        }
 | 
 | 
   | 
| 
187
 | 
-
 | 
 | 
   | 
| 
188
 | 
-        return implode("\n",$subject);
 | 
183
 | 
+        return static::mime_decode($this->attributes['subject']??'');
 | 
| 
189
 | 
     }
 | 
184
 | 
     }
 | 
| 
190
 | 
 
 | 
185
 | 
 
 | 
| 
191
 | 
 
 | 
186
 | 
 
 | 
 | 
@@ -264,4 +259,26 @@ class Header{ | 
 | 
@@ -264,4 +259,26 @@ class Header{ | 
| 
264
 | 
         return $this->raw_header;
 | 
259
 | 
         return $this->raw_header;
 | 
| 
265
 | 
     }
 | 
260
 | 
     }
 | 
| 
266
 | 
 
 | 
261
 | 
 
 | 
| 
 | 
   | 
262
 | 
+    /**
 | 
| 
 | 
   | 
263
 | 
+     * 解析加密字符
 | 
| 
 | 
   | 
264
 | 
+     * @param string $str
 | 
| 
 | 
   | 
265
 | 
+     * @return string
 | 
| 
 | 
   | 
266
 | 
+     * @author:dc
 | 
| 
 | 
   | 
267
 | 
+     * @time 2024/9/29 14:21
 | 
| 
 | 
   | 
268
 | 
+     */
 | 
| 
 | 
   | 
269
 | 
+    public static function mime_decode(string $str):string {
 | 
| 
 | 
   | 
270
 | 
+        $str = trim($str);
 | 
| 
 | 
   | 
271
 | 
+        if(preg_match("/^=\?([a-z0-9-]{3,})\?[bq]\?/i",$str,$code)){
 | 
| 
 | 
   | 
272
 | 
+            // 解码 这个函数好像已经转码了,
 | 
| 
 | 
   | 
273
 | 
+            $str = mb_decode_mimeheader($str);
 | 
| 
 | 
   | 
274
 | 
+
 | 
| 
 | 
   | 
275
 | 
+            return $str;
 | 
| 
 | 
   | 
276
 | 
+            // 转字符编码
 | 
| 
 | 
   | 
277
 | 
+//            return mb_convert_encoding($str,'utf-8',$code[1]);
 | 
| 
 | 
   | 
278
 | 
+        }
 | 
| 
 | 
   | 
279
 | 
+
 | 
| 
 | 
   | 
280
 | 
+        return $str;
 | 
| 
 | 
   | 
281
 | 
+    }
 | 
| 
 | 
   | 
282
 | 
+
 | 
| 
 | 
   | 
283
 | 
+
 | 
| 
267
 | 
 } | 
284
 | 
 } |