Probléme avec un .msg

herios69 Messages postés 3 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 12 juin 2009 - 10 juin 2009 à 17:14
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 - 12 juin 2009 à 18:05
j'ai fais un petit script php pour lire un .msg dans le but de récupérer la date d'envoie ou de de réception mais le soucis est que quand j'affiche ça me met un truc impossible.
le code:
<?php
     $tableau = file('acces nexity.msg'); //Place le contenu du fichier dans un tableau, on suppose que le fichier existe sous peine d'avoir une erreur
 $filename = 'acces nexity.msg';
 echo "$filename a été modifié le : " . date("F d Y H:i:s.", filectime($filename));
 
 echo "en-têtes dans INBOX
\n";
 $mbox='emails';
 $headers = imap_headers($mbox);
 if ($headers == false)
 {   echo "Appel échoué
\n";}
 else { 
 foreach ($headers as $val) {  
    echo $val . "
\n";   }
 }
     if(is_array($tableau)) //Si la variable $tableau est bien un tableau, on peut continuer
     {
          $contenu_fichier = '';


          foreach($tableau AS $ligne)
          {
               $contenu_fichier .= $ligne;
      // if ($contenu_fichier!='cherie')
     // $contenu_fichier = '';
          }


          echo $contenu_fichier; //Affiche le contenu du fichier, notez que l'on a pas besoin d'utiliser fclose() ici
     }
 
?>
le résultat:
acces nexity.msg a été modifié le : July 10 2009 16:12:51.ÐÏ�11;ࡱ�1A;á????????????????>?�3;?þÿ ?�6;???????????�1;???�1;????????�10;??�2;???�2;???þÿÿÿ????????ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿ�4;???�19;???�6;???�5;???�7;??????�8;?????? ???�F;??? ??????�E;???�10;???�11;???�12;???�13;???�14;???�1D;???�15;???�16;???�17;???�18;???�1A;???þÿÿÿ�1B;???�1C;???�1E;???#???�1F;??????!???"???%???$???'???&???(???*???)???+???,???-???.???/???9???;???1???2???3???4???5???6???7???8???þÿÿÿ:???þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿR?o?o?t??E?n?t?r?y????????????????????????

herios69

5 réponses

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
10 juin 2009 à 21:50
C'est probablement un problème d'encodage. Assure toi que tous tes données soient encodé de la même façon et que dans les headers tu spécifies le bon charset avec lequel le texte a été encodé.
0
herios69 Messages postés 3 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 12 juin 2009
11 juin 2009 à 11:18
je me rectifie en fait, comme je ne sais pas comment est encoder .msg par microsoft. et que en interrogeant directement la boite mail pas de soucis alors pour ouvrir le fichier .msg tout un probléme avec ces caractéres pas possibles.

<?php
 $tableau = file('acces nexity.msg'); //Place le contenu du fichier dans un tableau, on suppose que le fichier existe sous peine d'avoir une erreur
 $filename = 'acces nexity.msg';
 echo "$filename a été modifié le : " . date("F d Y H:i:s.", filectime($filename));
  if(is_array($tableau)) //Si la variable $tableau est bien un tableau, on peut continuer
  {
   $contenu_fichier = '';
   foreach($tableau AS $ligne)
   {
    $contenu_fichier .= $ligne;
      // if ($contenu_fichier!='')
     // $contenu_fichier = '';
   }
   echo $contenu_fichier; //Affiche le contenu du fichier, notez que l'on a pas besoin d'utiliser fclose() ici
  }
?>

herios69
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
11 juin 2009 à 19:35
Tu es sûr que le contenu du fichier est de type plain/text ? Si c'est un fichier binaire, il faudrait que tu cherches un peu sur le web à propos du format "msg".
0
herios69 Messages postés 3 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 12 juin 2009
12 juin 2009 à 14:13
ce n'est pas du plain/text, non y'a pas que ça un mail peut avoir des fichiers attacher avec des extensions donc je pense qu'il est composer de binaire et de quelque chose de compréhensible. Mais bon je suis parvenu à extraire une date mais rien ne me dit que c'est la date d'envoi, de réception car je n'ai pas trop de visibibilité, je pense pouvoir vérier en testant sur un mail directement dans la boite email.
Merci

herios69
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
12 juin 2009 à 18:05
Fait juste une petite recherche :

http://www.google.ca/search?q=format+msg

msg c'est un format d'archivage, c'est normale que tu ne puisses pas vraiment pouvoir lire le contenu directement. Il faudrait que tu trouves quelque part de la documentation sur le format ou encore une source comme exemple.
0
Rejoignez-nous