Pop3 automatisch auf neue Emails prüfen!

Weil ich sie sonst nicht über meine Putty-Shell in die debug.cfg mittels nvi einfügen kann, ohne dass sie dort - warum auch immer - Zeile für Zeile immer weiter nach rechts aus dem rechten Fensterrand herauswandern, sorry.

Die Platzhalter entfernt? Ich habe doch geschrieben, dass ich mit der verkürzten Version einfach nur testen wollte, ob maillog.cfg überhaupt von checkmaild aufgerufen wird. Dazu benötige ich eigentlich nur eine Echo-Zeile, sonst nix. Und es hat sich ja auch gezeigt, dass das Echo nicht ausgeführt und somit auch die maillog.cfg nicht aufgerufen wird. Warum, weiß ich leider (noch) nicht.
 
aber ohne die gehts nicht!

nichts ist nicht 1

"" == 1

EDIT1:
das müsste if [ "$1" = "1" ] lauten

EDIT2:
bei anderen läufts ja auch. Nicht nur bei mir (wobei ich damit den PC über eMail starte) ->
http://www.ip-phone-forum.de/showpost.php?p=673702&postcount=44
Deswegen hatte ich nur nochmal html2text kompiliert.

Die maillog.cfg ist nichts anderes wie die calllog.cfg. nur für mails und sieht auch etwas anders aus.

EDIT3:
Was auf jedenfall funktionieren sollte ist:

nimm die checkmaild.conf.txt in dem Beitrag. Die ist OK!
http://www.ip-phone-forum.de/showpost.php?p=679006&postcount=238

Dann nimmst du die maillog.cfg aus meinem Beitrag hier:
http://www.ip-phone-forum.de/showpost.php?p=678410&postcount=236
Die unverändert lassen. Nur Nummer/SIP/Fon ändern...

Jetzt packst du die checkmaild Binary, die maillog.cfg und die checkmaild.conf in das gleiche Verzeichnis. z.B. /var/tmp/checkmaild

Jetzt checkmaild starten: ./checkmaild -daemon -nodelay -path .

vi ist schlecht für's bearbeiten. nimm irgendwas anderes...
 
Zuletzt bearbeitet:
CheckMailD v0.4.1

Hier die neue Version.
Damit sollte der Telefon-Event auch über checkmaild funzen. Ich denke mal, da sind jetzt alle nachträglichen Korrekturen drin ;)

README gibts nun auch.

EDIT:
auf ein Neues ;) .. auch für ds-mod...
 

Anhänge

  • checkmaild-0.4.1.tar.gz
    32.4 KB · Aufrufe: 83
  • checkmaild-0.4.1-ds.tar.gz
    37.7 KB · Aufrufe: 60
Zuletzt bearbeitet:
1 Frage von Doofies und Nicht-Linuxer:

Olistudent hat eine superarbeit gemacht und ein mal eine Version für nicht DS Mod gemacht die über Firmware-Update in Web-Interface zu instalieren ist.

Das habe ich gemacht und funktioniert ohne Probleme bis Heute.
Ich müsste aber doch Telnet Zugang freischalten, die Nvi Behfele lernen und zittern ob ich nichts falsch mache.

Gibt es nicht die Möglichkeit für die Leute von oben einfach mit Winzip die .tar Datei ( die für Firmware-Update ) zu entpacken, mit Windows Editor zu editieren und z.B. mit TugZip als .tar wieder zu packen und dann das als Firmware-Update leicht in die Box zu bekommen? Das würde sehr viele Leute freuen, Telnet Zugang und Fehler dabei vermeiden und vor allem die Supersache für sehr viele Leute zugänglich machen die keine Ahnung vom Linux, Telnet usw. haben.

Genau habe ich so gedacht, hier das Original vom Olistudent entpackt:

#!/bin/sh

# append to debug.cfg
if [ -e /var/flash/debug.cfg ]
then
cat /var/flash/debug.cfg > /var/tmp/debug.cfg
else
echo > /var/tmp/debug.cfg
fi

cat >> /var/tmp/debug.cfg << 'EOF'

# CONFIGURATION

cat >> /var/tmp/checkmail.conf << 'EON'
STARTDELAY=30
INTERVALL=15
LOGGING=Y
LOGMODE=S
NAME0=
POP30=
IMAP0=
USER0=
PASS0=
INBOX0=

EON

# CONFIGURATION END

# wait for server
while !(ping -c 1 www.google.de)
do
sleep 5
done

# change dir
cd /var/tmp

# load files
wget http://www.metz-kl.de/files/checkmaild

# make them executable
chmod +x /var/tmp/checkmaild

# start checkmaild
sleep 60
/var/tmp/checkmaild

EOF

# write debug.cfg
cat /var/tmp/debug.cfg > /var/flash/debug.cfg

# delete /var/tmp/debug.cfg
rm /var/tmp/debug.cfg


# info led
echo 7,4 > /var/led

# reboot
exit 1

# (c) 2006 Andreas Baginski






Wenn ich es mir Windows Editor so editiere:


#!/bin/sh

# append to debug.cfg
if [ -e /var/flash/debug.cfg ]
then
cat /var/flash/debug.cfg > /var/tmp/debug.cfg
else
echo > /var/tmp/debug.cfg
fi

cat >> /var/tmp/debug.cfg << 'EOF'

# CONFIGURATION

cat >> /var/tmp/checkmail.conf << 'EON'
STARTDELAY=15
INTERVALL=5
LOGGING=N
LOGMODE=S
NAME0=Meinname
POP30=z.B.pop.gmx.net
IMAP0=
USER0=Emailadresseoderbenutzername
PASS0=Password
INBOX0=

EON

# CONFIGURATION END

# wait for server
while !(ping -c 1 www.google.de)
do
sleep 5
done

# change dir
cd /var/tmp

# load files
wget http://www.eigenerserver/checkmaild

# make them executable
chmod +x /var/tmp/checkmaild

# start checkmaild
sleep 60
/var/tmp/checkmaild

EOF

# write debug.cfg
cat /var/tmp/debug.cfg > /var/flash/debug.cfg

# delete /var/tmp/debug.cfg
rm /var/tmp/debug.cfg


# info led
echo 7,4 > /var/led

# reboot
exit 1

# (c) 2006 Andreas Baginski





und dann mit Tugzip wieder als install.tar abspeichere und über Webinterface als Firmware zur Box schicke sollte doch ohne Telnet usw. die Sache erledigt sein oder?
 
Natürlich kannst du das so machen. Aber Windows Editor ist ganz schlecht. Du brauchst einen der Unix-Zeilenumbrüche kann, sonnst wird das nix.

MfG Oliver
 
Wenn du unter Optionen->Einstellungen->Dateityp als Standard-Zeilenvorschub Unix-Format auswählst, dann sollte das klappen.

MfG Oliver
 
Es funktioniert jetzt! :grin:

@bodega:
Ich habe alles wie beschrieben übernommen und mit dem mc (midnight commander) auf der Box NUMBER, SIP und FON editiert (jeweils in checkmaild.conf und in maillog-phone.cfg), und maillog.cfg habe ich unverändert übernommen.

Wann werden denn die "echos" aus maillog.cfg aufgerufen?
Da müssten doch folgende Infos (wo? in der FB-Konsole?) angezeigt werden:
  • Mail-Header
  • Mail-Body
  • Account
  • UID
  • Date
  • Time
  • From
  • Subject
  • All mail(s)
  • New mail(s)
Wo kann ich denn diese Infos sehen bzw. abgreifen? Lassen die sich evtl. mittels nc (netcat) an ein anderes Gerät schicken (z.B. M740 DVB-T Receiver)? Über welchen Port?

Kleine Anmerkung: In checkmaild.conf steht SIP=123, aber in maillog.cfg SIP=*123#
Haben die beiden Dateien unterschiedliche Schreibweisen für SIP?
Das sollte man evtl. noch ins README schreiben, damit keine Verwirrung entsteht.

@olistudent:
Wenn ich den checkmaild Dienst via ds-mod Menü neu starte ("restart"), wird er beendet und auch neu gestartet (ps zeigt das an), aber das ds-mod Menü hängt dann bei der Meldung, dass der Dienst (wieder) gestartet wurde. Erst ein Klick auf "Dienste" zeigt dann korrekt den Dienst mit "running" an. Dieses "Problem" (sofern es überhaupt eines ist) umgehe ich, indem ich den Dienst via ds-mod Menü stoppe ("stop") und ihn manuell mit checkmaild -daemon direkt in der FB-Konsole neu starte.
Liegt das evtl. daran, dass bodegas checkmaild noch nicht 100%ig in den ds-mod integriert ist?

Danke für Eure Geduld und prima Hilfe!
icon14.gif


Ich lasse mich auf meinem Handy über SIP=*123# benachrichtigen und habe mir für *123# in meinem Handy-Telefonbuch einen Eintrag mit dem Namen "neue Email!" angelegt. Dadurch erscheint auf meinem Handy bei Eingang einer neuen Email die Anzeige "neue Email!" auf dem Display. Das ist wirklich sehr praktisch.

EDIT:
Bei Eingang einer weiteren Email auf demselben Account (ohne die vorherige Email vom Server abgeholt zu haben), hätte ich gerne auch wieder eine telefonische Benachrichtigung. Wie lässt sich das einrichten?
 
Zuletzt bearbeitet:
Hallo!

Die echos sieht man nur, wenn man den checkmaild nicht als -daemon startet, sondern als -single. Dann sieht man die echos auf der Konsole.

Das notify-Telefon Skript habe ich von meimi039 (http://www.ip-phone-forum.de/showthread.php?t=111360). Man könnte dies so umbauen, dass # und * nicht in der Variable, sondern beim Aufruf eingefügt werden.

Um bei jeder neuen Mail das Handy klingeln zu lassen, könnte man das maillog.cfg Skript etwas anpassen, bzw. eine weitere Einstellung im checkmaild einbauen (das Skript wird aber auch Nachts aufgerufen, ist ohne Zeitabfrage, eventuell mal im oben genannten Thread nachschauen):

Code:
#!/bin/sh

#####################################################################
# CheckMailD-Event ($1=0): new mail                                 #
#####################################################################
if [ "$1" = "0" ]
then
	sleep 1
fi

#####################################################################
# CheckMailD-Event ($1=1): mail-status (every interval)             #
#####################################################################
if [ "$1" = "1" ]
then

	#################################################################################
	###                                                                          ####
	###   notifyhandy                                                            ####
	###                                                                          ####
	###   Läßt Telefon kurz klingeln                                             ####
	###                                                                          ####
	#################################################################################
	
	NUMBER=xxxxxxxxx
	FRITZIP=127.0.0.1
	SIPENTRY=*3# 
	FON=3
	
	TEMPFILE=/var/tmp/atcommands
	TEMPFILE2=/var/tmp/lastmailcnt
	
	# Open mail count file
	touch $TEMPFILE2
	exec 3< $TEMPFILE2
	
	# Read in last mail count
	read <&3 lastmailcnt
	
	if [ "$lastmailcnt" = "" ]
	then
		$lastmailcnt = "0"
	fi

	[COLOR="Red"]# Check if last mail count was zero
             #if [ "$lastmailcnt" = "0" ]
             #then[/COLOR]
               # Check if current mail count is greater
               if [ "$2" -gt "$lastmailcnt" ]
               then
		echo ATP${FON}>$TEMPFILE
		echo ATD${SIPENTRY}${NUMBER}>>$TEMPFILE
		
		cat $TEMPFILE | ./nc $FRITZIP 1011
		
		echo ath | ./nc $FRITZIP 1011
		
		rm -f $TEMPFILE

	  fi
            [COLOR="Red"]#fi[/COLOR]

    # write current mail count to file
    echo $2 > $TEMPFILE2
    sleep 1
fi

Das die Binary eventuell nicht mit dem DS Mod funktioniert, kann an den geänderten Parametern liegen. Das Problem dürfte aber weniger schlimm sein...

EDIT:
damit es nicht zu Missverständissen kommt:
Das oben genannte Skript macht das gleiche wie die TELNOTIFY Funktion im CheckMailD (bis auf die Zeitbegrenzung).
Beides zusammen muss nicht laufen (TELNOTIFY=Y / CFGNOTIFY=Y), wenn man es nicht will...

EDIT2:
Der Trick mit der SIP ist net schlecht :D
 
Zuletzt bearbeitet:
Meine Version gibt es hier.
Zu der neuesten Version von Bodega (0.4.1) gibt es noch kein dsmod-Package!?

MfG Oliver
 
olistudent schrieb:
Zu der neuesten Version von Bodega (0.4.1) gibt es noch kein dsmod-Package!?

Dein !? deutet wohl was an ;) --- ds-Package hab ich noch nicht gemacht - ich werde am WE mal was zusammenbasteln und hier posten....
 
Ich war mir nicht sicher ob du schon was gebastelt hast.
Wenn du Hilfe brauchst, dann meld dich. Aber ich denke anhand der vorhandenen Pakete sollte es kein Problem für dich sein das fertig zu machen.

MfG Oliver
 
Hät da doch eine Frage ;)
Gibts eigentlich eine Möglichkeit, die checkmaild.cgi zu testen, ohne eine neue Firmware aufzuspielen?

EDIT:

ok ... erledigt.
 
Zuletzt bearbeitet:
Hi.
Testen kann man solche Änderungen entweder mit "mount -o bind" oder ganz einfach über mein mini_fo-Addon.
Oder über unionfs mit Laborfirmware.

Mfg Oliver
 
ok.. hab nun das Webinterface und die rc.checkmaild geändert.

Leider krieg ich das mit der maillog.cfg nicht hin. Die kann ich nicht als Export einbinden :( - wie geht das eigentlich mit der file.cgi ?? Kann man die Datei dauerhaft speichern?
 
Wie bekomme ich das denn jetzt eingebunden? Per make menuconfig kann ich das Paket nicht auswählen.... ???

Gruß
mastertester
 
Im Webinterface steht checkmaild v0.2, die wählt man einfach aus.
Nach 'make menuconfig', die .tar.gz unter dem ds-0.2.9-Verzeichnis entpacken.
Damit wird die alte Version überschrieben. Danach 'make'.
 
Super!!! Es läuft!!!

Leider klingelt es nur auf meinem ISDN Telefon... Wie bekomme ich mein Analoges Telefon zum klingeln?


Gruß
mastertester
 
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.