正在显示
1 个修改的文件
包含
3 行增加
和
3 行删除
@@ -416,7 +416,7 @@ class Imap { | @@ -416,7 +416,7 @@ class Imap { | ||
416 | $folder = []; | 416 | $folder = []; |
417 | foreach ($result[1] as $item){ | 417 | foreach ($result[1] as $item){ |
418 | // 解析源数据 | 418 | // 解析源数据 |
419 | - if(preg_match('/^\* LIST \(([\\a-z\s]{0,})\) "(.*)" "(.*)"/Ui',$item,$m)){ | 419 | + if(preg_match('/^\*\sLIST\s\(([\\a-z\s]{0,})\)\s\"(.*)\"\s\"?(.*)\"?$/Ui',$item,$m)){ |
420 | $check = explode(' ',$m[1]); | 420 | $check = explode(' ',$m[1]); |
421 | $check = array_map(function ($v){ | 421 | $check = array_map(function ($v){ |
422 | $v = trim($v); | 422 | $v = trim($v); |
@@ -426,9 +426,9 @@ class Imap { | @@ -426,9 +426,9 @@ class Imap { | ||
426 | $folder[] = [ | 426 | $folder[] = [ |
427 | 'parent' => $m[2], | 427 | 'parent' => $m[2], |
428 | // 源文件夹名称,在进行 select的时候必须用未解析的文件夹名称 | 428 | // 源文件夹名称,在进行 select的时候必须用未解析的文件夹名称 |
429 | - 'folder' => $m[3], | 429 | + 'folder' => trim(trim($m[3]),'"'), |
430 | // 解析过的文件夹名称 | 430 | // 解析过的文件夹名称 |
431 | - 'parseFolder' => mb_convert_encoding($m[3], 'UTF-8', 'UTF7-IMAP'), | 431 | + 'parseFolder' => mb_convert_encoding(trim(trim($m[3]),'"'), 'UTF-8', 'UTF7-IMAP'), |
432 | // 是否可选择 | 432 | // 是否可选择 |
433 | 'isSelect' => strpos($m[1],'NoSelect')===false, | 433 | 'isSelect' => strpos($m[1],'NoSelect')===false, |
434 | // 这里里面包含了公共的功能文件夹 比如 草稿,发送,有些邮箱没有 | 434 | // 这里里面包含了公共的功能文件夹 比如 草稿,发送,有些邮箱没有 |
-
请 注册 或 登录 后发表评论