Hier ein kleines (aber feines) Script für euch, um die Anzahl vorliegender Nachrichten auf einem POP3-Server zu prüfen.
Nach dem Ausführen steht in der IPS-Statusvariablen (bitte im Script nach Euren Wünschen anpassen und bei IPS anlegen) die Anzahl der neuen Nachrichten auf dem Server.
Weiterhin müssen der POP3-Server, der Username und das Passwort eingetragen werden. Ist im Script mit //HIER markiert.
Das Script kann natürlich auch noch erweitert werden - Nachrichten herunterladen und anzeigen und Nachrichten löschen. Wer die weiteren Funktionen haben will kann sich ja nochmal melden.
Ich nutze das Script um zu sehen ob neue Nachrichten in meinem Postfach vorhanden sind. Viel Spaß mit meinem kleinen Weihnachtsgeschenk.
//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);
$ergebnis=substr($line,1,2);
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("hier den pop3-server.de eintragen","110"); //HIER
if (!$pop3)
echo "[ERROR] Failed to connect
";
if (!pop3_user($pop3, "hier den username eintragen")) //HIER
echo "[ERROR] Username failed!
";
if (!pop3_pass($pop3, "hier das password eintragen")) //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
SetValueInteger("Anzahl_Neue_Mails",(integer)$articles["count"]);
echo "es sind ".$articles["count"]." Nachrichten auf dem Server";
Viel Erfolg und viel Spaß
René