Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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]

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

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 :(

ups, hatte ich vergessen *peinlich*

jetzt funzt's, vielen dank nochmal!!! :)

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.