Ankündigung

Einklappen
Keine Ankündigung bisher.

sendMail mit Anhang

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    sendMail mit Anhang

    Guten Abend zusammen,

    bei meinem aktuellen Projekt möchte ich gern einen Snapshot der Überwachungskamera per Mail versenden. In verschiedenen Foren habe ich auch entsprechende Beispielregeln gefunden, aber irgendwie hapert es an der Umsetzung...

    Meine Regel sieht wie folgt aus:
    Code:
    rule "Take a snapshot"
    when
        Item Snapshot changed to ON
    then
        val url = "http://<user>:<password>@<host>/tmpfs/snap.jpg"
        val outputfile = "/tmp/test.jpg"
        var cmd = "wget -o " + outputfile + " " + url
        executeCommandLine(cmd, 5)
        Thread::sleep(3000)
        sendMail("<mail>", "Snapshot", "Funktioniert")
        sendMail("<mail>", "Snapshot", "Funktioniert nicht", "file:///tmp/test.jpg")
        Snapshot.postUpdate(OFF)
    end
    Eine Mail ohne Anhang wird fehlerfrei verschickt, aber sobald ich ein Bild mitschicken möchte erhalte ich ein:
    Code:
    2018-03-27 21:44:11.086 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Take a snapshot': org/apache/commons/mail/EmailAttachment
    Auch habe ich versucht, das Bild in eine String-Liste zu packen - wie es als Beispiel in der Doku (https://docs.openhab.org/addons/acti....html#examples) aufgeführt ist, aber das führt dann zu einem:
    Code:
    2018-03-27 21:02:36.471 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Take a snapshot': An error occurred during the script execution: Could not invoke method: org.openhab.action.mail.internal.Mail.sendMail(java.lang.String,java.lang.String,java.lang.String,java.lang.String) on instance: null
    Btw: Eigentlich lasse ich mich über das xmpp-Binding per Google Hangouts informieren. Leider habe ich es auch hier nicht hinbekommen, ein Bild zu versenden. Den einzigen Hinweis, den ich in irgendeiner Google-Doku gefunden habe, war, dass Hangouts nicht mehr das xmpp-Protokoll unterstützt, aber Text geht... Wenn hier noch jemand einen Hinweis hätte, dann gern.
    Zuletzt geändert von BEL166299961; 05.04.2018, 12:03.

    #2
    So, ich habe es jetzt tatsächlich ans Laufen bekommen.

    In meiner mail.cfg hatte ich noch ein popbeforesmtp=false ergänzt.

    Außerdem habe ich noch 2 Kleinigkeiten in der Regel korrigiert.

    Das wget bekommt ein großes -O für das heruntergeladenen Bild. Das kleine -o leitet lediglich den Output vom wget um.

    Code:
    rule "Take a snapshot"
    when
        Item Snapshot changed to ON
    then
        val url = "http://<user>:<password>@<host>/tmpfs/snap.jpg"
        val outputfile = "/tmp/test.jpg"
        var cmd = "wget [B]-O[/B] " + outputfile + " " + url
        executeCommandLine(cmd, [B]5000[/B])
        sendMail("<mail>", "Snapshot", "Funktioniert")
        sendMail("<mail>", "Snapshot", "Funktioniert jetzt auch", "file:///tmp/test.jpg")
        Snapshot.postUpdate(OFF)
    end

    Kommentar

    Lädt...
    X