Avatar billede biskoppen Nybegynder
02. juli 2008 - 10:00 Der er 8 kommentarer

Hente x antal nyeste emails (IMAP)

Det er kun lykkedes mig at finde kode der kan hente alle emails fra en imap folde.. og det tager en evighed..

Hvordan nøjes jeg med at hente f.eks. de 10 seneste emails?
Avatar billede jakobdo Ekspert
02. juli 2008 - 10:56 #1
Fandt følgende: http://www.hudzilla.org/phpwiki/index.php?title=Managing_an_IMAP_mailbox

Så er hurtigt hack, da jeg ikke ved hvordan arrayet et bygget op, kunne være:
<?php
  $imap = imap_open("{mail.yourserver.com:143}INBOX", "username", "password");
  $messages = imap_sort($imap, SORTARRIVAL, 1);

$counter = 0;

  foreach($messages as $message) {
      $header = imap_header($imap, $message);
      $prettydate = date("jS F Y", $header->udate);
      print "{$header->fromaddress} - $prettydate\n";
if($counter == 10){
break;
}
$counter++;
  }

  imap_close($imap);
?>
Avatar billede biskoppen Nybegynder
02. juli 2008 - 11:24 #2
Scriptet returnerer blot en blank side
Avatar billede jakobdo Ekspert
02. juli 2008 - 11:44 #3
Måske jeg har lavet en fejl et sted.
Du skal selvfølgelig rette data til.
Avatar billede biskoppen Nybegynder
02. juli 2008 - 12:01 #4
Det har jeg naturligvis gjort :)
Avatar billede jakobdo Ekspert
02. juli 2008 - 12:05 #5
Prøv lige efter: $messages = imap_sort($imap, SORTARRIVAL, 1);
at tilføj:

var_dump($messages);

Gider det et output ?
Avatar billede biskoppen Nybegynder
02. juli 2008 - 12:24 #6
Dette :

array(0) { }
Avatar billede jakobdo Ekspert
02. juli 2008 - 12:26 #7
Så er der jo tydelig vis noget galt i de første linjer:

$imap = imap_open("{mail.yourserver.com:143}INBOX", "username", "password");
  $messages = imap_sort($imap, SORTARRIVAL, 1);
Avatar billede jakobdo Ekspert
02. juli 2008 - 12:27 #8
Ret dem evt. til, som du havde i din tidligere kode, hvor jeg formodede det virkede.
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