IMAP + HOTMAIL
Résolu
CyrionFR
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
CyrionFR Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
CyrionFR Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Apres de nombreuses recherches je ne trouve pas la solution à mon problème.
Je m'explique : avec le script ci-dessous j'arrive à me connecter à toutes mes boites mails (gmail etc.) et à lire le nombre de mails non lu, sauf hotmail ! La lect
Ce qu'affiche ma page apres execution :
C'est à dire.. rien. Pourquoi avec hotmail je n'y arrive pas ? Une piste serait que cela vient de la version d'apache mais j'y crois peu. Je pense que je procede mal au niveau de l'imap_open...
Merci pour toute réponse...
Apres de nombreuses recherches je ne trouve pas la solution à mon problème.
Je m'explique : avec le script ci-dessous j'arrive à me connecter à toutes mes boites mails (gmail etc.) et à lire le nombre de mails non lu, sauf hotmail ! La lect
<?php getUnreadHotmail(); function getUnreadHotmail() { $mbox = imap_open("{imap-mail.outlook.com:993/imap/ssl/novalidate-cert}INBOX", "ADRESSE_MAIL", "MOT_DE_PASSE", OP_HALFOPEN) or die("Connexion impossible : " . imap_last_error()); $status = imap_status($mbox, "{imap-mail.outlook.com:993/imap/ssl/novalidate-cert}INBOX", SA_ALL); if ($status) { echo "Non lu : " . $status->unseen . "<br />\n"; } else { echo "imap_status a échoué : " . imap_last_error() . "\n"; } imap_close($mbox); } ?>
Ce qu'affiche ma page apres execution :
Non lu :
C'est à dire.. rien. Pourquoi avec hotmail je n'y arrive pas ? Une piste serait que cela vient de la version d'apache mais j'y crois peu. Je pense que je procede mal au niveau de l'imap_open...
Merci pour toute réponse...
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
2 réponses
Bonjour,
Hotmail ( live, Outlook..) sont visiblement en Exchange.
d'après un commentaire sur le manuel php... avec exchange.. imap_status ne fonctionne pas correctement...
Il propose une solution à tester : https://www.php.net/manual/fr/function.imap-status.php#109381
Remplacer ton appel à la fonction imap_status par celle ci-dessous
Hotmail ( live, Outlook..) sont visiblement en Exchange.
d'après un commentaire sur le manuel php... avec exchange.. imap_status ne fonctionne pas correctement...
Il propose une solution à tester : https://www.php.net/manual/fr/function.imap-status.php#109381
Remplacer ton appel à la fonction imap_status par celle ci-dessous
<?php function my_imap_status($stream, $mailbox='', $info=SA_ALL) { // get current mailbox name (and info) $curr_obj=imap_check($stream); if(!$curr_obj) return false; // if request if for current mailbox then just return it if( (empty($mailbox)) || ($mailbox==$curr_obj->Mailbox) ) return $curr_obj; // get current mailbox $current_mailbox=$curr_obj->Mailbox; //switch to new mailbox if(!imap_reopen($stream, $mailbox)) return false; // get info $obj=imap_check($stream); // switch back to original mailbox imap_reopen($stream, $current_mailbox); //return info return $obj; }
Bonjour,
Malheureusement imap_check() ne retourne pas le nombre de messages non lus (tag : SA_UNSEEN) cependant tu m'as permis de trouver la solution et je t'en remercie.
Le seule solution est en effet imap_status() cependant au lieu d'utiliser ce code :
j'utilise ce code, la solution miracle :
Voila merci !!!
Malheureusement imap_check() ne retourne pas le nombre de messages non lus (tag : SA_UNSEEN) cependant tu m'as permis de trouver la solution et je t'en remercie.
Le seule solution est en effet imap_status() cependant au lieu d'utiliser ce code :
$status = imap_status($mbox, "{imap-mail.outlook.com:993/imap/ssl/novalidate-cert}INBOX", SA_ALL);
j'utilise ce code, la solution miracle :
$status = imap_status($mbox, "{imap-mail.outlook.com:993/imap/ssl/novalidate-cert}INBOX", SA_UNSEEN);
Voila merci !!!