NEWS


  • Hallo zusammen,

    ich möchte EMail eines bestimmten Absenders (beispiel@gmx.de) bei Emfang auslesen.
    Diese enthält immer eine Bestellbestätigung und beinhaltet immer sowas:

    Montag, 27.01.2020
    1x - GE Hähnchenbrustfilet mit Sauce und (03) Blumenkohl in feiner Creme (M) dazu Kartoffeln (Menü K1)
    
    Dienstag, 28.01.2020
    1x - V Käsespätzle (ohne Zwiebeln) (G,a,Ei,M) Blattsalat Dressing (SO2,01,03,05) (Menü K2)
    
    

    Nun möchte ich genau diese Daten in Datenpunkte schreiben, damit ich sie im VIS darstellen kann.

    Kann mir jemand vielleicht erklären, wie ich das hinbekommen könnte?

    PS: die Bestellseite kann ich zwar auch im IFRAME darstellen, jedoch muss man sich da einloggen und dadurch nicht auf Dauer lauffähig.


  • ok ich habe dieses Script installiert:
    https://github.com/chirag04/mail-listener2

    Es funktioniert. Ich habe nun den ganzen Text der Email in einem Datenpunkt.

    Nun muss ich den Text den ich brauche so extrahieren, das er wieder sauber geloggt wird (history.0?)
    Mir fällt da nur ein, es wahrscheinlich mit dem Parser zu machen? Regex, aber da bin ich totaler Anfänger.

    Meine Vorstellung:

    • Datenpunkt mit parser auslesen
    • in datenpunkt ergebnisse schreiben
    • mit history loggen
    • im VIS einbinden

  • @bug77 wie hast du das installiert über npm und einfach in der javascript instanz im setting angegeben

    kannst du schon mails empfangen ?


  • Jap genau so. Zuerst hat es nicht getan, im log Stand ein Fehler wegen fehlenden Rechten.

    Dazu muss im Gmail Axxount IMAP aktiviert werden und auch der Zugriff für drittapps ohne 2-Faktor aktiviert werden, dann kommt alles rein.


  • @bug77 das bedeutet, du bekommst jetzt einen datensatz, wenn ein mail ankommt - jetzt müßte was aussortiert werden

    • email absender oder subject - wie erkennst du das richtige mail
    • anschliessend , wenn das richtige mail da ist, den inhalt noch aufbereiten und wohin und wie speichern - nur in einen datenpunkt oder eine art tabelle mit first in last out

    kannst du mal eine solche angekommende nachricht loggen und posten


  • Ja ich bekomme auch Absender und Titel in separaten Datenpunkten.
    Jedoch reicht der Datenpunkt mit dem Text, da man auf den Inhalt triggern kann.

    So sieht es immer aus, es ist immer die gleiche Mail, ich muss halt die Tage extrahieren und in eine Tabelle eingetragen bekommen:

    
    vielen Dank für ihre Bestellung. Ihre Bestellung für den Zeitraum vom 27.01.2020 bis zum 02.02.2020 setzt sich wie folgt zusammen:
    
    Montag, 27.01.2020
    1x - GE Hähnchenbrustfilet mit Sauce und (03) Blumenkohl in feiner Creme (M) dazu Kartoffeln (Menü K1)
    
    Dienstag, 28.01.2020
    1x - V Käsespätzle (ohne Zwiebeln) (G,a,Ei,M) Blattsalat Dressing (SO2,01,03,05) (Menü K2)
    
    Donnerstag, 30.01.2020
    1x - R Burgerpattie (Sen) Burgerbrötchen (G,a,Ses) dazu Salatgurke und Tomate mit Senf (Sen) und Ketchup (Menü K1)
    
    
    Für Rückfragen steht Ihnen unser Kundenservice gern zur Verfügung.
    
    

    Diese Bestellungen sollen getriggert werden.
    .... setzt sich wie folgt zusammen:
    Und
    .... Für Rückfragen steht Ihnen....

    Ist immer in allen Mails gleich. Könnte man also triggern.


  • @bug77

    das hier alles ist zu suchen

    Montag, 27.01.2020
    1x - GE Hähnchenbrustfilet mit Sauce und (03) Blumenkohl in feiner Creme (M) dazu Kartoffeln (Menü K1)
     
    Dienstag, 28.01.2020
    1x - V Käsespätzle (ohne Zwiebeln) (G,a,Ei,M) Blattsalat Dressing (SO2,01,03,05) (Menü K2)
     
    Donnerstag, 30.01.2020
    1x - R Burgerpattie (Sen) Burgerbrötchen (G,a,Ses) dazu Salatgurke und Tomate mit Senf (Sen) und Ketchup (Menü K1)
    

  • Ja, aber ich weiß nicht wie ich das umsetzen soll.
    JavaScript kann ich leider nicht und blockly erscheint mir auch nicht so sinnvoll.

    Sollte jeder Tag wo gefunden wird als Json gespeichert werden und in Datenpunkt geschrieben werden.


  • @bug77

    noch eine frage . die daten hast du in einem datenpunkt - ich frage wegen der zeilenumbrüche - die sind ja im datenpunkt nicht drin


  • Ja der ganze email Text ist in einem Datenpunkt.


  • @bug77 ok einen teil hab ich schon


  • 👍👍👍 super


  • @bug77 mußte noch was anderes machen

    versuche mal das script mit deinem datenpunkt (ganz oben einsetzen) - im log müßtest du was sehen - wenn der datenpunkt den selben inhalt hat, wie meiner

    später kann man das in blockly einsetzen

    var str =getState("controll-own.0.AAATEST.TestString1").val
     
    
    str=str.replace(/  viel.*zusammen:/g,"");
    //log("mein string :  "+str)
    
    
    //log(str)
    var myWerteDate=str.match(/ {3}.+?, \d+\.\d+\.\d\d\d\d/g)
    var myWerteBestHelp=str.match(/\d+\.\d+\.\d\d\d\d.*?\(Menü .*?\)/g)
    var myWerteBest=[];
    
    for(var i=0;i<myWerteBestHelp.length;i++){
          myWerteBest.push(myWerteBestHelp[i].replace(/\d+\.\d+\.\d\d\d\d /g,"" ));
    }
    
    log(myWerteDate.toString())
    log(myWerteBest.toString())
    
    log("3. Bestellung: "+myWerteDate[2] + " -- "+ myWerteBest[2])
    
    

    bei mir sieht das log so aus:

    Image 5.png

    die 3.te bestellung ist aus einzelene segmenten zusammengesetzt - die können dann in alles mögliche verwandelt werden - html tabelle oder hson


  • wenn ich es starte bekomme ich fehlermeldungen:
    error.png

    Der Datenpunkt sieht so aus, doch mit zeilenumbrüchen?

    datenpunkt.png


  • @bug77 dann kann es nicht funktionieren - ich schau nochmal


  • @liv-in-sky said in Email auslesen und gewissen Inhalt in Datenpunkt:

    die 3.te bestellung ist aus einzelene segmenten zusammengesetzt - die können dann in alles mögliche verwandelt werden - html tabelle oder hson

    Kannst du die Ausgabe dann auch gleich in einen Datenpunkt z.b. "javascript.0.Email.Bestellungen" legen? Weil ich triggere dann mit history darauf und habe dann meine Tabelle für die VIS.
    Weil es kommen ja jede Woche bestellungen dazu und dann wird die HTML/Json Tabelle überschrieben, ich möchte aber eine fortlaufende Liste


  • @bug77 da kommt dann später -erstmal richtig filtern


  • @bug77 ich brauche bitte den genauen inhalt - oben sind leerzeiche oder eine leere zeile darin - in deinem letzten bild nicht

    also den datenpunkt in eine textdatei kopieren und diese hier posten


  • ok ist gelöscht


  • @bug77 kanns tdu wieder löschen, wenn du das nicht im forum haben willst

Suggested Topics

1.2k
Online

37.0k
Users

42.7k
Topics

593.4k
Posts