我正在尝试构建一个小型webmail应用程序。当我阅读收件箱中的所有电子邮件时,如果它包含附件,我想为每封邮件展示。这是有效的,但问题是需要很长时间才能做到这一点,1Mb电子邮件附件大约需要0.5秒。与收件箱中具有大附加文件的所有电子邮件相乘:|
我的问题是:如何检查电子邮件是否附上了没有加载整个电子邮件?那可能吗 ?
贝娄是我现在使用的代码:
function existAttachment($part)
{
if (isset($part->parts))
{
foreach ($part->parts as $partOfPart)
{
$this->existAttachment($partOfPart);
}
}
else
{
if (isset($part->disposition))
{
if ($part->disposition == 'attachment')
{
echo '
' . $part->dparameters[0]->value . '
';// here you can create a link to the file whose name is $part->dparameters[0]->value to download it
return true;
}
}
}
return false;
}
function hasAttachments($msgno)
{
$struct = imap_fetchstructure($this->_connection,$msgno,FT_UID);
$existAttachments = $this->existAttachment($struct);
return $existAttachments;
}