Pop3 automatisch auf neue Emails prüfen!

Hi olistudent,
olistudent schrieb:
@WrMulf
Theoretisch geht das bestimmt. Ich weiß nur noch nicht wie.
Ich hab die ganze Modifikationsgeschichten an der Fritzbox über Monate nur am Rande verfolgt und dann für mich entschieden, dass mir das zu riskant ist. Seit einer Woche hab ich jetzt doch danisahne-mod installiert und bin begeistert. Den Email-Checker könnte ich mir hervorragend in diesem mod vorstellen, wenn es gelänge, eine gemeinsame Schnittstelle zum Callmonitor zu schaffen, wäre es ideal. Hast du nicht bei deinem Anrufmonitor mit buehmann zusammengearbeitet?
 
Für alle die es nicht wiessen:

Led Befehle der Fritzbox (getestet an FritzBoxFON):

echo 7,1 > /var/led = Info Led aus
echo 7,2 > /var/led = Info Led an
echo 7,3 > /var/led = Info Led blinkt
echo 7,4 > /var/led = Info Led blinkt
****************************
echo 2,1 > /var/led = DSL Led aus
echo 2,2 > /var/led = DSL Led an
echo 2,3 > /var/led = DSL Led blinkt
echo 2,3 > /var/led = DSL Led blinkt
*****************************
echo 13,1 > /var/led = Festnetz Led aus
echo 13,2 > /var/led = Festnetz Led an
echo 13,3 > /var/led = Festnetz Led blinkt
echo 13,3 > /var/led = Festnetz Led blinkt
********************************
echo 14,1 > /var/led = Internet Led aus
echo 14,2 > /var/led = Internet Led an
echo 14,3 > /var/led = Internet Led blinkt
echo 14,3 > /var/led = Internet Led blinkt
*******************************

Die Power Led soll Echo 8 sein aber das funktioniert bei meiner Box nicht!

PS. Es soll gewisse Regeln geben, die definieren, was z.B. passiert, wenn nacheinander 7,3/16,1/17,4 eingegeben wird!!
 
Für die Leute, die die Mails auf dem Server lassen könnte folgender Algorithmus evtl. helfen:

temp = 0;
wiederhole {
Prüfe Mails
falls (mailanzahl > temp)
{led blinken}
sonst {falls (mailanzahl < temp) {led aus}}
temp = mailanzahl
}

oder funktioniert das nicht so?
 
fischefr schrieb:
oder funktioniert das nicht so?
Der Fall "mailanzahl < temp" dürfte nie eintreten, wenn der Benutzer die Mails auf dem Server läßt (außer er löscht einzelne), daher würde das Lämpchen nicht ausgehen. Und wenn man den Fall auf "mailanzahl <= temp" modifiziert, dann geht das Lämpchen beim zweiten Schleifendurchgang auf jeden Fall aus, egal was der User macht - also auch, wenn er die Mails nicht gelesen hat.

Kurze Antwort: Nein. :)
 
WrMulf schrieb:
Kurze Antwort: Nein. :)
Die Antwort muß logisch korrekt "Ja" lauten:
Es ist eine entweder-oder-Frage (funktioniert es oder nicht) und damit ist die Antwort immer true... (==)

Aber in den vielen Fällen hilft es tatsächlich:
Wenn gelöschte Nachrichten auch sofort vom Server entfernt werden und man eh mind. 1 Spam je Aufruf hat (ich komme auf bis zu 200 Spam/Tag, naja, ich habe die eMail-Adresse [email protected]), dann reduziert sich die Zahl der vorhanden Mails bei jedem Abruf
 
ich denk mal laut, aber fragt mich nicht, wie das zu realisieren sein soll..

Angenommen, man hätte auf der Box eine Art pop3 Server, der Aufrufe an den wirklichen Account weiterleitet, dann könnte die Box erkennen, dass ein Abruf stattfindet und die LED löschen.
 
Das Programm ist hängen geblieben!!!
Also, habe soeben gesehen das die Info Led leuchtet obwohl die Emails gelöscht sind. Das Programm sollte jede 30 Min prüfen jetzt sind es schon 50 Minuten um die Led ist noch immer an obwohl keine Email vorhanden ist.
Bei einem Bekanten der die Fritzbox Fon Wlan 7050 hat ist das gleiche schon gestern passiert.

Kann es sein das das Programm einen so genannten überlauf Fehler hat???
 
schon sehr geil das prog.
eine frage. kann man evt angeben welche led benutzt werden soll ?
da wir die FB mit mehreren benutzen muessten ja sonst immer alle ihrer rechner hochfahren und kucken werd denn nu mail bekommen hat ;)

könnte man die auch selbst blinken lassen. ich meine acount1 1mal kurz lange pause und account2 2 mal kurz lange pause.
wenn beide mails haben dann 1xkuzz pause 2xkurz pause 1xkurz usw.

ok. irgendwann wird die cmdzeile zu lang wäre es nicht besser ne config datei anzulegen ?

gruss
inteks
 
Hm, ich wüßte jetzt nicht wo das sein sollte. Ich könnte mir höchstens vorstellen, dass ein Fehler in meiner Abfrage ist?
Code:
[SIZE=2]/* LED off and new mail */
[/SIZE][SIZE=2]if(!status && mails > 0)
{
status = 1;
system("echo 7,2 > /var/led");
log_message("You have %d new mail(s). Setting Info-LED on.\n",mails); 
}
/* LED on and no mail */
else if (status && mails == 0)
{
status = 0;
system("echo 7,1 > /var/led");
log_message("No mail. Setting Info-LED off.\n");
}[/SIZE]

status ist 1, wenn die LED an ist und 0 bei aus.
In mails steht die Anzahl der Mails in der Inbox...

MfG Oliver
 
Zum "hängen bleiben" vielleicht 'ne Idee: Bei mir beendet sich Checkmail, wenn gerade Mails geprüft werden und in dem Moment keine Internetverbindung besteht (Zwangstrennung, kurzzeitiger Verb. Abbruch, was auch immer). Im Syslog steht dann bei mir "daemon.info /usr/bin/checkmail[596]: pop3_prepare" und checkmail beendet sich. Evtl. bleibt dann auch die LED an, obwohl checkmail nicht mehr läuft ?

Habe mittlerweile als "Workaround" 'nen Cronjob angelegt, der checkmail alle 60 min. neu startet. Wenn das Prog schon läuft, passiert nix, wenn nicht, wird es neu gestartet.
 
Das wäre ein Idee. Ich könnte den Fehler abfangen und ein Intervall später wieder anfragen.

Außerdem bin ich gerade dabei imap zu implementieren. Da hatte ich die Idee anhand des Servernamens zu erkennen, ob imap oder pop.
Gibt es imap- oder pop-Server die nicht mit imap. bzw. pop. beginnen?

Soweit funktioniert das nämlich schon.

MfG Oliver
 
olistudent schrieb:
Da hatte ich die Idee anhand des Servernamens zu erkennen, ob imap oder pop.
Gibt es imap- oder pop-Server die nicht mit imap. bzw. pop. beginnen?
Klar; ich kenne verschiedene POP- oder IMAP-Server, die pop3., mail. oder ganz anders heißen. Ich fände es daher besser, wenn man den Typ explizit einstellen kann. Du könntest dann bei keiner Typangabe immer noch so eine Heuristik benutzen.

Andreas
 
olistudent schrieb:
Gibt es imap- oder pop-Server die nicht mit imap. bzw. pop. beginnen?

es reicht ja eigentlich auch eine negative Abgrenzung, wenn kein imap in dem server vorkommt, dann muss wohl ein pop3-Server sein...

Brauchst Du für imap nicht eigentlich auch den Ordner-Namen des Posteingangs, oder ist das immer INBOX ?
 
Noch ein Schalter. Hm, ich glaube da muss ich doch ein Konfig-File machen.

Der Folder heißt immer "inbox", glaube ich.

MfG Oliver
 
meiner heist posteingang.....
also ich versteh nicht ganz, was du mit imap machen möchtest, denn soweit ich weiß hat jeder imap server doch auch einen pop server...
oder kann man über pop nur nicht auf das gelesen-tag zugreifen?
 
wollt nur mal nen status abgeben...das packet von oli rennt einwandfrei...super eure idee...nur für ne 16 mb box wird es langsam eng mit dem speicher...aber irh wlaner habt ja 32...da geht noch was ...*GRINS*
 
Genau.
Bei IMAP kommt beim Wechsel in die Inbox eine schöne Statusmeldung. Und die kommt bei POP3 halt nicht.
Code:
   Example:    C: A142 SELECT INBOX
               S: * 172 EXISTS
               S: * 1 RECENT
               S: * OK [UNSEEN 12] Message 12 is first unseen
               S: * OK [UIDVALIDITY 3857529045] UIDs valid
               S: * OK [UIDNEXT 4392] Predicted next UID
               S: * FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
               S: * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited
MfG Oliver
 
Naja, er macht im Grunde das Gleiche ist gut. Das ist ja ein ganzer Mailserver. Aber der Code sieht gut aus. Ich glaub davon kann ich was verwenden.

Dankeschön.
 
@oli jo k... dann hab ichs kapiert;)
n ganzer mailserver würde zu viel speicher fressen, ne?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.