切换导航条
此项目
正在载入...
登录
周海龙
/
mail-serve
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
邓超
6 months ago
提交
801dccf7e7b94536f2b214e38d645cacc7f9a98e
1 个父辈
a93630ed
解析body bug
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
16 行增加
和
1 行删除
lib/Imap/Parse/Body.php
lib/Imap/Parse/Body.php
查看文件 @
801dccf
...
...
@@ -103,7 +103,17 @@ class Body {
/***************** start 第一行处理 **************/
// 第一行 UID 1568602721 RFC822.TEXT {589}
$first
=
explode
(
' '
,
$body
[
0
]);
while
(
1
){
if
(
str_starts_with
(
array_shift
(
$first
),
'RFC822.'
))
break
;
}
$rfc822
=
true
;
while
(
1
){
$tempstr
=
array_shift
(
$first
);
if
(
str_starts_with
(
$tempstr
,
'RFC822'
))
{
// 是否是text 还是全部的包含header
if
(
str_contains
(
$tempstr
,
'.'
)){
$rfc822
=
false
;
}
break
;
}
}
$first
=
array_values
(
$first
);
$first
[
0
]
=
preg_replace
(
"/^\{\d+\}/"
,
''
,
$first
[
0
]);
// 第一行的结果就是 踢出 UID 1568602721 RFC822.TEXT {589}
...
...
@@ -119,6 +129,11 @@ class Body {
// 再次组装成字符串
$data
->
body
=
trim
(
implode
(
"
\r\n
"
,
$body
));
// 是否包含header
if
(
$rfc822
){
// 删除header头信息这个是多余的
$data
->
body
=
explode
(
"
\r\n\r\n
"
,
$data
->
body
,
2
)[
1
];
}
$this
->
items
[]
=
$this
->
bodyDeCode
(
$data
);
...
...
请
注册
或
登录
后发表评论