Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Emails empfangen.

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Emails empfangen.

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
119 Beiträge 31 Kommentatoren 23.0k Aufrufe 28 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • umbmU Offline
    umbmU Offline
    umbm
    schrieb am zuletzt editiert von
    #22

    Eine Frage zur Zuverlässigkeit der dauerhaften IMAP-Verbindung bei euch.

    Ich habe festgestellt, dass es sporadisch (also bisher nicht reproduzierbar) dazu kommt, dass die IMAP-Verbindung anscheinend unterbrochen wird und keine Prüfung auf neue EMails mehr erfolgt.
    Heute Nacht letztmalig, so dass ich nun nach 5 Stunden das Script manuell neu starten musste.

    Habe ihr diesen Effekt auch, wenn das Script ohne schedule/timeout eingebunden ist?

    Momentan überlege ich, doch wieder ein stündliches schedule einzurichten, um das Problem zu umgehen.

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      skokarl
      schrieb am zuletzt editiert von skokarl
      #23

      Klingt spannend was ihr hier macht.
      Ich versuche Euch mal zu folgen. :grimacing:

      ich muss "npm install mail-listener2" auf meiner Linux Nuc ausführen ?
      danach den Javascript Code im IOBroker Adapter einfügen ?

      und dann ? mit einem Widget den Code starten ?
      oder wie kommt ihr an die Mails ?

      sorry, wegen der Newbie Fragen.

      Wundert mich schon lange dass es dafür noch keinen fertigen Adapter gibt,
      eingentlich schreit doch das Tablet danach Mails anzuzeigen, und auszuwerten, oder ?

      IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        skokarl
        schrieb am zuletzt editiert von skokarl
        #24

        Muss das

        npm install mail-listener2

        in einem bestimmten Verzeichnis ausgeführt werden ?
        Ich bekomme so ein paar Warnungen :cold_sweat:

        npm WARN deprecated mailparser@0.4.9: Mailparser versions older than v2.3.0 are deprecated
        npm WARN deprecated mimelib@0.3.1: This project is unmaintained
        npm WARN saveError ENOENT: no such file or directory, open '/home/bernd/package. json'
        npm notice created a lockfile as package-lock.json. You should commit this file.
        npm WARN enoent ENOENT: no such file or directory, open '/home/bernd/package.jso n'

        IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

        1 Antwort Letzte Antwort
        0
        • umbmU Offline
          umbmU Offline
          umbm
          schrieb am zuletzt editiert von umbm
          #25

          Ich habe den npm-Befehl in /opt/iobroker/ aufgerufen.
          Dann wurde das installiert.

          dann habe ich dieses Script im Javascript-Adapter eingefügt und aktiviert und es bleibt (meistens) permanent aktiv und fragt den Posteingang ab.

          // Quelle Original: https://github.com/chirag04/mail-listener2
          // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
          
          createState("IMAP.Email_Eingang"); 	//dieser Datenpunkt wird erzeugt
          createState("IMAP.EmailText");		//dieser Datenpunkt enthält den email-Text
          
              var MailListener = require("mail-listener2");
              var mailListener = new MailListener({
                username: "beispiel@gmail.com",    // HIER Email Adresse eintragen
                password: "password",	      // HIER Passwort eintragen	
                host: "imap.gmail.com",
                port: 993, // imap port
                tls: true,
                connTimeout: 10000, // Default by node-imap
                authTimeout: 5000, // Default by node-imap,
                debug: null, // Or your custom function with only one incoming argument. Default: null
                tlsOptions: { rejectUnauthorized: false },
                mailbox: "GPS-Tracker/Tracker1", // HIER Postfach eingeben z.B. INBOX 
                searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
                markSeen: true, // all fetched email willbe marked as seen and not fetched next time
                fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
                mailParserOptions: {streamAttachments: false}, // options to be passed to mailParser lib.
                attachments: false, // download attachments as they are encountered to the project directory
                attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
              });
           
              mailListener.start();
              mailListener.on("server:connected", function(){console.log("------- imapConnected");});
              mailListener.on("server:disconnected", function(){console.log("------- imapDisconnected");});
              mailListener.on("error", function(err){console.log(err);});
              mailListener.on("mail", function(mail, seqno, attributes){
                  //log(mail.from[0].address);
                  //log(mail.from[0].name);
                  //log(mail.subject);
                  //log( mail.text);
               setState("IMAP.Email_Eingang",mail.from[0].address);  	//setze Datenpunkt mit Email-Absender (als Trigger nutzbar)
               setState("IMAP.EmailText",mail.text);			//setze Datenpunkt mit kompletten Email-Inhalt
              });
              // mailListener.on("attachment", function(attachment){console.log(attachment.path);}); //wenn Anhänge verarbeitet werden sollen einkommentieren
          

          Der Datenpunkt javascript.0.IMAP.Email_Eingang eignet sich dann gut als Trigger, um Emails von bestimmtem Absender in einem anderen Script weiter zu verarbeiten.

          1 Antwort Letzte Antwort
          0
          • T thiel_marvin

            Wenn man Mails triggern will, die immer ähnlich aufgebaut sind - Lassen sich verschiedenen "createState" so erstellen, dass nur ein bestimmter Teil der Mail-Nachricht damit gefüllt wird?

            In der Mail findet man beispielsweise
            Ort:
            Zeit:
            Energie:

            In jeder Mail ist das so und ich möchte in den verschiedenen States nur den Teil hinter beispielsweise "Energie:" anzeigen.

            umbmU Offline
            umbmU Offline
            umbm
            schrieb am zuletzt editiert von umbm
            #26

            @thiel_marvin sagte in Emails empfangen.:

            Wenn man Mails triggern will, die immer ähnlich aufgebaut sind - Lassen sich verschiedenen "createState" so erstellen, dass nur ein bestimmter Teil der Mail-Nachricht damit gefüllt wird?

            Ich habe mir jetzt mal eine Lösung gebaut, bei der man über eine Funktion mit Parametern einen bestimmten Teilinhalt der empfangenen email herausfiltern kann und anschließend nach Bedarf weiterbearbeiten oder in einen Datenpunkt schreiben kann.

            Als Blockly sieht die Funktion so aus:

            Blockly_TextExtrakt.jpg

            Es sind 3 Parameter beim Aufruf der Funktion zu übergeben:

            1. QuellTXT: Datenpunkt oder Variable mit dem Text
            2. CutInStrg: Zeichenkette VOR dem gesuchten Textbereich
            3. CutOutStrg: Zeichenkette NACH dem gesuchten Textbereich

            Rückgabe des Ergebnisses erfolgt über die Variable TextExtrakt

            Hier der Code zum Import in Blockly: Blockly_TextExtrakt.txt

            Wer es als reines JavaScript haben möchte, kann sich den Quellcode leicht aus Blockly kopieren.
            Ich bevorzuge als "Syntaxlegastheniker" nun mal Blockly, weil es für mich einfacher zu handhaben ist.

            1 Antwort Letzte Antwort
            2
            • S Offline
              S Offline
              skokarl
              schrieb am zuletzt editiert von
              #27

              Super. :+1:

              IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                skokarl
                schrieb am zuletzt editiert von
                #28

                habt ihr das auch gemacht ?
                Update ?

                mail-listener2-updated

                IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                1 Antwort Letzte Antwort
                0
                • W Offline
                  W Offline
                  webseb79
                  schrieb am zuletzt editiert von
                  #29

                  Hallo in die Runde,
                  ich habe das Script aus diesem Thread eingerichtet und es funktioniert einwandfrei.
                  Nun bin ich nicht der Javascript-Kenner um spezielle Dinge anzupassen.
                  Ich bekomme in meinen Datenpunkten immer nur eine Mail angezeigt ( UNSEEN ) aber auch manchmal nicht immer die letzte im Postfach.
                  Wie kann ich nun das Script anpassen um mehrere ungelesene Emails und gelesene Emails aus meinem Postfach mir anzeigen zu lassen?

                  Danke

                  Sebastian

                  1 Antwort Letzte Antwort
                  0
                  • T Offline
                    T Offline
                    Tjaden
                    schrieb am zuletzt editiert von
                    #30

                    Hallo zusammen,

                    ich nutze das Skript erfolgreich, habe jedoch das Problem dass der Mailaccount nur alle 1-2 Wochen eine Mail erhält (geht um die Abfallabholung) und das Skript zwischendrin offenbar die Verbindung zum imap-Server verliert.

                    Gehe ich Recht in der Annahme, dass

                    connTimeout und authTimeout tatsächlich nur die Timeouts in ms zum Verbindungsaufbau, nicht für die Verbindung selbst enthalten?

                    Ha jemand eine Idee was ich einstellen muss damit die Verbindung wirklich dauerhaft gehalten wird?

                    Grüße

                    1 Antwort Letzte Antwort
                    0
                    • umbmU Offline
                      umbmU Offline
                      umbm
                      schrieb am zuletzt editiert von
                      #31

                      Ich überwache mit einem Script imap.status
                      Wenn das 0 ist, deaktiviere ich das Script in javascript.x.scriptEnabled und aktiviere es nach 10 Sekunden wieder.
                      Nach dem Neustart des Scripts läuft es dann wieder.
                      Klappt bisher zuverlässig.

                      // IMAP Status überwachen und ggf Neustart
                      on({id: "javascript.0.IMAP.Status", change: "ne"}, function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if (obj.id == 0) {
                          setState("javascript.0.scriptEnabled.IMAP.TrackerV1", false);
                          setStateDelayed("javascript.0.scriptEnabled.IMAP.TrackerV1", true, 10000, false);
                        }
                      });
                      
                      1 Antwort Letzte Antwort
                      1
                      • umbmU Offline
                        umbmU Offline
                        umbm
                        schrieb am zuletzt editiert von umbm
                        #32

                        Nachtrag:
                        Mit fällt gerade ein, dass ich den Datenpunkt in dem IMAP-Script erzeugen lasse (ab Zeile 31)
                        Dann kann es separat überwacht werden, wie oben beschrieben.

                        // Quelle Original: https://github.com/chirag04/mail-listener2
                        // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
                        
                        createState("IMAP.Email_Eingang");
                        createState("IMAP.EmailText");
                        createState("IMAP.Status");
                        
                            var MailListener = require("mail-listener2");
                            var mailListener = new MailListener({
                              username: "    ",    // hier Email Adresse eintragen
                              password: "    ",	      // hier Passwort eintragen	
                              host: "imap.gmail.com",  //Mailserver
                              port: 993, // imap port
                              tls: true,
                              connTimeout: 10000, // Default by node-imap
                              authTimeout: 5000, // Default by node-imap,
                              debug: null, // Or your custom function with only one incoming argument. Default: null
                              tlsOptions: { rejectUnauthorized: false },
                              mailbox: "GPS-Tracker/WoMo-Tracker", // mailbox to monitor
                              searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
                              markSeen: true, // all fetched email willbe marked as seen and not fetched next time
                              fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
                              mailParserOptions: {streamAttachments: false}, // options to be passed to mailParser lib.
                              attachments: false, // download attachments as they are encountered to the project directory
                              attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
                            });
                         
                            mailListener.start();
                            mailListener.on("server:connected", function(){console.warn("------- imapConnected");});
                            // IMAP-Status als Logausgabe und in Datenpunkt
                            mailListener.on("server:connected", function(){setState("IMAP.Status",1);});
                            mailListener.on("server:disconnected", function(){console.error("------- imapDisconnected");});
                            mailListener.on("server:disconnected", function(){setState("IMAP.Status",0);});
                            //
                            mailListener.on("error", function(err){console.error(err);}); // geändert auf Error im Log, 
                            mailListener.on("mail", function(mail, seqno, attributes){
                                //log(mail.from[0].address);
                                //log(mail.from[0].name);
                                //log(mail.subject);
                                //log( mail.text);
                                setState("IMAP.Email_Eingang",mail.from[0].address);
                                setState("IMAP.EmailText",mail.text);
                            });
                            // mailListener.on("attachment", function(attachment){console.log(attachment.path);});
                        
                        T 1 Antwort Letzte Antwort
                        1
                        • umbmU umbm

                          Nachtrag:
                          Mit fällt gerade ein, dass ich den Datenpunkt in dem IMAP-Script erzeugen lasse (ab Zeile 31)
                          Dann kann es separat überwacht werden, wie oben beschrieben.

                          // Quelle Original: https://github.com/chirag04/mail-listener2
                          // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
                          
                          createState("IMAP.Email_Eingang");
                          createState("IMAP.EmailText");
                          createState("IMAP.Status");
                          
                              var MailListener = require("mail-listener2");
                              var mailListener = new MailListener({
                                username: "    ",    // hier Email Adresse eintragen
                                password: "    ",	      // hier Passwort eintragen	
                                host: "imap.gmail.com",  //Mailserver
                                port: 993, // imap port
                                tls: true,
                                connTimeout: 10000, // Default by node-imap
                                authTimeout: 5000, // Default by node-imap,
                                debug: null, // Or your custom function with only one incoming argument. Default: null
                                tlsOptions: { rejectUnauthorized: false },
                                mailbox: "GPS-Tracker/WoMo-Tracker", // mailbox to monitor
                                searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
                                markSeen: true, // all fetched email willbe marked as seen and not fetched next time
                                fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
                                mailParserOptions: {streamAttachments: false}, // options to be passed to mailParser lib.
                                attachments: false, // download attachments as they are encountered to the project directory
                                attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
                              });
                           
                              mailListener.start();
                              mailListener.on("server:connected", function(){console.warn("------- imapConnected");});
                              // IMAP-Status als Logausgabe und in Datenpunkt
                              mailListener.on("server:connected", function(){setState("IMAP.Status",1);});
                              mailListener.on("server:disconnected", function(){console.error("------- imapDisconnected");});
                              mailListener.on("server:disconnected", function(){setState("IMAP.Status",0);});
                              //
                              mailListener.on("error", function(err){console.error(err);}); // geändert auf Error im Log, 
                              mailListener.on("mail", function(mail, seqno, attributes){
                                  //log(mail.from[0].address);
                                  //log(mail.from[0].name);
                                  //log(mail.subject);
                                  //log( mail.text);
                                  setState("IMAP.Email_Eingang",mail.from[0].address);
                                  setState("IMAP.EmailText",mail.text);
                              });
                              // mailListener.on("attachment", function(attachment){console.log(attachment.path);});
                          
                          T Offline
                          T Offline
                          Tjaden
                          schrieb am zuletzt editiert von
                          #33

                          @umbm Danke für den Workaround mit einem zweiten Script. Ich habe es gerade ergänzt und schaue mal, ob Donnerstag die Mail verarbeitet wird.

                          1 Antwort Letzte Antwort
                          0
                          • L Offline
                            L Offline
                            lostall
                            schrieb am zuletzt editiert von
                            #34

                            Hallo Zusammen,
                            ich habe dieses Skript die ganze Zeit ohne Probleme verwendet. Durch einen Systemabsturz musste ich meinen Iobroker komplett neu aufsetzen. Ich habe ihn aus einem Backup wiederhergestellt.

                            Seitdem habe ich folgendes Problem:

                            2019-08-04 19:34:00.536 - error: javascript.0 script.js.common.Email.Email_empfangen2: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mail-listener2'
                            2019-08-04 19:34:00.536 - error: javascript.0 at Object. (script.js.common.Email.Email_empfangen2:15:24)
                            2019-08-04 19:34:00.537 - error: javascript.0 Error in callback: TypeError: MailListener is not a constructor
                            2019-08-04 19:34:00.537 - error: javascript.0 at Object. (script.js.common.Email.Email_empfangen2:16:24)
                            
                            

                            Wie kann ich denn im "Ordner " node_modules was ergänzen ?
                            Mein System hat soweit die gleichen Parameter wie zuvor, da es aus einer BackupDatei erstellt wurde.

                            Auch ein NPM Install von mail-listener2 hat keine abhilfe geschaffen.

                            Wäre super, wenn jemand von euch eine Idee hat?!

                            GlasfaserG 1 Antwort Letzte Antwort
                            0
                            • L lostall

                              Hallo Zusammen,
                              ich habe dieses Skript die ganze Zeit ohne Probleme verwendet. Durch einen Systemabsturz musste ich meinen Iobroker komplett neu aufsetzen. Ich habe ihn aus einem Backup wiederhergestellt.

                              Seitdem habe ich folgendes Problem:

                              2019-08-04 19:34:00.536 - error: javascript.0 script.js.common.Email.Email_empfangen2: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mail-listener2'
                              2019-08-04 19:34:00.536 - error: javascript.0 at Object. (script.js.common.Email.Email_empfangen2:15:24)
                              2019-08-04 19:34:00.537 - error: javascript.0 Error in callback: TypeError: MailListener is not a constructor
                              2019-08-04 19:34:00.537 - error: javascript.0 at Object. (script.js.common.Email.Email_empfangen2:16:24)
                              
                              

                              Wie kann ich denn im "Ordner " node_modules was ergänzen ?
                              Mein System hat soweit die gleichen Parameter wie zuvor, da es aus einer BackupDatei erstellt wurde.

                              Auch ein NPM Install von mail-listener2 hat keine abhilfe geschaffen.

                              Wäre super, wenn jemand von euch eine Idee hat?!

                              GlasfaserG Offline
                              GlasfaserG Offline
                              Glasfaser
                              schrieb am zuletzt editiert von
                              #35

                              @lostall

                              Auch hier eingetragen !?

                              11.JPG

                              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                              L 1 Antwort Letzte Antwort
                              0
                              • GlasfaserG Glasfaser

                                @lostall

                                Auch hier eingetragen !?

                                11.JPG

                                L Offline
                                L Offline
                                lostall
                                schrieb am zuletzt editiert von
                                #36

                                @Glasfaser wow super !
                                jetzt klappt es.
                                Letztes Mal hatte ich dort nichts eintragen müssen.

                                Vielen Dank!! Happy

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  mameier1234
                                  schrieb am zuletzt editiert von mameier1234
                                  #37

                                  Hallo,

                                  ich bin gestern durch einen Zufall auf dieses Script aufmerksam geworden und habe es gleich mal ausprobiert...

                                  Funktioniert !! (fast)

                                  Ich würde damit gerne meine Poolwerte loggen. Ich nutze BlueConnect, da gibt es nur eine App, und wohl noch keine Api... Aber man kann sich eine Automatisierte Mail mit den Messwerten senden lassen..

                                  Allerdings wird genau von dieser Mail nicht der Inhalt ausgelesen... Wenn ich die Mail einmal weiterleite, dann geht es ... Ich verstehe es einfach nicht..

                                  Der Absender wird gesehen (die Mail also an sich ) aber der Inhalt bleibt beim Inhalt der letzten Mail.... Was könnte das sein ?

                                  PS: Ich habe das Problem jetzt erstmal so gelöst, dass ich die Mails mit den Werten per IFTTT und O365 verschicke und dann hier abfrage... Dann mit dem Textextract Blockly mir die Werte in Datenpunkte schreibe ...

                                  Perfekt !!
                                  Danke für diesen Thread !

                                  Grüße,

                                  Martin

                                  1 Antwort Letzte Antwort
                                  0
                                  • P Offline
                                    P Offline
                                    pix
                                    schrieb am zuletzt editiert von
                                    #38

                                    Hab ein ähnliches Problem. Muss die Mail immer zweimal senden, damit die Werte ankommen.

                                    Pix

                                    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                    1 Antwort Letzte Antwort
                                    0
                                    • oberfraggerO Offline
                                      oberfraggerO Offline
                                      oberfragger
                                      schrieb am zuletzt editiert von
                                      #39

                                      Lieber Leute,

                                      genau das habe ich gesucht. Ich werde mich bei Gelegenheit einmal da einlesen und probieren das auszulesen.

                                      Hintergrund: Unsere Telenot- Alarmanlage will nicht nach draußen funken bzw. von extern abgefragt werden (außer der App).

                                      Da mit kann ich dann den allgemeinen Alarmstatus (an/aus/intern an) abfragen und Automatisierungen anstoßen.

                                      Beispielsweise- Stromzufuhr Fernseher aus bei Scharf-Schalten des Alarms. Außerdem Markise einfahren und Rolläden runter.

                                      Nur so ein paar Gedanken. Da fehlt aber noch bisschen bei mir zu Hause, die ich vorher machen muss ;)

                                      1 Antwort Letzte Antwort
                                      0
                                      • WiednitzW Offline
                                        WiednitzW Offline
                                        Wiednitz
                                        schrieb am zuletzt editiert von Wiednitz
                                        #40

                                        GELÖST npm install mail-listener4 --save

                                        Hallo,

                                        ich habe das mail-listener2 skript auch laufen und durch "Subject" ergänzt. Wenn mir meine IPCam eine Email mit einem definierten Betreff schickt, soll ein Bild an Telegram gesendet werden.

                                        Wenn so eine Email OHNE Anhang eintrifft, wird durch das Blockly ein Bild der IPCam verschickt.
                                        Enthält diese Email mit dem Betreff aber einen Anhang, in dem Fall ein Bild von der IPCam, löst das Blockly nicht aus, es wird kein Bild per Telegram verschickt. Bei IMAP.Subject steht aber der richtige Betreff drinnen.

                                        Hat jemand eine Erklärung dafür ???

                                        capture_001_08112019_115736.jpg

                                        // Quelle Original: https://github.com/chirag04/mail-listener2
                                        // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
                                         
                                        createState("IMAP.Email_Eingang");
                                        createState("IMAP.EmailText");
                                        createState("IMAP.Status");
                                        createState("IMAP.Subject");
                                         
                                            var MailListener = require("mail-listener2");
                                            var mailListener = new MailListener({
                                              username: "xxx@gmail.com",    // hier Email Adresse eintragen
                                              password: "xxx",	      // hier Passwort eintragen	
                                              host: "imap.gmail.com",  //Mailserver
                                              port: 993, // imap port
                                              tls: true,
                                              connTimeout: 10000, // Default by node-imap
                                              authTimeout: 5000, // Default by node-imap,
                                              debug: null, // Or your custom function with only one incoming argument. Default: null
                                              tlsOptions: { rejectUnauthorized: false },
                                              mailbox: "IPCam", // mailbox to monitor
                                              searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
                                              markSeen: true, // all fetched email willbe marked as seen and not fetched next time
                                              fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
                                              mailParserOptions: {streamAttachments: true}, // options to be passed to mailParser lib.
                                              attachments: true, // download attachments as they are encountered to the project directory
                                              attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
                                            });
                                         
                                            mailListener.start();
                                            mailListener.on("server:connected", function(){console.warn("------- imapConnected");});
                                            // IMAP-Status als Logausgabe und in Datenpunkt
                                            mailListener.on("server:connected", function(){setState("IMAP.Status",1);});
                                            mailListener.on("server:disconnected", function(){console.error("------- imapDisconnected");});
                                            mailListener.on("server:disconnected", function(){setState("IMAP.Status",0);});
                                            //
                                            mailListener.on("error", function(err){console.error(err);}); // geändert auf Error im Log, 
                                            mailListener.on("mail", function(mail, seqno, attributes){
                                                log(mail.from[0].address);
                                                log(mail.from[0].name);
                                                log(mail.subject);
                                                log(mail.text);
                                                setState("IMAP.Email_Eingang",mail.from[0].address);
                                                setState("IMAP.EmailText",mail.text);
                                                setState("IMAP.Subject",mail.subject);
                                            });
                                            mailListener.on("attachment", function(attachment){console.log(attachment.path);});
                                        
                                        
                                        javascript.0	2019-11-09 13:13:41.187	info	(180) Terminated (NO_ERROR): Without reason
                                        javascript.0	2019-11-09 13:13:41.185	info	(180) terminating
                                        javascript.0	2019-11-09 13:13:41.177	info	(180) script.js.email:
                                        javascript.0	2019-11-09 13:13:41.177	info	(180) script.js.email: AlarmIPCamHof
                                        javascript.0	2019-11-09 13:13:41.177	info	(180) script.js.email: Björn G
                                        javascript.0	2019-11-09 13:13:41.176	info	(180) script.js.email: gaumnitz@gmail.com
                                        javascript.0	2019-11-09 13:13:41.130	info	(180) Stop script script.js.IMAP_Verbindung
                                        javascript.0	2019-11-09 13:13:41.130	info	(180) Stop script script.js.MDIPCamHof
                                        javascript.0	2019-11-09 13:13:41.128	info	(180) Stop script script.js.alarm_Bild_Telegram
                                        javascript.0	2019-11-09 13:13:41.128	info	(180) Stop script script.js.email
                                        javascript.0	2019-11-09 13:13:41.126	info	(180) Stop script script.js.klingeltaster_Tor
                                        javascript.0	2019-11-09 13:13:41.124	info	(180) Stop script script.js.Türklingel
                                        javascript.0	2019-11-09 13:13:41.123	info	(180) Stop script script.js.4chTaste4
                                        javascript.0	2019-11-09 13:13:41.098	info	(180) Stop script script.js.VIS_Refresh
                                        javascript.0	2019-11-09 13:13:41.097	info	(180) Stop script script.js.Anrufliste
                                        javascript.0	2019-11-09 13:13:41.096	error	(180) TypeError: mime.extension is not a function at MailParser._generateFileName (C:\iobroker-data\SmartHome\node_modules\iobroker.javascript\node_modules\mail-listener2\node_modules\mailparser\l
                                        javascript.0	2019-11-09 13:13:41.095	error	(180) uncaught exception: mime.extension is not a function
                                        javascript.0	2019-11-09 13:13:06.421	info	(180) Stop script script.js.Bild_an_Telegram
                                        javascript.0	2019-11-09 13:12:57.415	info	(180) script.js.Bild_an_Telegram: Webcam Bild per telegram verschickt
                                        javascript.0	2019-11-09 13:12:55.414	info	(180) script.js.Bild_an_Telegram: Webcam Bild gespeichert
                                        javascript.0	2019-11-09 13:12:54.405	info	(180) script.js.Bild_an_Telegram: registered 0 subscriptions and 0 schedules
                                        javascript.0	2019-11-09 13:12:54.373	info	(180) Start javascript script.js.Bild_an_Telegram
                                        javascript.0	2019-11-09 13:12:54.331	info	(180) script.js.email:
                                        javascript.0	2019-11-09 13:12:54.330	info	(180) script.js.email: AlarmIPCamHof
                                        javascript.0	2019-11-09 13:12:54.330	info	(180) script.js.email: Björn G
                                        javascript.0	2019-11-09 13:12:54.329	info	(180) script.js.email: xxx@gmail.com
                                        javascript.0	2019-11-09 13:11:17.945	warn	(180) script.js.email: ------- imapConnected
                                        
                                        1 Antwort Letzte Antwort
                                        0
                                        • K Offline
                                          K Offline
                                          Knusterus
                                          schrieb am zuletzt editiert von Knusterus
                                          #41

                                          Hallo zusammen
                                          Ich verwende auch dieses Script und es funktioniert auch, aber es wird immer nur die letzte Mail dargestellt.
                                          Wie kann ich es lösen ,das mir abends wenn ich nach Hause komme, alle ungelesenen Mails angezeigt werden?
                                          Wichtig wäre noch das die Mails auf dem Server als ungelesen bleiben.
                                          Danke schon mal für eure Hilfe
                                          Volker

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          915

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe