Скорость соединения PHP IMAP

это мои первые эксперименты с imap в php.

Я делаю панель для своей компании, где я загружаю клиентов, с именем и электронной почтой, и asignit для пользователей,

поэтому, когда пользователь входит в панель и имеет там клиент, панель проверяет учетную запись электронной почты пользователя и ищет электронные письма с электронной почты клиента,

моя проблема в том, что в первый раз, когда я загружаю панель, она становится очень медленной, она занимает от 5 секунд до 15 секунд для загрузки (или иногда), но после первой загрузки она быстрая, но если я уйду, скажем, 10 минут и перезагрузите панель, она становится медленной снова в первый раз.

это мой код; для каждого пользователя на панели я вызываю эту функцию:

function mostrarCorreosRelacionados($remitente){ $hostname = '{localhost:143}INBOX'; $correo = explode("|||",$_SESSION['correo']); $username = $correo[0]; $password = $correo[1]; /* Intento de conexión */ $inbox = imap_open($hostname,$username,$password) or die('No se pudo conectar con: usuario: '.$username.' y clave: '.$password.' ' . imap_last_error()); /* Recuperamos los emails */ $emails = imap_search($inbox,'FROM "'.$remitente.'"'); /* Si obtenemos los emails, accedemos uno a uno... */ if($emails) { /* variable de salida */ $output = ''; /* Colocamos los nuevos emails arriba */ rsort($emails); /* por cada email... */ $ii=0; foreach($emails as $email_number) { /* Obtenemos la información específica para este email */ $overview = imap_fetch_overview($inbox,$email_number,0); //$body = imap_fetchbody($inbox,$email_number,4); $uid = imap_uid($inbox, $email_number); $header = imap_header($inbox,$email_number); $fromInfo = $header->from[0]; $replyInfo = $header->reply_to[0]; $details = array( "fromAddr" => (isset($fromInfo->mailbox) && isset($fromInfo->host)) ? $fromInfo->mailbox . "@" . $fromInfo->host : "", "fromName" => (isset($fromInfo->personal)) ? $fromInfo->personal : "", "replyAddr" => (isset($replyInfo->mailbox) && isset($replyInfo->host)) ? $replyInfo->mailbox . "@" . $replyInfo->host : "", "replyName" => (isset($replyTo->personal)) ? $replyto->personal : "", "subject" => (isset($header->subject)) ? $header->subject : "", "udate" => (isset($header->udate)) ? $header->udate : "" ); //$message = mail_mime_to_array($inbox,$email_number); /* Mostramos la información de la cabecera del email */ $output.= '<li>'; $output.= '<div class="encabezadoMail '.($overview[0]->seen ? 'read' : 'unread').'">'; $output.= '<span class="subject">Asunto: '.decodificarTexto($details["subject"]).'</span><br />'; $output.= '<a href="mailto:'.$fromInfo->mailbox.'@'.$fromInfo->host.'" class="from" title="'.$fromInfo->mailbox.'@'.$fromInfo->host.'">'.decodificarTexto($fromInfo->personal).'</a><br />'; $output.= '<span class="textoChico">'.$overview[0]->date.'</span>'; $output.= '</div>'; /* Mostramos el mensaje del email */ $output.= '<div class="cuerpoMail" id="msg_'.$i.'" style="display:none;">'.utf8_encode(getBody($uid,$inbox)).'</div>'; $output.= '</li>'; $ii++; } print '<ul class="emails"><li class="encabezadoMail"><strong>E-mails</strong></li>'.$output.'</ul>'; } /* Cerramos la connexión */ imap_close($inbox); } 

в imap_open я пробовал localhost, domain и ip, но все, похоже, работает одинаково.

есть идеи???

ОБНОВЛЕНИЕ В МОНКЕЙЗЕ

Я сделал то, что вы мне сказали, и вот что я получил:

КЛИЕНТ ФИСТ

conexión: 0.0309870243073 секунды Recuperamos: 26.7151398659 секунды

ВТОРОЙ КЛИЕНТ

conexión: 0.102792978287 секунд Recuperamos: 0.0511429309845 секунды

ТРЕТИЙ КЛИЕНТ

conexión: 0,00676202774048 секунды Рекуператоры: 0,0503911972046 секунды

это просто происходит в первый раз, и если я нажимаю F5, то долгое время, которое я получил на первом клиенте, не происходит, он быстро загружается, как остальные, если я жду 10 минут, он снова становится медленным в первом клиенте