作者 邓超

qq邮箱有tm毛病

@@ -73,7 +73,7 @@ class Body { @@ -73,7 +73,7 @@ class Body {
73 //有一些服务商会把header头一起返回,header里面包含了这个符号, 73 //有一些服务商会把header头一起返回,header里面包含了这个符号,
74 //如果不加\r\n 就会导致 切割异常 74 //如果不加\r\n 就会导致 切割异常
75 $items = explode("\r\n".$boundary, 75 $items = explode("\r\n".$boundary,
76 - str_replace(['--'.$boundary.'--', $boundary.'--','--'.$boundary],"\r\n".$boundary,"\r\n".$body) 76 + str_replace(['--'.$boundary.'--', $boundary.'--','--'.$boundary],$boundary,"\r\n".$body)
77 ); 77 );
78 // qq的有邮箱有毛病,标记是乱的 78 // qq的有邮箱有毛病,标记是乱的
79 if(count($items)==1 && preg_match("/^\*\s\d+\sFETCH\s\(/",$body)){ 79 if(count($items)==1 && preg_match("/^\*\s\d+\sFETCH\s\(/",$body)){
@@ -168,8 +168,7 @@ class Body { @@ -168,8 +168,7 @@ class Body {
168 * @time 2024/9/21 9:51 168 * @time 2024/9/21 9:51
169 */ 169 */
170 protected function parseItem(string $body) { 170 protected function parseItem(string $body) {
171 - $body = str_replace("\n\n","\r\n\r\n",trim($body));  
172 - list($mime_header,$text) = explode("\r\n\r\n",($body)."\r\n\r\n",2); 171 + list($mime_header,$text) = explode("\r\n\r\n",trim($body)."\r\n\r\n",2);
173 $text = trim($text); 172 $text = trim($text);
174 // 解析头部 173 // 解析头部
175 $data = $this->parseMimeHeader($mime_header); 174 $data = $this->parseMimeHeader($mime_header);
@@ -36,12 +36,12 @@ class Header{ @@ -36,12 +36,12 @@ class Header{
36 */ 36 */
37 public function __construct(string $raw_header) 37 public function __construct(string $raw_header)
38 { 38 {
39 - $raw_header = str_replace("\r\n\n","\r\n\r\n",trim($raw_header)); 39 + $raw_header = str_replace("\r\n","\n",$raw_header);
  40 + $raw_header = str_replace("\n","\r\n",$raw_header);
  41 +
40 $raw_header = explode("\r\n\r\n",trim($raw_header),2); 42 $raw_header = explode("\r\n\r\n",trim($raw_header),2);
41 43
42 $this->raw_header = $raw_header[0]; 44 $this->raw_header = $raw_header[0];
43 - $this->raw_header = str_replace("\r\n","\n",$this->raw_header);  
44 - $this->raw_header = str_replace("\n","\r\n",$this->raw_header);  
45 45
46 // qq的会把退信 内容以header形式返回 46 // qq的会把退信 内容以header形式返回
47 $this->raw_body = $raw_header[1]??''; 47 $this->raw_body = $raw_header[1]??'';