14. februar 2010 - 23:32
Der er
1 løsning
imap_uid vs imap_msgno
Hejsa Hvem kan forklare hvordan jeg skal bruge IMAP_UID? Som jeg læser det, skal man bruge et msgId for at kunne finde UID og omvendt. Det er jo umuligt. Jeg har brug for at finde et unikt ID for en besked. Det ser ud som om jeg skal bruge imap_uid ( resource $imap_stream , int $msg_number ) Men hvordan finder jeg $msg_number?? Min kode er indtil nu helt simpel: $headers = imap_headers($mbox); if ($headers == false) { echo "Call failed<br />\n"; } else { foreach ($headers as $var => $val) { echo " - ". $val . "<br />\n"; } } Jeg har connected til postkassen, og kan se headerene på de beskeder som ligger i INBOX (hvilket er helt fint). Hvad skal jeg skrive hvor, for at få et handle til den enkelte besked?
Annonceindlæg fra HP
15. februar 2010 - 00:04
#1
Nevermind... fandt ud af det, endelig. Her er koden, hvis andre skulle være interesseret. $mbox = imap_open("{imap.host.com:143/imap}INBOX", "user", "pass") or die("can't connect: " . imap_last_error()); $msgCount = imap_num_msg($mbox); imap_headers($mbox); for ($i = 1; $i <= $msgCount; ++$i) { $header = imap_header($mbox, $i); $UID = imap_uid($mbox, $i); $objMsg = imap_headerinfo($mbox, $i); $subject = $objMsg->Subject; $fromname = $objMsg->from[0]->personal; $fromemail = $objMsg->from[0]->mailbox."@".$objMsg->from[0]->host; echo "UID ".$UID."<br>"; echo "From: ".$fromname.", ".$fromemail."<br>"; echo "Subject: ".$subject."<br>"; echo "<br>"; } Koden giver en liste over alle beskeder i INBOX.