ckeen Geschrieben 6. April 2003 Teilen Geschrieben 6. April 2003 folgender code ließt die emails von einen pop3-server. wie kann ich jetzt, einstellen, dass die mails anschließend vom server gelöscht werden sollen?? -> function dele($intMessage), aber wie rufe ich die jetzt auf?? Code: <?php class pop3 { var $strStatus; var $pop3; var $arrMessages; var $arrMessage; function pop3 () { $this->strStatus = array(); $this->pop3 = 0; $arrMessages = $arrMessage = ''; } function open($strServer, $intPort = 110) { $this->pop3 = fsockopen($strServer, $intPort); if (!is_resource($this->pop3)) return FALSE; $line = fgets($this->pop3, 1024); return $this->getresult($line); } function user($strUser) { fputs($this->pop3, "USER $strUser\r\n"); $line = fgets($this->pop3, 1024); return $this->getresult($line); } function pass($strPass) { fputs($this->pop3, "PASS $strPass\r\n"); $line = fgets($this->pop3, 1024); return $this->getresult($line); } function mess() { fputs($this->pop3, "LIST\r\n"); $line = fgets($this->pop3, 1024); if ($this->getresult($line)) { unset($this->arrMessages); while(substr($line = fgets($this->pop3, 1024),0,1) != '.') { $this->arrMessages[] = $line; } return TRUE; } else { return FALSE; } } function retr($strMessage) { list($intMessage) = explode(' ', $strMessage); fputs($this->pop3, "RETR $intMessage\r\n"); $line = fgets($this->pop3, 1024); if ($this->getresult($line)) { unset($this->arrMessage); while(substr($line = fgets($this->pop3, 1024), 0 ,1) != '.') { $this->arrMessage[] = $line; } return TRUE; } else { return FALSE; } } function dele($intMessage) { fputs($pop3, "DELE $intMessage\r\n"); $line = fgets($pop3, 1024); return TRUE; } function quit() { fputs($this->pop3, "QUIT\r\n"); $line = fgets($this->pop3, 1024); return $this->getresult($line); } function getresult($line) { $this->strStatus = substr($line, 0, 1024); if (substr($this->strStatus, 0, 1) != '+') { return FALSE; } else { return TRUE; } } function showresult() { echo '<code style="color:red">'; print_r($this->strStatus); echo '</code><br>'; } } /* end class pop3 */ $mybox = new pop3; $popserver = 'pop3.xxxx.de'; $username = "xxxx"; $password = "xxxx"; echo 'Verbindung: '; $error = FALSE; while (TRUE) { if (!$mybox->open($popserver)) { echo "[FEHLER] Verbindung nicht möglich<br>\n"; $mybox->showresult(); $error = TRUE; break; } else { echo "erfolgreich<br>\n"; $mybox->showresult(); } echo 'Benutzername: '; if (!$mybox->user($username)) { echo "[FEHLER] Benutzername nicht erkannt!<br>\n"; $mybox->showresult(); $error = TRUE; break; } else { echo "erfolgreich angemeldet<br>\n"; $mybox->showresult(); } echo 'Kennwort: '; if (!$mybox->pass($password)) { echo "[FEHLER] Kennwort falsch!<br>\n"; $mybox->showresult(); $error = TRUE; break; } else { echo "akzeptiert<br>\n"; $mybox->showresult(); } echo 'Nachrichten: '; if (!$mybox->mess()) { echo "[FEHLER] Abruf fehlgeschlagen!<br>\n"; $error = TRUE; break; } else { echo 'erfolgreich <b>' . count($mybox->arrMessages) . "</b> gelesen<br>\n"; $mybox->showresult(); } break; } /* end while */ echo '<hr noshade size="2">'; if (!$error and is_array($mybox->arrMessages)) { foreach($mybox->arrMessages as $strMessage) { echo "<b>Nachricht [$strMessage]</b>:<br>\n"; if ($mybox->retr($strMessage)) { foreach($mybox->arrMessage as $strData) { echo "$strData<br>"; } } else { $mybox->showresult(); } echo '<hr noshade size="2">'; } /* end foreach */ } ?> [/php] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 6. April 2003 Teilen Geschrieben 6. April 2003 Hallo, wenn ich das jetzt richtig verstanden habe, dann mußt Du ein list($intMessage) = explode(' ', $strMessage); if ($mybox->dele($intMessage)) echo "Nachricht ".$intMessage." gelöscht."; else echo "Fehler beim löschen von Nachricht ".$intMessage; [/php] am Ende machen. Du mußt aber in der Funktion dele ein $this->pop3 machen. Nur $pop3 reicht nicht. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 6. April 2003 Teilen Geschrieben 6. April 2003 Ein $mybox->quit(); $mybox->showresult(); [/php] am Ende wäre auch nicht schlecht. Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ckeen Geschrieben 6. April 2003 Autor Teilen Geschrieben 6. April 2003 hm, jetzt erscheint folgende fehlermeldung: Warning: fputs(): supplied argument is not a valid File-Handle resource in /home/goepfert/htdocs/abrufen.php on line 65 Warning: fgets(): supplied argument is not a valid File-Handle resource in /home/goepfert/htdocs/abrufen.php on line 66 Nachricht 2 gelöscht.+OK Bye-bye. ...nachrichten werden aber immer noch nicht gelöscht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 7. April 2003 Teilen Geschrieben 7. April 2003 Hast Du in der Funktion dele aus $pop3 $this->pop3 gemacht? Zweimal? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ckeen Geschrieben 7. April 2003 Autor Teilen Geschrieben 7. April 2003 ups, hatte ich vergessen *peinlich* jetzt funzt's, vielen dank nochmal!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.