lecture de mail dans ma boite aux aux lettres avec php

L’auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

J’ai besoin de votre aide encore par contre cette fois c’est pour interroger ma boite aux lettres via php avec l’extension imap. J’essaie de lire les mails dans ma boite aux lettres mais il m’affiche deux erreurs .

1
Warning: imap_open(): Couldn't open stream {imap.***.*****.fr:110}INBOX in C:\wamp64\www\appticketing\phpmailerlib\src\mail_recu.php on line 127

et

1
 Notice: Unknown: [CLOSED] IMAP connection broken (server response) (errflg=2) in Unknown on line 0

Sachant que j’ai fais le script phpinfo(); pour vérifier si l’extension imap est activé et pourtant c’est marqué enabled.

Après voici le code pour la connexion:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<?php
     $nomserveur = '{imap.****.*****.fr:110}INBOX';
     $login = 'monadressemail';
     $password = 'monpassword';


     $mailbox = imap_open($nomserveur, $login, $password);

     if (FALSE === $mailbox){
    die('Erreur connexion');
     }
     else{
    $info = imap_check($mailbox);
    imap_close($mailbox);
     }

?>

Merci par avance !

Édité par techDev

+0 -0

Salut !

Une fois de plus, c’est une question de paramètre plus que de code. Si je comprends bien le message d’erreur, c’est le serveur qui a refusé la connexion. Les logs de PHP pourraient être plus bavards sur la cause de l’erreur.

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Auteur du sujet

Oui salut,

donc le paramétrage n’est pas seulement d’activer l’extension ou bien y’a t-il autre chose que je dois préciser ? Sinon qu’est ce que je peux faire à propos des logs de PHP pour que la connexion puisse marcher ?

Merci !

+0 -0

Non, quand j’ai écrit "paramétrage", je pensais aux paramètres donnés à la fonction imap_open().

Tu ne peux rien faire à propos des logs de PHP sinon aller les lire pour voir s’il ne contiennent pas des informations plus précises par rapport à l’erreur.

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Auteur du sujet

Bonjour,

Ah d’accord mais en fait j’ai vérifié le fichier log mais ils n’en contiennent pas je retrouve juste les erreurs donc il n’y a pas d’autres solutions à celà ?

Merci !

+0 -0
Auteur du sujet

oui j’ai modifié en essayant plusieurs choses d’autant plus que j’ai les deux pop et imap:

1.

1
$nomserveur = '{pop.***.*****.fr:110/pop3}';

2.

1
$nomserveur = '{pop.***.*****.fr:110/pop3/nossl}';

3.

1
$nomserveur = '{imap.***.*****.fr:110/imap}';

4.

1
$nomserveur = '{imap.***.*****.fr:110/imap/nossl}';

5.

1
$nomserveur = '{imap.***.*****.fr:143/imap}';

6.

1
$nomserveur = '{imap.***.*****.fr:143/imap/nossl}';

mais toujours rien :(

Édité par techDev

+0 -0
Auteur du sujet

Dites moi svp,

Je dois rien modifier à propos de mes variables d’environnement ? ou aussi quelques reglages dans mon compte outlook ?

Merci

Édité par techDev

+0 -0

Ton compte Outlook n’est qu’un client du serveur IMAP au même titre que ton application, donc changer quelque chose dans Outlook ne risque que de faire que lui non-plus n’arrive pas à se connecter  :lol:

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0

Attends, tu es en train de me dire que tu tentes de te connecter à ton serveur professionnel avec des identifiants d’un compte privé, qui n’a donc rien à voir avec ce serveur ?!?!

C’est comme si tu utilisais la clé de chez toi pour entrer dans l’entreprise où tu travailles (et que tu n’es pas indépendant).

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+0 -0
Auteur du sujet

hello,

si vous me revoyez là c’est parce que ça pas bougé vraiment :(

là j’ai essayé avec une autre fonction fsockopen() à la place de imap_open et la connexion au serveur passe mais le souci en est que je ne peux pas utilisé les autres fonctions de imap pour pouvoir lire maintenant les mails

qui se fait normalement avec imap_check() avec comme paramètre la valeur retournée par imap_open(), ce qui veut dire que peut etre fsockopen() me permet juste me connecter au serveur mais la valeur qu’ell retourne n’est pas valabl pour imap_open()

svp si vous avez une idée ?? j’en ai besoin carrément

merci par avance !!

+0 -0
Auteur du sujet

Bonjour,

le problème demandait une configuration le imap et le pop n’etaient pas actif au niveau de mon compte, notre fournisseur l’a fais.

merci beaucoup pour tout.

+0 -0

Pas mal, ça, et tu relevais tes mails comment, du coup ?

En gros, tu nous dis que ta boîte aux lettres n’avait pas de porte pour récupérer le courrier. Je dis bien "pas de porte", et non une dont tu n’avais pas la clé — il ne me semble pas qu’il y ait d’autres protocoles que POP et IMAP pour relever des boîtes mail, à part si Exchange en implique un, justement ?

Édité par Ymox

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+1 -0
Auteur du sujet

Bonjour,

suis désolée du retard je viens tout juste de lire votre message Ymox :)

En fait, j’ai contacté notre fournisseur pour demander exactement si ce sont les bons identifiants du imap et du pop que j’utilisais pour accéder à ma boite aux lettres, du coup ils m’ont envoyé le bon serveur mais ces derniers n’etaient pas actif au niveau de ma messagerie.

En ce qui concerne le code, voilà ci-dessous:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php

    $nomserveur = '{xx.xxxx.fr}INBOX';
    $login = 'monadresse';
    $password = 'monmdp';

    $mailbox = imap_open($nomserveur, $login, $password);
    if ($mailbox){
        echo "connexion reussie <br/>\n";

        $info = imap_check($mailbox);
        $headerText = imap_fetchHeader($mailbox, FT_UID);
        $header = imap_rfc822_parse_headers($headerText);

        $corps = imap_fetchbody($mailbox, 1, FT_UID);

    } else {
        echo "erreur :( <br/>\n";
    }

    if (FALSE !== $info) {

        $nbMessages = min(50, $info->Nmsgs);
        $mails = imap_fetch_overview($mailbox, '1:'.$nbMessages, 0);
        } else {
            $err = 'ouverture impossible';
        }

    if (FALSE === $mails) {
        echo $err;
    } else 
    {
        $informationboite = 'Contenu de la boite aux lettres '.$info->Nmsgs.' message(s) dont '.
        $info->Recent.' recent(s)';

        foreach ($mails as $mail) 
        {

            echo $mail->from.
                            ' <a href="imap_detail.php?uid='.$mail->uid.'">'.
                            $mail->subject.'</a> '.
                            $mail->date."<br />\n";
                            $from=$header->from;

            echo "Message de:".$from[0]->personal." [".$from[0]->mailbox."@".$from[0]->host."]<br>";
            echo $corps;   

        }
    }   
?>

`

Merci beaucoup pour tout ;)

Édité par techDev

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte