POP3-Server abfragen - vorhandene Nachrichten zählen

Nimm ein xbeliebigen Mailclient. Thunderbird oder soetwas. Der holt dir die mails vom Server ab.

Die eigendlicher Herausforderung besteht nun darin einen Client zu finden, dem du die Mails wieder „wegnehmen“ kannst. Sprich - den Ort zu finden wo die mails auf der Platte liegen. „Pegasus“ fällt mir da noch ein. Der legte sie damals in Klartext auf die Festplatte. Jede Mail eine Datei…

Aber musst du sehen… ist nur eine Idee…

Hallo,

wonach wird im Script eigentlich entschieden ob es sich um eine neue oder alte Nachricht handelt oder passiert das schon Server seitig beim pop3 abruf?, ich würde nämlich gerne eine Änderung haben das es die Anzahl der vorhandenen nachrichten anzeigt. Jetzt ist es ja so das das das Script beim 2ten Durchlauf 0 Nachrichten meldet.

Schöne Grüße
Thomas

Hallo,

ja es scheint doch alles so zu funktionieren wie es soll, ich hatte noch ein Problem mit der Variablen Übergabe an IPS, jetzt bleiben die Nachrichten erhalten :slight_smile:

Schöne Grüße
Thomas

Habt ihr das auch schon mal versucht mit Anhängen z.b. Ich bekomme von meinem internetjungs einen AB der mails verschickt.In der Mail ist dann ein WAV Anhang.

Thomas wie hast du das gelost…

Hallo,

wenn du nur die Anzahl der E-Mails haben willst sieht das Script so aus:

<?
//Connect POP3-Server
function pop3_open($server, $port)
{
   global $POP3_GLOBAL_STATUS;
   $pop3 = fsockopen($server, $port);
   if ($pop3 <= 0) return 0;
   $line = fgets($pop3, 1024);
   $ergebnis=substr($line,1,2);
   if($ergebnis<>"OK")
      return 0;

   return $pop3;
}

//User-Authentifizierung: USERNAME
function pop3_user($pop3, $user)
{
   global $POP3_GLOBAL_STATUS;
   fputs($pop3, "USER $user
");
   $line = fgets($pop3, 1024);
   $ergebnis=substr($line,1,2);
   if($ergebnis<>"OK")
      return 0;

   return 1;
}

//User-Authentifizierung: PASSWORT
function pop3_pass($pop3, $pass)
{
   global $POP3_GLOBAL_STATUS;
   fputs($pop3, "PASS $pass
");
   $line = fgets($pop3, 1024);
   $ergebnis=substr($line,1,2);
   if($ergebnis<>"OK")
      return 0;

   return 1;
}


//POP3-Mailliste laden
function pop3_list($pop3)
{
   global $POP3_GLOBAL_STATUS;
   fputs($pop3, "LIST
");
   $line = fgets($pop3, 1024);
   echo "line " . $line;
   $ergebnis=substr($line,1,2);
   echo "ergebniss " .$ergebnis;
   if($ergebnis<>"OK")
      return 0;

   $i = 0;
   while(substr($line=fgets($pop3, 1024),0,1)<>".")
   {
      $articles[$i] = $line;
      $i++;
   }
   $articles["count"] = $i;
   return $articles;
}


//POP3-Verbindung schließen
function pop3_quit($pop3)
{
   global $POP3_GLOBAL_STATUS;
   fputs($pop3, "QUIT
");
   $line = fgets($pop3, 1024);
   $ergebnis=substr($line,1,2);
   if($ergebnis<>"OK")
      return 0;

   return 1;
}

//Hauptscript
$pop3 = pop3_open("pop3.web.de","110"); //HIER
if (!$pop3)
   echo "[ERROR] Failed to connect
";

if (!pop3_user($pop3, "username"))    //HIER
   echo "[ERROR] Username failed!
";

if (!pop3_pass($pop3, "passwort"))   //HIER
   echo "[ERROR] PASS failed!
";

$articles = pop3_list($pop3);
if (!$articles)
   echo "[ERROR] LIST failed!
";

if (!pop3_quit($pop3))
   echo "[ERROR] Close POP3 failed!
";

//hier die Anzahl der "gezählten" Nachrichten in die IPS-Variable ablegen
$aemails = (integer)$articles["count"];
SetValueInteger(37437 /*[E-Mail\anzahl_neu_emails]*/,$aemails);
?>

Script ist für WEB.DE Username und Passwort müssen noch eingesetzt werden.
Ein Hinweiß Web.de lässt eine Abfrage per POP3 nur alle 15 min. zu.

Schöne Grüße
Thomas

Da dieser Thread in der Task Force insbesondere für Anfänger als Link hinterlegt ist… es hat sich viel getan bei IPS… so gibt es einfach zu handhabende Komponenten in IPS für den Mailempfang und das Versenden… :slight_smile: Einfach als Instanz IMAP Modul oder SMTP Modul hinzufügen, konfigurieren… yep thats it…