gpt4 book ai didi

php - 当有内容配置时,如何提取邮件正文?

转载 作者:搜寻专家 更新时间:2023-10-31 22:05:43 25 4
gpt4 key购买 nike

如何在有内容配置的情况下提取邮件正文?

标题1

Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [x.x.x.x]
Content-Type: application/pkcs7-mime; smime-type=signed-data;
name="smime.p7m"
Content-Disposition: attachment; filename="smime.p7m"
Content-Transfer-Encoding: base64
MIME-Version: 1.0

标题2:

   Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [x.x.x.x]
Content-Type: multipart/alternative;
boundary="_000_A61C9CD725DF1C4FA94C13EC538A38BEEaz18ex3004_"
MIME-Version: 1.0

当我签名并发送邮件时,邮件的标题格式为“header1”,当我未签名发送邮件时,邮件标题的格式为“header2”..

我目前正在使用 mimemailparser.class.php 文件中的 "getMessageBody()"方法 来提取邮件正文..

在签名邮件上,我无法检索邮件正文,使用 "getmessagebody()"方法 返回空正文,但在未签名邮件上,它能够检索邮件正文..

在检查已签名和未签名的邮件头时,有区别,如何在已签名的邮件(header1)上提取邮件正文?

最佳答案

查看类中的方法getMessageBody(),代码如下:

foreach($this->parts as $part) {
if ($this->getPartContentType($part) == $mime_types[$type]) {
$headers = $this->getPartHeaders($part);
$body = $this->decode($this->getPartBody($part), array_key_exists('content-transfer-encoding', $headers) ? $headers['content-transfer-encoding'] : '');
break;
}
}

Class 将 MIME 消息分成几部分,可能会出现这样的情况,当正文被分成几个部分时,代码只解码第一部分(在你的情况下它可能是空的)。尝试像这样修改此代码:

foreach ($this->parts as $part) {
if ($this->getPartContentType($part) == $mime_types[$type]) {
$headers = $this->getPartHeaders($part);
$body .= $this->decode($this->getPartBody($part), array_key_exists('content-transfer-encoding', $headers) ? $headers['content-transfer-encoding'] : '');
}
}

关于php - 当有内容配置时,如何提取邮件正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18996658/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com