PHP - Recupération du nombre de mails non lu via imap
Résolu
CyrionFR
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Pitet Messages postés 2826 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaite récupérer le nombre de messages non lus dans une boite mail via imap, j'ai déjà trouvé la solution
:
Le script ci-dessus fonctionne, le seul problème est la lenteur d'execution.
J'ai remarqué que quand je recupere le nombre de message non lu d'une boite de reception avec peu de message à l'intérieur, la reponse est immédiate. En revanche j'ai deux tres anciennes boites de reception (avec quelques milliers de messages) ou la, je dois attendre 40secondes-1minute afin d'avoir le resultat de mon script....
Le plus rapide est de passer par la fonction imap_mailboxmsginfo() m'évitant de recuperer tous les mails et de faire une boucle inutile pour verifier chaque mail du dossier INBOX (ce que j'avais fait avant). Cependant même en passant par le fonction imap_mailboxmsginfo() le script est lent....
Si je pouvasi definir la programmation, je le ferai comme cela :
"Si tu peux pas passer par la porte, passe par la fenetre."
Alors quelqu'un connait t-il une feinte pour avoir le nombre de mails non lus d'un boite de reception de façon rapide ? Je pense que vous me repondrez "Tu n'as qu'a supprimer tes mails inutiles", et vous aurez raison...
Bisous !
Je souhaite récupérer le nombre de messages non lus dans une boite mail via imap, j'ai déjà trouvé la solution
:
$mbox = imap_open("{serveurmail:993/imap/[/contents/215-ssl-secure-sockets-layers ssl]/novalidate-cert}INBOX", "ADRESSE EMAIL", "MOT DE PASSE"); $check = imap_mailboxmsginfo($mbox); echo "Nombre de messages non lus : ".$check->Unread; imap_close($mbox);
Le script ci-dessus fonctionne, le seul problème est la lenteur d'execution.
J'ai remarqué que quand je recupere le nombre de message non lu d'une boite de reception avec peu de message à l'intérieur, la reponse est immédiate. En revanche j'ai deux tres anciennes boites de reception (avec quelques milliers de messages) ou la, je dois attendre 40secondes-1minute afin d'avoir le resultat de mon script....
Le plus rapide est de passer par la fonction imap_mailboxmsginfo() m'évitant de recuperer tous les mails et de faire une boucle inutile pour verifier chaque mail du dossier INBOX (ce que j'avais fait avant). Cependant même en passant par le fonction imap_mailboxmsginfo() le script est lent....
Si je pouvasi definir la programmation, je le ferai comme cela :
"Si tu peux pas passer par la porte, passe par la fenetre."
Alors quelqu'un connait t-il une feinte pour avoir le nombre de mails non lus d'un boite de reception de façon rapide ? Je pense que vous me repondrez "Tu n'as qu'a supprimer tes mails inutiles", et vous aurez raison...
Bisous !
A voir également:
- Https //imap-s.fr (via google chrome)
- Google maps satellite - Guide
- Dns google - Guide
- Mise a jour google chrome - Accueil - Applications & Logiciels
- Google maps - Guide
- Google chrome - Télécharger - Navigateurs
1 réponse
Salut,
Je ne connais pas bien les fonctions imap_* de PHP, néanmoins un petit tour sur la doc de la fonction : https://www.php.net/manual/fr/function.imap-mailboxmsginfo.php
imap_mailboxmsginfo() vérifie le statut courant de la boîte aux lettres sur le serveur. C'est similaire à l'utilisation de la fonction imap_status(), mais fournie également la taille totale des messages de la boîte aux lettres, ce qui demande un peu plus de temps à l'exécution.
Tu peux donc essayer la fonction imap_status() avec uniquement le drapeau SA_UNSEEN à la place de imap_mailboxmsginfo() pour voir si le délai d'exécution est plus court.
Bonne journée,
Je ne connais pas bien les fonctions imap_* de PHP, néanmoins un petit tour sur la doc de la fonction : https://www.php.net/manual/fr/function.imap-mailboxmsginfo.php
imap_mailboxmsginfo() vérifie le statut courant de la boîte aux lettres sur le serveur. C'est similaire à l'utilisation de la fonction imap_status(), mais fournie également la taille totale des messages de la boîte aux lettres, ce qui demande un peu plus de temps à l'exécution.
Tu peux donc essayer la fonction imap_status() avec uniquement le drapeau SA_UNSEEN à la place de imap_mailboxmsginfo() pour voir si le délai d'exécution est plus court.
Bonne journée,