.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Freetz" wurde erstellt von ao, 14 Sep. 2008.

  1. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 ao, 14 Sep. 2008
    Zuletzt bearbeitet: 15 Sep. 2008
    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="user@kabelmail.de"]user@kabelmail.de[/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?
     
  2. bodega

    bodega Aktives Mitglied

    Registriert seit:
    6 Juni 2006
    Beiträge:
    1,980
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Ort:
    NRW
    #2 bodega, 14 Sep. 2008
    Zuletzt bearbeitet: 14 Sep. 2008
    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 <user@kabelmail.de>" "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 ;)).
     
  3. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,761
    Zustimmungen:
    5
    Punkte für Erfolge:
    38
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Ich war mal so frei deinen kompetenten Beitrag im Wiki zu verewigen.

    MfG Oliver
     
  4. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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?
     
  5. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #5 ao, 14 Sep. 2008
    Zuletzt bearbeitet: 14 Sep. 2008
    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!
     
  6. buehmann

    buehmann Aktives Mitglied

    Registriert seit:
    11 Juni 2005
    Beiträge:
    1,810
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    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
     
  7. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #7 ao, 14 Sep. 2008
    Zuletzt bearbeitet: 15 Sep. 2008
    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! [​IMG] 1000 DANK!
    Das VDR Beispiel habe ich jeweils im Wiki (checkmaild und callmonitor) eingefügt.