Я пытаюсь создать небольшое приложение для веб-почты. Когда я читаю все электронные письма во входящих, я хочу показать для каждой почты, если у нее есть вложения. Это работает, но проблема в том, что для этого требуется много времени, около 0,5 с для прикрепления электронной почты 1 Мб. Умножьте это на все письма в папке «Входящие» с большими файлами прикрепления: | Мой вопрос: Как проверить, есть ли письмо с электронной почтой? Это возможно ? Беллоу код, я использую в настоящее время:php imap проверить, есть ли вложение электронной почты
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 '<p>' . $part->dparameters[0]->value . '</p>';
// 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;
}
Это загружает все электронное письмо, которое я хотел избежать –