Affichage piece jointe sur une page php

Répondre
vqrdek
le 06/08/2009 à 10:56
vqrdek
Bonjour à tous, je n'arrive pas a afficher ma pièce jointe (présente sur une messagerie) sur une page web. J'aimerais bien un peu d'aide s'il vous plait§

<body>
<?php

//Definition du compte e-mail auquel on veut accéder.
$boite = "INBOX";
$server_entrant = "*";
$port = "*";
$protocole = "/pop3/notls";
$identifiant = "*";
$mot_de_passe = "*";

//Connexion au compte et affichage du nombre de mail.
if ($mail_cnx = imap_open("{".$server_entrant.$port.$protocole."}".$boite, $identifiant, $mot_de_passe) )
{
$nbr_mail = imap_num_msg($mail_cnx);
echo "Messages : ".$nbr_mail."<br /><br />";
}

else {
?>Et non !<?
}

require_once("Mail/mimeDecode.php");
$mimeParams = array();
$mimeParams['decode_header'] = true;
$mimeParams['crlf'] = "\r\n";
$mimeParams['include_bodies'] = true;
$mimeParams['decode_bodies'] = true;

//Affichage des mails.
if ($nbr_mail ==0)
{
echo "Pas de nouveau mail<br />\n";
}
else
{
for ($i = 1; $i <= $nbr_mail; $i++)
{
$fichier = "";
//chaine pour le moment vide qui permettra dans le cas d'un fichié de l'indiquer à l'utilisateur.
$header = imap_fetchheader($mail_cnx, $i);
//chaine contenant l'en-tête du message.
$body = imap_body($mail_cnx, $i);
//chaine contenant la pj du message
$bla = imap_fetchbody($mail_cnx, $i);
//contient le corps brut de l'email.
$mimeParams['input'] = $header.$body.$bla;
//regroupe en-tête et corps, tout est traité par la fonction decode() et placé dans la variable $message.
$message = Mail_mimeDecode::decode($mimeParams);

?><!-- Tableau necessaire au bon fonctionnement du lecteur -->
<form action="#" method="post" onclick="return afficherPrev(this)">
<table class="sample" align="center">
<tr align="center">
<th>Date d'envoie</th>
<th>Envoyé par</th>
<th>Objet</th>
<th>Pièce jointe</th>
</tr>
<tr>
<td><?=$message->headers['date'];?></td>
<td><?=$message->headers['from'];?></td>
<td><?=$message->headers['subject'];?></td>
<td><?=$message->bla['attachment-list'];?></td>
</tr>
</table><br/>
</form><?

}
}
?>




<?
imap_close($mail_cnx);
//echo $i;
/*else
{
?>Ca ne va pas!<?
}*/
?>


</body>
</html>


Le prôbleme se situe au niveau du fetchbody et du "<td><?=$message->bla['attachment-list'];?></td>"

Merci pour l'aide§
vqrdek
le 06/08/2009 à 10:58
vqrdek
edit: le "attachement-list" c'est l'id donné aux pieces jointe sur le code source de la mesagerie
LA GLOBULE
le 06/08/2009 à 12:56
LA GLOBULE
Je n'utilise pas PEAR personnellement, donc je ne connais pas vraiment la classe Mail_mimeDecode :/

Mais si tu fais un print_r de $message, en théorie, tu verras toutes les propriétés de l'objet (ta proriété 'bla' me laisse perplexe).
LupusMic
le 07/08/2009 à 21:52
LupusMic
La documentation n'en parle pas en tout cas. Par contre, pourquoi utiliser ce module Pear alors qu'ils le déconseillent dans la documentation ?

D'après ce que je comprends du source de la classe Mail_mimeDecode, il faut utiliser la méthode getMimeNumbers pour récupérer les parties du courriel.
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours