PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzahl neu eingegangener e-mails durch HS abfragen ?



PascalK
16.12.06, 01:24
Hallo EIB-ler !

Denkt Ihr dass mit HS-Bordmitteln (HS ist in meinem Fall über Router ständig online) ein zeitgesteuertes checken vorher definierter pop-email-accounts, idealerweise gekoppelt mit dem Ermitteln der Anzahl noch ungelesener Nachrichten möglich ist ?
Wär doch cool wenn z.Bsp. der Berker B.IQ (dank neuer firmware) bzw. jedes andere Display im Eingangsbereich beim Heimkommen gleich meldet "Sie haben X neue e-mails" ...

Norbe
16.12.06, 08:20
oder man nimmt gleich das Smart Terminal ...

PascalK
16.12.06, 08:48
Klaro, mit dem SmartTerminal geht das problemlos, nur möchte ich für diese "Spielerei" weder knapp 1000EUR hinblättern, noch zum Einbau meine Wand aufreissen.
Da HS und B.IQ's vorhanden sind bleibt daher nur noch die Frage ob es von der Programmierung her möglich ist.

Norbe
16.12.06, 08:59
dann schau mal den Infoman an
www.hsinfoman.de (http://www.hsinfoman.de)

Gaston
16.12.06, 10:10
Mit den Bordmitteln alleine geht es z.Zt. zumindest nicht sauber möglich. Der Grund liegt darin dass der HS bei seinen Bidirektionalen IP-Telegrammen zuerst alles sendet, dann empfängt. Um die Anzahl der Mails per POP3 zu erhalten müsste man aber eine detailliertere Kommunikation haben:

Warten auf: +OK.*
Senden: USER username
Warten auf: +OK.*
Senden: PASS passwort
Warten auf: +OK
Senden: STAT
Warten auf: [+]OK ([0-9]+) ([0-9]+)
Senden: QUIT

Abhängig vom POP3 Server kann man nun versuchen alle Kommandos in einer "Web-Seiten/IP-Geräten Abfrage" zu plazieren, und nur auf das letzte OK... warten.

Dann werden alle kommandos miteinander abgesetzt und es hängt vom Server ab ob er diese annimmt oder nicht.

Der Pop server von web.de z.B. tut dies, aber er braucht ziemlich lange um die login Daten zu akzeptieren. Hier schein ein interner Timeout des HS zuzuschlagen denn bei mir wertet er dann die folgenden Daten nicht mehr aus.

Gruss,
Gaston

PascalK
16.12.06, 10:19
Leider ist der HS-InfoMan auch nicht die Ideallösung.
Bei mir ist nur der HS ständig online, der PC wird nur bei Bedarf eingeschaltet, d.h. wenn ich zuhause bin.
Den PC den kompletten Tag eingeschaltet zu lassen mit dem einzigen Ziel beim Nachhausekommen nach Feierabend eine Info (= Anzahl neuer mails) auf dem Display anzuzeigen scheint mir dann doch etwas übertrieben.
:cool:

Michel
16.12.06, 10:38
Mit HS-Bordmitteln kannst du dir die Zahl der erhaltenen Mails anzeigen lassen, wenn du über einen Webmail-Zugang verfügst und dort die Zahl der Mails angezeigt wird.
Dann eine entsprechende Webseitenabfrage erstellen, das war´s.

Für die Zahl der neu empfangenen Mails fehlt dann noch ein Vergleich der Anzahl vor Verlassen des Hauses mit der aktuellen Anzahl im Posteingang.

PascalK
16.12.06, 14:28
Danke Michel, der Tip ist genau so genial wie einfach :respekt:
Hab's mal gerade auf die Schnelle probiert und ... es funktionniert !! :Prost:

Gaston
16.12.06, 17:48
Hab's mal gerade auf die Schnelle probiert und ... es funktionniert !!

Du Glücklicher :) , das geht leider nicht bei allen Webmails :(

PascalK
23.12.06, 21:18
Hi Leute !

Habe die POP3-Abfrage via Homeserver-"Websseiten-Abfrage" (siehe Gaston's Posting weiter oben) diese Woche mal auf Herz und Nieren durchgeprüft (mit allen möglichen Varianten), aber komme leider auch zu keinem brauchbaren Ergebnis. Verbindungsaufbau, USER und PASS inkl. entsprechende Server-Rückantworten funktionnieren einwandfrei, aber zu einem anschliessenden STAT oder LIST (in der gleichen Befehls-Sequenz) kommt einfach keine Antwort mehr mit rüber. Ob es nun tatsächlich an einem Homeserver-internen Timeout-Problem liegt kann ich nicht bestätigen, da ich mit 2 verschiedenen eMail-Providern rumgetestet habe, bei dem einen ist die Anmeldung nach etwa 5-6 Sek durch, beim anderen erst nach 10-12 Sek. Trotzdem gleiches Resultat bei beiden : nach "+OK logged in" keine Daten mehr vorhanden in der Server-Rückmeldung, trotz gesendetem STAT bzw. LIST-Befehl.

Michel's Webmail-Lösung (siehe weiter oben) funtionnierte soweit ganz gut, aber war zumindest in meinem Fall relativ kompliziert von der Umsetzung her, da meine Webmail-Page mit Frames arbeitet. Ein Direktaufruf des Frames mit dem benötigten "Anzahl neuer emails"-Wert klappte von der Passwort-Authentifizierung her nicht, also musste ich erst via HS-"Webseiten-Abfrage" die Webmail-Hauptseite aufrufen und anschl. mit einer zweiten HS-"Webseiten-Abfrage" das besagte Frame mit der Anzahl neuer emails aufrufen. Diese Lösung klappte wahrscheinlich weil ich bei der 2-ten Abfrage noch von der ersten her beim Webmail-Server angemeldet war (= purer Zufall imho) ... Von den Reaktionszeiten her ließ dies Lösung übrigens auch zu wünschen übrig (10-12 Sek !).

Nachdem ich die ganze Sache dann mal während einer Woche in meinem Hirn durchgekocht habe ist mir da eine Lösung eingefallen, die mir nach ihrer Umsetzung zumindest für meine Zwecke als perfekt erscheint, die aber auch vielleicht einigen von euch gefallen dürfte.

DIE Lösung :

Ein kleines PHP-Script, welches die POP3-Abfrage des Mailservers enthält, inkl. STAT-Befehl. Die Rückmeldung des STAT-Befehls kann in diesem Script sogar "gebrauchsfertig" vorformatiert werden mittels "printf", in meinem Fall z.Bsp. ein 14-Byte-EIB-Text für den Berker B.IQ.
Dieses Script auf euren Webspace hochladen (ein paar MB davon hat doch heute jedes DSL-Abo, oder ?).
Anschliessend kann dieses PHP-Script durch die HS-"Webseiten-Abfrage" aufgerufen werden und die Rückmeldung muss nur noch nach einem vorher definierten Text abgesucht werden (im untenstehenden Beispiel-Script "POP3DATA"), dann die darauffolgenden 14 Bytes auslesen un in ein HS-Kommunikations-Objekt schreiben, das war's ...

Neben der Tatsache daß diese Lösung einwandfrei funktionniert (bei mir jedenfalls :)), sehe ich noch 2 weitere Vorteile :

1) funktionniert unabhängig davon, ob eure Webmail-Page die Anzahl neuer emails anzeigt oder nicht.

2) suuuper Antwortzeit !! Bei mir kommt die Antwort spätestens nach 1-2 Sek rein (!!), trotz hosting & mailserver in ... Florida !
Ich denke hier spielt die Abfrage der POP3-acounts über das PHP-Script die entscheidende Rolle. Da das Script mit den POP3-Befehlen (USER, PASS, STAT) logischerweise serverseitig ausgeführt wird treten die einzelnen Befehle nicht einzeln den langen Weg übers WWW an, sondern gehen idealerweise gleich übers LAN an den Mailserver gleich neben dem Webserver (auf dem das Script ausgeführt wird) im Severraum beim Provider.

Hier mein php-Script :
(kann so 1/1 upgeloadet werden, natürlich nach Abänderung der Werte in grün)

<?php
$fp=fsockopen("mail.MEINEDOMAIN.com",110);
if ($fp)
{
$purge = fgets ($fp, 1024);
$user="MEIN_UID";
$pass="MEIN_PASSWORD";
fputs ($fp, "USER $user\n");
$purge = fgets ($fp, 1024);
fputs ($fp, "PASS $pass\n");
$purge = fgets ($fp, 1024);
fputs ($fp, "STAT\n");
$stat = fgets ($fp, 1024);
fputs($fp, "QUIT\n");
$purge = fgets ($fp, 1024);

printf ("POP3DATAnew mails : %s", substr ($stat, 4, 2));
fclose($fp);
}
else
{
echo "pop-mail error";
}
?>


In diesem Sinne : Merry Christmas !

:beer:

Pascal