28. januar 2008 - 00:13Der er
5 kommentarer og 1 løsning
PHP: Læs fra IMAP
Jeg sidder og prøver at lave en PHP script som læser fra min IMAP server (hMailServer) og laver en liste over alle de meddelelser som ligger på kontoen (og udskriver samtidig størrelsen af filen):
<?php $server = ""; $username = ""; $password = ""; $imap = imap_open("{".$server.":143}", $username, $password) or die("Connection to server failed");
echo "<h1>Mailboxes</h1>"; $mailboxes = imap_listmailbox($imap, "{".$server.":143}", "*") or die("Unable to list mailboxes");
foreach ($mailboxes as $val) { echo "<strong>$val</strong><br>"; $headers = @imap_headers($imap) or die("Unable to get emails"); for($i = 1; $i <= sizeof($headers); $i++) { $imap2 = imap_open($val, $username, $password) or die("Connection to server failed"); $mailHeader = @imap_headerinfo($imap2, $i); echo $mailHeader->Subject.", size:".$mailHeader->Size."<br>"; imap_close($imap2); } }
imap_close($imap); ?>
Når jeg kører det, får jeg dette:
Mailboxes {mail.demahost.dk:143}INBOX Unable to get emails
Det er altså denne linie, som laver fejl: $headers = @imap_headers($imap) or die("Unable to get emails");
Hm... På det system jeg arbejder på pt. kører jeg godt nok på imap_header (alias: imap_headerinfo), men det er jo ikke en forklaring på hvorfor imap_headers ikke virker. Men det tyder på at der muligvis kan være en fejl i imap_open koden. Hvis ikke det allerede er sket, kan du dobbelttjekke at du skal bruge mail.demahost.dk som server, 143 som port samt imap som protokol.
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.