gpt4 book ai didi

php - 使用PHP从IOS设备发送的格式化电子邮件中获取嵌入式电子邮件附件

转载 作者:行者123 更新时间:2023-12-01 16:54:41 24 4
gpt4 key购买 nike

我正在使用PHP-imap来阅读电子邮件以及IMAP帐户中的附件。电子邮件是从iPhone或iPad发送的。当他们写一封电子邮件并将其粘贴到所拍摄的图像中时,它可以很好地工作。

这是我如何获取附件的片段:

require_once("plugins/MailLib/MailLib.php");

$mailbox = new MailLib();
$mailbox->connect($username, $password, $server, $port, $path, false);

$mails = array();
$mailIds = $mailbox->getMails("UNSEEN");

if($mailIds != null && count($mailIds) > 0) {
foreach($mailIds as $mailId) {
$mail = $mailbox->getMail($mailId);
if($mail['attachments']) {
foreach($mail['attachments'] as $attachment) {
$file = $mailbox->getAttachment($attachment, $mailId);
$destFile = "path/to/folder/".time().".jpg";
$fh = fopen($destFile, 'a') or die("can't open file");
fwrite($fh, $file);
fclose($fh);
}
}
}

当它们开始使用默认选项(如粗体,斜体或下划线)格式化内容时,所有这些都会崩溃。因为这样我得到以下电子邮件内容:
<div>
<em>Test</em> with <strong>formatting</strong>
<br>
<br>
<img id="7CB777EB-3124-4AEA-8894-6F743EA78F79" src="cid:7CB777EB-3124-4AEA-8894-6F743EA78F79" alt="image.jpeg">
<br>
<br>
<div>Send from my iPhone</div>
</div>

是否有任何一种php库也可以获取这些附件?

最佳答案

我找到了解决问题的办法。有人写了一个small class to extract inline attachments

使用此类,可以将附件内容直接写入文件,如下所示:

foreach($emailMessage->attachments as $attachment) {
file_put_contents(time().".extension", $attachment['data']);
}

关于php - 使用PHP从IOS设备发送的格式化电子邮件中获取嵌入式电子邮件附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12723054/

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