Page 1 sur 2

imap_open et erreur 500

Posté : 17 nov. 2014, 16:11
par Basile
Bonjour,
je suis pas mal habitué au PHP et ses procédures classiques avec mySQL...
et j'essaye maintenant de m'initier au fonctionnement imap_open() en PHP, en m'inspirant des nombreux (!!) sites Internet qui le présentent. J'applique donc :).
Mon serveur de mail est Gmail, je tente de me connecter ainsi:
$mbox = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', 'monlogin', 'monmotdepasse');
Mais je n'obtiens jamais rien d'autre qu'une "500 Internal Server Error".
La fonction Imap est pourtant bien activée (un petit phpinfo...).
J'ai farfouillé Internet pour mieux comprendre l'histoire des ports, j'ai même réussi à ouvrir explicitement ce port 993 en TCP/UDC sur mon routeur (exploit!). Mais puisque je recevais sans souci mes mails sur mon logiciel de messagerie, je suppose que ni mon routeur ni mon Firewall ne bloquent ce port 993. Me trompé-je?
Donc je ne sais pas trop quoi faire.... D'avance merci à ceux qui pourront me dépanner.
à +
Basile

Re: imap_open et erreur 500

Posté : 17 nov. 2014, 18:14
par Nestecha
Commence par activer le IMAP dans ton Gmail :

Enable IMAP in your Gmail settings

Sign in to Gmail.
Click the gear in the top right.
Select Settings.
Click Forwarding and POP/IMAP.
Select Enable IMAP.
Click Save Changes.

Source : https://support.google.com/mail/trouble ... ts=1665018

Puis vérifie que les logins/mot de passe sont bons.

Et ça devrait fonctionner.

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 01:30
par Basile
Merci de la réponse !
Mais IMAP est déjà activé, enfin je suppose,
j'ai configuré ainsi mon logiciel de messagerie (et donc Gmail aussi) pour pouvoir traiter mes mails depuis ce logiciel ou l'interface Gmail à volonté, dans les 2 sens...
Et bien sûr j'ai vérifié login et mot de passe (ceci dit j'ai créé une condition, si le imap_open renvoie FALSE, pour m'indiquer cela... Donc j'imagine que si le login et mdp étaient faux, j'aurais mon message d'erreur perso et non pas cette agaçante erreur 500)
Any other idea? :)
Basile

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 01:42
par Basile
Je suis allé vérifier (sait-on jamais) et c'est bien activé (IMAP)...

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 02:53
par Nestecha
Pourrais-tu utiliser imap_errors pour avoir plus d'infos sur l'erreur que tu as ?

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 12:06
par Basile
Merci !
Voici ci-dessous le code que j'utilise.
J'ai inséré un imap_errors(), avec l'aide de la doc de php.net pour être sûr;
mais j'obtiens le même affichage de "500 Internal Server Error",
sans que ma ligne imap_errors() soit atteinte,
comme si le imap_open() à lui tout seul bloquait et empêchait tout éclairage sur le problème :).
A moins que je puisse utiliser imap_errors() autrement ???
Merci du soutien en tout cas ;)
<?php
$mbox = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', 'monlogin', 'monmotdepasse');   
  imap_errors();
 
   if (FALSE === $mbox) {
      $info = FALSE;
      $err = 'La connexion a échoué. Vérifiez vos paramètres!';
  } else {
      $info = imap_check($mbox);
      imap_close($mbox);
  }

  if (FALSE === $info) {
      echo $err;
  } else {
      echo 'La boite aux lettres contient '.$info->Nmsgs.' message(s) dont '.
                                            $info->Recent.' recent(s)';
  }
  
?>

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 14:10
par xTG
As-tu accès aux logs du serveur ? Car il serait bon de savoir véritablement ce qui se cache derrière cette erreur 500. ;)

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 14:57
par Basile
[Message devenu inutile...]

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 15:03
par Basile
Oh surprise, je viens de découvrir en amont de la racine de mon sous-domaine réservé :)
un dossier .logs, avec un fichier php_error.log.
J'ai cru que j'étais sauvé... et en fait en l'ouvrant, je découvre un bel historique de mes erreurs précédentes :) [quels beaux souvenirs!]
mais aucune depuis que j'essaye ce imap_open.
On dirait que tout s'oppose à ce que j'avance sur mon imap_open... :)

Re: imap_open et erreur 500

Posté : 18 nov. 2014, 15:06
par Basile
Et juste, si ça peut vous aider à m'aider,
voilà les lignes renvoyées par mon phpinfo:

imap

IMAP c-Client Version 2007e
SSL Support enabled
Kerberos Support enabled

Je ne sais pas trop à quoi ça correspond :).
Est-ce OK ? Je voudrais être certain que ce n'est pas de là que le problème vient.

Re: imap_open et erreur 500

Posté : 19 nov. 2014, 14:24
par xTG
Pourrais-tu essayer un script avec uniquement imap_errors() dedans ?
Si tu as une erreur 500 avec ça c'est qu'il y a bien un souci avec le module imap (et donc pas un souci de code).

Re: imap_open et erreur 500

Posté : 19 nov. 2014, 16:06
par Basile
Merci de continuer à m'aider :).
J'ai donc tenté le script avec seulement imap_errors() et j'obtiens une page normale blanche.
Pas d'erreur 500
donc c'est bien du côté de mon code et/ou du côté de la connexion à ma boîte Gmail que qqch bugge...

Re: imap_open et erreur 500

Posté : 20 nov. 2014, 11:44
par xTG
Donc pour continuer deux solutions :
- essayer avec une adresse qui fonctionne à tous les coups
- pouvoir accéder aux logs serveur pour avoir l'erreur

Re: imap_open et erreur 500

Posté : 20 nov. 2014, 12:31
par Basile
MErci pour la bonne idée !
Du coup j'ai essayé avec une boîte mail Free,
$mbox = imap_open("{pop.free.fr:110/pop3}INBOX", "monlogin", "monmotdepasse");
Et ça ne marche ... toujours pas :).
La bonne nouvelle, c'est que ce n'est plus une erreur 500, c'est un
Warning: imap_open() [function.imap-open]: Couldn't open stream {pop.free.fr:110/pop3}INBOX.
... ce qui, cependant, ne m'en dit pas beaucoup plus.
J'ai essayé avec et sans le INBOX, j'ai essayé de remplacer le 110 par un 143 en mettant pop3.free.fr, j'ai tenté de rajouter le /novalidate-cert....
Rien de tout cela n'est efficace :( :(.


Intéressant toutefois :
si j'utilise "monlogin" j'obtiens ce Warning couldn't open stream ; mais si j'utilise "[email protected]" je retrouve ma fameuse erreur 500.
Voici un symptôme... pour lequel je suis bien incapable d'établir un diagnostic :)

Re: imap_open et erreur 500

Posté : 20 nov. 2014, 19:50
par xTG
Commentaire intéressant sur le doc PHP : http://php.net/manual/en/function.imap-open.php#114099