[gelöst] Emails mittels checkmaild und callmonitor auf einem VDR/Fernseher anzeigen

ao

Aktives Mitglied
Mitglied seit
15 Aug 2005
Beiträge
2,158
Punkte für Reaktionen
2
Punkte
38
EDIT:
Hier die Kurzanleitung wie man mittels checkmaild und callmonitor auf einer Fritzbox Emails auf einem VDR (Video Disk Recorder) und damit auf einem TV-Gerät o.ä. anzeigen lassen kann:

Auf der Fritzbox muss die Datei /var/mod/etc/maillog.cfg wie folgt (Beispiel) angelegt werden und Ausführunsgrechte (chmod 755 maillog.cfg) bekommen:

Code:
#!/bin/sh
# neue Email empfangen
if [ "$1" = "0" ];
then
   callaction vdr {IP-des-VDR} "Am $6 um $7 Uhr schrieb $8: $9"
fi
Natürlich ist {IP-des-VDR} entsprechend anzupassen.

Das o.g. Beispiel zeigt Datum, Uhrzeit, Absender und Betreff an. Den Emailtext kann man sich auch anzeigen lassen, was aber bei meinem VDR (noch) keinen Sinn macht, so dass ich das noch nicht weiterverfolgt habe.

Mehr Hintergrundinfos sind jeweils im Wiki zu checkmaild und callmonitor nachzulesen.

_______________________________________________

Hallo,

ich habe in meiner freetz-devel-2500 FW das Checkmaild 0.4.1 Paket gewählt, und die Signalisierung einer neuen Email (GMX) via Info-LED funktioniert auch. Jetzt wollte ich mal die Skript-Funktion testen:
Code:
Skriptaufruf einschalten   (/mod/etc/maillog.cfg)
 Header und Body empfangen
Aber was muss in die maillog.cfg? Ich möchte nachher Datum/Uhrzeit, Absender und Betreff via "callaction vdr IP" über den VDR ausgeben.
syslog:
Code:
Sep 14 10:09:46 fritz daemon.info CheckMailD: NewMail-Event: /mod/etc/maillog.cfg (/mod/etc/maillog.cfg 0 2 1 "GMX" "8d3451bca04e6c2f227257baa821c4b7" "14.Sep" "10:09" "User <[EMAIL="[email protected]"][email protected][/EMAIL]>" "Test2")!
Sep 14 10:09:46 fritz daemon.info CheckMailD: Account 0 = 001(002)/002 Mail(s) for GMX
Sep 14 10:09:46 fritz daemon.info CheckMailD: Status-Event:  /mod/etc/maillog.cfg (/mod/etc/maillog.cfg 1 2 1)!
Mich wundert übrigens, dass auf meiner 7170 der Pfad nicht /mod/etc/maillog.cfg, sondern /var/mod/etc/maillog.cfg.
Aber das ist wohl egal, oder?
 
Zuletzt bearbeitet:
Hi,

die "maillog.cfg" ist ein Shellskript. Das Verzeichnis "/mod" ist ein Symlink auf "/var/mod". Es sind also beides die selben Dateien.

Code:
/mod/etc/maillog.cfg 0 2 1 "GMX" "8d3451bca04e6c2f227257baa821c4b7" "14.Sep" "10:09" "User <[email protected]>" "Test2"

$1. Parameter: 0=New Mail received, 1=Status
$2. Parameter: Mails total
$3. Parameter: Current mail
$4. Parameter: Account
$5. Parameter: Message-ID
$6. Parameter: Datum
$7. Parameter: Uhrzeit
$8. Parameter: From
$9. Parameter: Subject

In den Variablen $2 bis $9 stehen die eMail-Infos, wenn Parameter $1 = "0" ist (Neue eMail empfangen).

Du musst das Skript /mod/etc/maillog.cfg entsprechend anpassen. Du kannst es testen, wenn checkmaild im Vordergrund läuft und du im Skript Ausgaben machst (echo "$1 $2 $3 ...").

EDIT:
Ein kurzes Beispiel:
Code:
#!/bin/sh
# Neue eMail empfangen
if [ "$1" = "0" ];
then
   # Subject ausgeben
   echo "----------------------------"
   echo "Betreff --> $9"
   echo "----------------------------"
fi

ich würde es erstmal mit dem Subject testen. Wenn alles soweit klappt, kann man sich dem Mail-Body widmen (wobei das etwas viel Text wäre ;)).
 
Zuletzt bearbeitet:
Ich war mal so frei deinen kompetenten Beitrag im Wiki zu verewigen.

MfG Oliver
 
Super, so funktioniert es prima (Mailbody ist - erstmal - gar nicht nötig)!

/var/mod/etc/maillog.cfg:
Code:
#!/bin/sh
# neue Email empfangen
if [ "$1" = "0" ];
then
   echo "Am $6 um $7 Uhr schrieb $8: $9"
fi
Wenn ich nun checkmaild wieder als daemon laufen lasse, wo landet dann der Output?
Meine Fritzbox hat den Patch, dass die Standard-Outputs nicht auf der Konsole landen. Ist das ein Problem zum Testen im daemon-Modus?
Und dann muss ich noch herausfinden, wie ich das mittels callmonitor ("callaction vdr IP") an den VDR schicken kann.

Übrigens:
Hier habe ich ein Beispiel gefunden, wo eine Datei maillog.head beschrieben wird. Ist das noch aktuell? Lege ich die selbst an?
 
Ich war mal so frei deinen kompetenten Beitrag im Wiki zu verewigen.
Danke, ich hatte das tatsächlich auch vor, aber erst, nachdem alles soweit klappt. Aber ich kann ja dann noch editieren. ;)
Nun habe ich mir erlaubt, mein o.g., leicht erweitertes Beispiel ins Wiki zu stellen. Ist das ok?

So, nun kann ich mittels checkmaild und maillog.cfg Datei etwas ausgeben, wenn eine neue Email da ist.
Und mittels callmonitor ( Befehl: callaction vdr {Receiver-IP} {Text}) kann ich einen Text {Text} über den VDR auf dem DVB-T Receiver auf dem TV anzeigen.

Aber wie bekomme ich nun die Variablen $1-$9 aus maillog.cfg zum callaction Skript?
Wenn das auch noch irgendwie klappt, müsste die Anzeige neuer Emails im VDR hinhauen - und dann mache ich einen entsprechenden Wiki-Eintrag.

Nochmals danke für Eure super Hilfe!
 
Zuletzt bearbeitet:
Hallo AΩ,

so groß ist der letzte Schritt doch nicht mehr: Du hast von mir ein Beispiel, wie du "callaction vdr" benutzt, hast hier erfahren, dass die notwendigen Infos in $1 bis $9 stehen, und hast diese sogar schon in einen Text zusammengebaut.

Wenn man diese drei Dinge also mal zusammensteckt, kommt in der ersten Iteration so etwas dabei heraus:
Code:
#!/bin/sh
# neue Email empfangen
if [ "$1" = "0" ];
then
   callaction vdr m741 "Am $6 um $7 Uhr schrieb $8: $9"
fi

Andreas
 
Sorry, Andreas, etliche Linux-Trivialitäten sind mir doch neu, auch wenn es Dir vielleicht nicht so erscheint. Jetzt ist es mir klar, dass die Lösung so einfach ist. Also, es funktioniert! Auf dem VDR wird alles angezeigt!
icon14.gif
1000 DANK!
Das VDR Beispiel habe ich jeweils im Wiki (checkmaild und callmonitor) eingefügt.
 
Zuletzt bearbeitet:
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.