lecture de mail dans ma boite aux aux lettres avec php

Le problème exposé dans ce sujet a été résolu.

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 !

+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.

+0 -0

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 !

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.

+0 -0

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 :(

+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).

+0 -0

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 !!

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 ?

+1 -0

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 ;)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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