Avatar billede moddi100 Seniormester
09. marts 2009 - 19:05 Der er 1 løsning

Visning af email

Hej,

Jeg er ved at stykke et mailprogram sammen. Men når jeg skal vise selve emailen kommer jeg dog til kort.

Indtil videre har jeg følgende:

$structure = imap_fetchstructure($con, $MsgNr);
$parts = $structure->parts;
$indhold = NULL; // Her gemmes teksten
$Types = array('text','multipart','message','application','audio','image','video','other');

for($i = 0; $i < count($parts); $i++)
{
  $parts[$i]->type = $Types[$parts[$i]->type] . ($parts[$i]->subtype != NULL ? '/' . $parts[$i]->subtype : '');

  if($parts[$i]->disposion != "attachment"){
    if($parts[$i]->type == "text/html")
      $indhold .= imap_fetchbody($con, $MsgNr, $i + 1);
    else if($parts[$i]->type == "text/plain")
      $indhold .= nl2br(htmlentities(imap_fetchbody($con, $MsgNr, $i + 1)));
   
  }
}

if(count($parts) == 0)
{
  echo nl2br(htmlentities(imap_body($this->Con, $this->Number)));
}

Ovenstående virker nogenlunde. Det vil sige, at det virker med html og ren tekst, jeg kan dog ikke få den til at vise multipart/alternative, som bl.a. hotmail benytter sig af.

Jeg har kun testet et par emails, der ikke er opdelt i 'parts' eller hvad man nu skal kalde det, men jeg fandt da en enkelt, der ikke vistes med headers osv. (Hvis jeg altså husker rigtigt).

Nogen der kan hjælpe mig med at få den til at vise multipart/alternative samt eventuelle andre formater, der kunne tænkes at dukke op?
Avatar billede moddi100 Seniormester
13. april 2011 - 21:35 #1
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester