8795 sujets

Développement web côté serveur, CMS

Bonjour

Je lis des boites aux lettres avec :

if ($mail_cnx = imap_open ("{".$serveur_entrant.$port.$protocole.$options."}".$boite, $identifiant, $mot_de_passe) ) 


Comme il y a parfois un nombre important de mails dans une BAL, la lecture peut prendre longtemps.

Est-il possible de lire, par exemple, les 15 premiers mails seulement ?

Par avance merci de votre aide.

Francois
Tu parles d'affichage des 15 derniers messages par exemple ou de lecture des 15 derniers par le script ?

Dans le premier cas, il suffit d'un while(), dans le second tu peux faire quelque chose comme :


$check = imap_check($mail_cnx);
$result = imap_fetch_overview($mail_cnx,"1:15",0);
foreach ($result as $overview) {
    echo "#{$overview->msgno} ({$overview->date}) - From: {$overview->from}
    {$overview->subject}\n";
}
Merci xtense de ta réponse.

Ma démarche ici est de lire et d'afficher les messages en entier, comme tu l'as compris, sans présenter auparavant les informations classiques de la page dossier de réception d'un Webmail ou d'un logiciel de messagerie.

Si mon besoin était de n'afficher que 15 messages, ce serait possible mais c'est lire ces 15 messages qu'il me faudrait.

Je veux éviter de charger, par exemple, 120 messages car le temps de transfert est trop long; je voudrais ne charger que les 15 premiers messages sur les 120 de cet exemple.

Je crains que ça ne soit pas possible.

Francois