Bonjour tlm,
J'ai créé (et aussi recopié d'une source du site) une fonction pour récupérer les messages d'un serveur mail (et en particulier cette fonction dont je vais vous parler qui s'occupe de parser les emails).
Le problème c'est que les emails qui viennent de Outlook (et rien que d'Outlook) ne sont pas bien parsés (la fonction renvoie un bloque avec les séparations de parties).
Voici la fonction :
function GetMsgIMAP($inbox, $NoMsg, $PartMail)
{
$strTextPart = "";
if( $PartMail->type != 1 )
{
$inplain = imap_fetchbody($inbox, $NoMsg, "1");
if($PartMail->encoding == 3)
return imap_base64($inplain);
else if($PartMail->encoding == 4)
return imap_qprint($inplain);
else
return $inplain;
}else
{
for($NoPart = 0; $NoPart < count($PartMail->parts); $NoPart++ )
{
if( !isset($PartMail->parts[$NoPart]->disposition ) )
{
$inplain = imap_fetchbody($inbox, $NoMsg, $NoPart+1);
if($PartMail->parts[$NoPart]->encoding == 3)
//Encodage en base64
$strTextPart .= imap_base64($inplain);
else if($PartMail->parts[$NoPart]->encoding == 4)
$strTextPart .= imap_qprint($inplain);
else
//Aucune formattage ==> renvoi du text brut
$strTextPart .= $inplain;
}
}
}
return $strTextPart;
}
Je ne sais pas si vous voyez une erreur qui explique ce disfonctionnement?
Merci d'avanceLa taupe voit toujours tout (sauf les bugs)