francoisch Posté 29 Décembre 2008 Posté 29 Décembre 2008 Bonjour Je commence tout juste à essayer de lire mes mails en Php en m'inspirant d'informations trouvées sur des forums ; pour commencer, jai : $handler = imap_open ("{pop3.free.fr.ext:110/pop3}INBOX", "identifiant", "mot_de_passe"); Comme vous lavez compris je fais ces tests sur un identifiant chez Free. Je reçois un message Php disant : Fatal error: Call to undefined function: imap_open() in ... Cette function imap_open est inconnue chez Free? Jai fait une erreur ? Par avance merci de votre aide. Francois
Kioob Posté 29 Décembre 2008 Posté 29 Décembre 2008 Hello, les fonctions imap_*() nécessitent l'extension imap, qui n'est visiblement pas fournie chez Free.
Dadou Posté 29 Décembre 2008 Posté 29 Décembre 2008 francoisch quand tu parles de Free c'est bien en tant qu'"hebergeur"??
Leonick Posté 29 Décembre 2008 Posté 29 Décembre 2008 Essaie déjà de lire tes mels en imap sur ton courrielleur (OE, TB ou outlook) et ensuite, si ça marche, reprends tous les paramètres, y compris le port pour mettre dans ton script. Mais là, le port 110 c'est du pop
francoisch Posté 30 Décembre 2008 Auteur Posté 30 Décembre 2008 (modifié) bonjour et merci de vos réponses. J'ai effectivement l'impression que les fonctions Imap ne sont pas fournies chez Free; j'ai fait un phpinfo() qui n'a rien donné sur imap. Free: dans ce premier test, à la fois l'hébergeur de la page Php et l'hébergeur de la boite mail que je cherche à relever. Le Pop: ma compréhension est qu'on peut faire du Pop avec les fonctions Imap. Pour moi qui débute sur ce sujet: - est ce rare / fréquent que les fonctions Imap ne soient pas fournies? - y a t il une autre solution que ces fonctions Imap pour relever des mails en Php? Merci de votre aide. Francois ************************** Je viens d'exécuter ma page de test depuis un hébergeur autre que Free en ciblant la même BAL chez Free. Je tombe sur une erreur à l'Open: Couldn't open stream {pop3.free.fr.ext:110/pop3}INBOX Une question simple(tte): où doivent être installées les fonctions Imap? chez l'héhergeur de la page Php? chez l'hébergeur de la BAL? les deux? Francois Modifié 30 Décembre 2008 par francoisch
LiFi Posté 30 Décembre 2008 Posté 30 Décembre 2008 Il suffit de chercher "pop class php" ou "pop3 class php" dans google pour trouver des classes toutes faites qui te permettent de dialoguer avec un serveur pop3 pour lire tes mails en php.
Kioob Posté 30 Décembre 2008 Posté 30 Décembre 2008 Une question simple(tte): où doivent être installées les fonctions Imap? chez l'héhergeur de la page Php? chez l'hébergeur de la BAL? les deux? Les fonctions imap de PHP doivent être "installées" là où est exécuté PHP : c'est PHP qui en a besoin pour pouvoir dialoguer avec un serveur IMAP (ou POP). Coté fréquence, aucune idée... comme toutes les extensions PHP, c'est au bon vouloir de l'hébergeur. Si PHP est installé en CGI, tu peux tenter de charger toi même l'extension via la fonction dl(), mais je n'y crois pas trop : if(!extension_loaded('imap')) dl('imap.so'); Pour ton erreur : Couldn't open stream {pop3.free.fr.ext:110/pop3}INBOX Il y a un .ext dans l'URL qui ne me semble pas normal du tout, c'est toi qui l'a mis non ? Pour ce qui est des autres solutions, comme d'hab on peut se palucher le protocole complet à coup de socket, ou opter pour une classe "toute prête" (si cela existe) comme l'indique LiFi, ou encore contacter/changer d'hébergeur...
francoisch Posté 30 Décembre 2008 Auteur Posté 30 Décembre 2008 bonjour et merci de vos réponses. Maintenant que tu le dis, ça paraît évident, les fonctions Imap doivent être installées là où le Php est exécuté, sur le serveur de messagerie dans ce cas. Ca veut aussi dire qu'il est impossible de cette manière de relever des BAL chez des serveurs qui n'ont pas implémenté ces fonctions (Free, ...). Je vais quand même essayer l'extension, pour voir. Le .ext était dans un exemple que j'ai trouvé, alors je l'y ai laissé; je dois plutôt l'enlever? J'ai trouvé des classes, comme proposé; maintenant, je me bats avec elles car je ne connais rien à la prog OO. Merci encore et à bientôt, je ne suis pas au bout. Francois
Dadou Posté 30 Décembre 2008 Posté 30 Décembre 2008 Tu mélanges tout : Sur les serveurs de messagerie de Free, la fonction imap est bien dispo, l'adresse imap est : imap.free.fr Par contre sur les serveurs d'hébergement Free, l'extension php imap n'est pas installé, tu ne peux donc pas directement interroger un compte imap
francoisch Posté 30 Décembre 2008 Auteur Posté 30 Décembre 2008 Je te remercie de cette précision; effectivement, je mélangeais. Si je te comprend bien, ça veut dire que d'un site depuis un autre hébergeur je peux relever le courrier d'une BAL installée chez Free. Francois
francoisch Posté 31 Décembre 2008 Auteur Posté 31 Décembre 2008 Merci de ta réponse LiFi qui m'est précieuse puisque je ne connais rien, de toute évidence, à ce sujet. Une autre question: - je souhaite lire des mails en Pop, par exemple sur un de ces serveurs Free depuis un site non Free équipé des extensions Imap - ma requête peut-elle être: $handler = imap_open ("{pop3.free.fr:110/pop3}INBOX", "identifiant", "mot_de_passe"); ou bien faut-il y changer qqechose? Par avance merci de votre aide. Francois
Dadou Posté 31 Décembre 2008 Posté 31 Décembre 2008 Quand je veux interroger un serveur imap j'evite d'appeller le pop
Leonick Posté 2 Janvier 2009 Posté 2 Janvier 2009 Quand je veux interroger un serveur imap j'evite d'appeller le pop+1Essaie déjà de lire tes mels en imap sur ton courrielleur (OE, TB ou outlook) et ensuite, si ça marche, reprends tous les paramètres, y compris le port pour mettre dans ton script.Mais là, le port 110 c'est du pop c'est simple, si tu veux vraiment lire en imap, tu reprends les propriétés dans ton courrielleur
Kioob Posté 2 Janvier 2009 Posté 2 Janvier 2009 J'ai peur d'avoir loupé un épisode : à quel moment a-t-il dit qu'il voulait interroger un serveur en IMAP ?
Leonick Posté 2 Janvier 2009 Posté 2 Janvier 2009 Là $handler = imap_open ("{pop3.free.fr:110/pop3}INBOX", "identifiant", "mot_de_passe");
Kioob Posté 2 Janvier 2009 Posté 2 Janvier 2009 Non justement : http://fr.php.net/manual/fr/intro.imap.php Ces fonctions vous permettent d'utiliser le protocole IMAP, mais aussi les protocoles NNTP, POP3 et les boîtes aux lettres locales. Il n'y a pas d'extension POP dans PHP.
Leonick Posté 2 Janvier 2009 Posté 2 Janvier 2009 (modifié) au temps pour moi Free blackliste peut être certains serveurs externes pour éviter les attaques. Et donc, si tu es sur un mutualisé, c'est peut-être la raison Modifié 2 Janvier 2009 par Leonick
francoisch Posté 2 Janvier 2009 Auteur Posté 2 Janvier 2009 bonjour Effectivement, comme rappel des épisodes précédents, je souhaite bien interroger des serveurs de messagerie en POP. Mais, comme l'a dit Kioob, il n'y a pas d'extension Php POP, si j'ai bien compris. A bientôt. Francois
francoisch Posté 4 Janvier 2009 Auteur Posté 4 Janvier 2009 (modifié) Bonjour Jai trouvé un code qui convient bien à ce que je veux faire, un affichage simplifié des messages présents dans une / plusieurs BAL. Je relève très bien des BAL chez Free; par contre, je narrive pas à relever des BAL chez Gmail. Jai ce message : imap_open() Couldn't open stream {pop.gmail.com:110/pop3}INBOX alors que je relève très bien ces mêmes BAL Gmail avec mon logiciel de messagerie favori et les mêmes paramètres pop.gmail.com. Dans mes BAL Gmail, jai activé la fonction Pop dans Paramètres . Merci par avance de votre aide. Francois Modifié 5 Janvier 2009 par francoisch
Kioob Posté 4 Janvier 2009 Posté 4 Janvier 2009 Hello, il me semble que Gmail impose certaines sécurités non ? Tu n'as pas TLS, SSL ou encore "authentification sécurisée" de cochée dans ton logiciel de messagerie ? Parce que si c'est le cas, c'est le genre d'options qu'il faut également préciser à imap_open().
Leonick Posté 4 Janvier 2009 Posté 4 Janvier 2009 sûrement un blacklistage d'ip de serveur par google. Tu es sur mutualisé ?
francoisch Posté 5 Janvier 2009 Auteur Posté 5 Janvier 2009 bonjour J'ai exactement le même problème avec Hotmail: Couldn't open stream {pop3hot.com:110/pop3}INBOX J'utilise bien comme identifiant Hotmail l'adresse mail complète: truc_AT_hotmail.fr. Une différence entre Hotmail et Gmail: la réponse (négative) de Hotmail arrive immédiatement, comme les réponses (positives) de Free, alors que la réponse (négative) de Gmail est très longue à venir; un indice? ************************************************ Je suis hébergé chez OVH en mutualisé; puis je demander qqechose à leur support? Mon Client Pop est très modeste, il commence par: if ($mail_cnx = imap_open ("{".$serveur_entrant.$port.$protocole."}".$boite, $identifiant, $mot_de_passe) ) Peut-être y manque t il un paramètre ou deux, comme le suggère Kioob? mais lesquels? Francois
Kioob Posté 5 Janvier 2009 Posté 5 Janvier 2009 pop3hot.com : t'es sûr de ton adresse là ? Je ne savais même pas qu'Hotmail acceptait le POP... Pour Gmail je viens de vérifier (une seule recherche dans Google), et les sites confirment qu'ils imposent SSL. Il faut vraiment que tu utilises les même paramètres que ton logiciel de messagerie, sinon tu n'y arriveras jamais. Pour ce qui est de l'utilisation de SSL, il y a des exemples dans la doc PHP : http://fr.php.net/imap_open
francoisch Posté 5 Janvier 2009 Auteur Posté 5 Janvier 2009 Formidable, merci de ton aide, pour Gmail ça marche avec: imap_open("{pop.gmail.com:995/pop3/ssl/novalidate-cert}INBOX", $username, $pasword); Pour Hotmail, j'ai trouvé ce serveur Pop dans ce Forum mais mes requêtes ne passent pas. J'a ajouté imap_errors et imap_last_error dans mon code mais sans recueillir d'informations. Reste donc à faire fonctionner Hotmail. Francois
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant