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.3k

Emails empfangen.

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
119 Beiträge 31 Kommentatoren 23.1k 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.
  • P pix

    Hallo,

    das liest sich sehr interessant. Ich brauche auch einen Email Eingang, um Werte in ioBroker zu setzen. Bisher habe ich auf den Node in Node Red gesetzt, bin aber noch nicht dazu gekommen, etwas zu bauen.
    Bildschirmfoto 2019-02-19 um 09.29.03.jpg

    Gruß
    Pix

    M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von
    #6

    @pix Hatte ich auch mal.
    Aber Node Red hat einen ziemlichen Speicherbedarf.
    Außerdem habe ich nach einem längeren Test von Node Red erkannt, dass ich mit Javascript erheblich schneller bin als mit Node Red. Für mich war Node Red - bis auf ein paar Ausnahmefälle - ein Produktivitätkiller.

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    V 1 Antwort Letzte Antwort
    0
    • M Marty56

      @pix Hatte ich auch mal.
      Aber Node Red hat einen ziemlichen Speicherbedarf.
      Außerdem habe ich nach einem längeren Test von Node Red erkannt, dass ich mit Javascript erheblich schneller bin als mit Node Red. Für mich war Node Red - bis auf ein paar Ausnahmefälle - ein Produktivitätkiller.

      V Offline
      V Offline
      vogtländer
      schrieb am zuletzt editiert von
      #7

      @Marty56 Danke für die schnelle Antwort. Ich werde das gleich mal testen.

      1 Antwort Letzte Antwort
      0
      • M Marty56

        @vogtländer sagte in Emails empfangen.:

        Email_Reception

        Email_Reception einfach mit createState anlegen.

                var mailobj = {val:
                        {
                            from:  "",
                            topic: "",
                            text: "")
                        }
                    };
                createState("Email_Reception",mailobj);
        

        Es wird in dem Script mit einem Object beschreiben, dass from, topic und text enthält.
        Auf den Datenpunkt kannst Du dann triggern.
        Auf die Werte kann Du dann dort mit
        obj.state.val.topic, obj.state.val.from und obj.state.val.text zugreifen.

        P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #8

        @Marty56 sagte in Emails empfangen.:

        var mailobj = {val:
        {
        from: "",
        topic: "",
        text: "")
        }
        };
        createState("Email_Reception"

        Funktioniert super, danke!

        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
        • M Marty56

          @vogtländer sagte in Emails empfangen.:

          Email_Reception

          Email_Reception einfach mit createState anlegen.

                  var mailobj = {val:
                          {
                              from:  "",
                              topic: "",
                              text: "")
                          }
                      };
                  createState("Email_Reception",mailobj);
          

          Es wird in dem Script mit einem Object beschreiben, dass from, topic und text enthält.
          Auf den Datenpunkt kannst Du dann triggern.
          Auf die Werte kann Du dann dort mit
          obj.state.val.topic, obj.state.val.from und obj.state.val.text zugreifen.

          ? Offline
          ? Offline
          Ein ehemaliger Benutzer
          schrieb am zuletzt editiert von
          #9

          @Marty56 hmm da kommt bei mir nur ein [object Object], wenn ich aber die einzelnen variablen in einen State schreibe, gehts, also die Daten werden ausgelesen, aber nicht Email_Reception eingetragen.. ?
          Ich brauchs nicht unbedingt, möchte aber wissen, warum das nicht geht.. :-)

          Hier mal mein Script, es wird unter javascript.0. ein Verzeichnis Email angelegt, wo alle Datenpunkte dann eingetragen werden ( so habe ich mehr übersicht )

          var mailobj = {val:
                          {
                              from:  "",
                              topic: "",
                              text: "",
                          }
                      };
          createState("Email.Reception",mailobj);
          createState("Email.from_address");
          createState("Email.from_name");
          createState("Email.mail_subject");
          createState("Email.mail_text");
                  
          schedule("*/2 * * * *", function (obj) {
              var MailListener = require("mail-listener2");
              var mailListener = new MailListener({
                username: "blabla.com",    // hier Email Adresse eintragen
                password: "geheimespassword",	      // 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: "INBOX", // 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: 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("imapconconnected");});
              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);
                  var mailobj = {val:
                          {
                              from:  mail.from[0].name,
                              topic: mail.subject,
                              text:  mail.text
                          }
                      };
                  setState("Email.Reception", mailobj);
                  setState("Email.from_address", mail.from[0].address);
                  setState("Email.from_name", mail.from[0].name);
                  setState("Email.mail_subject", mail.subject);
                  setState("Email.mail_text", mail.text);
          
              });
              mailListener.on("attachment", function(attachment){console.log(attachment.path);});
              setTimeout(function(){mailListener.stop();},20000);
          });
          
          M gelberlemmyG liv-in-skyL 3 Antworten Letzte Antwort
          0
          • ? Ein ehemaliger Benutzer

            @Marty56 hmm da kommt bei mir nur ein [object Object], wenn ich aber die einzelnen variablen in einen State schreibe, gehts, also die Daten werden ausgelesen, aber nicht Email_Reception eingetragen.. ?
            Ich brauchs nicht unbedingt, möchte aber wissen, warum das nicht geht.. :-)

            Hier mal mein Script, es wird unter javascript.0. ein Verzeichnis Email angelegt, wo alle Datenpunkte dann eingetragen werden ( so habe ich mehr übersicht )

            var mailobj = {val:
                            {
                                from:  "",
                                topic: "",
                                text: "",
                            }
                        };
            createState("Email.Reception",mailobj);
            createState("Email.from_address");
            createState("Email.from_name");
            createState("Email.mail_subject");
            createState("Email.mail_text");
                    
            schedule("*/2 * * * *", function (obj) {
                var MailListener = require("mail-listener2");
                var mailListener = new MailListener({
                  username: "blabla.com",    // hier Email Adresse eintragen
                  password: "geheimespassword",	      // 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: "INBOX", // 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: 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("imapconconnected");});
                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);
                    var mailobj = {val:
                            {
                                from:  mail.from[0].name,
                                topic: mail.subject,
                                text:  mail.text
                            }
                        };
                    setState("Email.Reception", mailobj);
                    setState("Email.from_address", mail.from[0].address);
                    setState("Email.from_name", mail.from[0].name);
                    setState("Email.mail_subject", mail.subject);
                    setState("Email.mail_text", mail.text);
            
                });
                mailListener.on("attachment", function(attachment){console.log(attachment.path);});
                setTimeout(function(){mailListener.stop();},20000);
            });
            
            M Offline
            M Offline
            Marty56
            schrieb am zuletzt editiert von
            #10

            @ilovegym
            Ich kappier den Satz
            "mm da kommt bei mir nur ein [object Object], wenn ich aber die einzelnen variablen in einen State schreibe, gehts, also die Daten werden ausgelesen, aber nicht Email_Reception eingetragen.. ?" nicht.

            Was wird denn bei den log angezeigt. Kommen da die erwarteten Werte?

            HW:NUC (16 GB Ram)
            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

            ? 2 Antworten Letzte Antwort
            0
            • M Marty56

              @ilovegym
              Ich kappier den Satz
              "mm da kommt bei mir nur ein [object Object], wenn ich aber die einzelnen variablen in einen State schreibe, gehts, also die Daten werden ausgelesen, aber nicht Email_Reception eingetragen.. ?" nicht.

              Was wird denn bei den log angezeigt. Kommen da die erwarteten Werte?

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #11

              @Marty56 ja, es kommen die Werte, aber er schreibt mir nicht alles in einen State, sondern nur in die getrennten, die ich angelegt habe. Wenn ich also dein Script nehme, dann kommen die Werte im Log, aber in dem State Email_Reception steht nur object Object sonst nix..

              1 Antwort Letzte Antwort
              0
              • M Marty56

                @ilovegym
                Ich kappier den Satz
                "mm da kommt bei mir nur ein [object Object], wenn ich aber die einzelnen variablen in einen State schreibe, gehts, also die Daten werden ausgelesen, aber nicht Email_Reception eingetragen.. ?" nicht.

                Was wird denn bei den log angezeigt. Kommen da die erwarteten Werte?

                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #12

                @Marty56 Screenshot_2019-02-19 objects - ioBroker(2).png

                1 Antwort Letzte Antwort
                0
                • V Offline
                  V Offline
                  vogtländer
                  schrieb am zuletzt editiert von
                  #13

                  Hi ich bekomme es einfach nicht hin.
                  Die Datenpunkte werden zwar erstellt sind aber leer.
                  Es hat für mich den Anschein als ob alles was innerhalb der Fkt.

                  mailListener.start();
                  mailListener.on("server:connected", function(){console.log("imapconconnected");});
                  mailListener.on("server:disconnected", function(){console.log("imapDisconnected");});
                  mailListener.on("error", function(err){console.error(err);});
                  mailListener.on("mail", function(mail, seqno, attributes){
                      log(mail.from[0].address);
                      log(mail.from[0].name);
                      log(mail.subject);
                      log( mail.text);
                      var mailobj = {val:
                              {
                                  from:  mail.from[0].name,
                                  topic: mail.subject,
                                  text:  mail.text
                              }
                          };
                      setState("Email.Reception", mailobj);
                      setState("javascript.0.Email.from_address", mail.from[0].address);
                      setState("javascript.0.Email.from_name", mail.from[0].name);
                      setState("javascript.0.Email.mail_subject", mail.subject);
                      setState("javascript.0.Email.mail_text", mail.text);
                  
                  });
                  

                  steht zwar ausgeführt wird aber nicht an iobroker weitergegeben wird.
                  Auch wird der erste Datenpunkt "Email.Reception" nicht erzeugt.

                  ? 1 Antwort Letzte Antwort
                  0
                  • V vogtländer

                    Hi ich bekomme es einfach nicht hin.
                    Die Datenpunkte werden zwar erstellt sind aber leer.
                    Es hat für mich den Anschein als ob alles was innerhalb der Fkt.

                    mailListener.start();
                    mailListener.on("server:connected", function(){console.log("imapconconnected");});
                    mailListener.on("server:disconnected", function(){console.log("imapDisconnected");});
                    mailListener.on("error", function(err){console.error(err);});
                    mailListener.on("mail", function(mail, seqno, attributes){
                        log(mail.from[0].address);
                        log(mail.from[0].name);
                        log(mail.subject);
                        log( mail.text);
                        var mailobj = {val:
                                {
                                    from:  mail.from[0].name,
                                    topic: mail.subject,
                                    text:  mail.text
                                }
                            };
                        setState("Email.Reception", mailobj);
                        setState("javascript.0.Email.from_address", mail.from[0].address);
                        setState("javascript.0.Email.from_name", mail.from[0].name);
                        setState("javascript.0.Email.mail_subject", mail.subject);
                        setState("javascript.0.Email.mail_text", mail.text);
                    
                    });
                    

                    steht zwar ausgeführt wird aber nicht an iobroker weitergegeben wird.
                    Auch wird der erste Datenpunkt "Email.Reception" nicht erzeugt.

                    ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von
                    #14

                    @vogtländer hast du das komplette script kopiert, bei deinem code fehlt ja einiges..??

                    1 Antwort Letzte Antwort
                    0
                    • V Offline
                      V Offline
                      vogtländer
                      schrieb am zuletzt editiert von
                      #15

                      ja ich habe das komplette Script kopiert.
                      Es kommen auch keine Fehler beim Ausführen.
                      Aber es ist als ob alles was in der Funktion ? mailListener.on(...) steht
                      nicht zurückgegeben wird.

                      1 Antwort Letzte Antwort
                      0
                      • V Offline
                        V Offline
                        vogtländer
                        schrieb am zuletzt editiert von
                        #16

                        jetzt geht es auch bei mir ich habe JS Adapter neu installiert und alles neu
                        gestartet. nur "Email.Reception", mailob funktioniert auch bei mir nicht

                        ? 1 Antwort Letzte Antwort
                        0
                        • V vogtländer

                          jetzt geht es auch bei mir ich habe JS Adapter neu installiert und alles neu
                          gestartet. nur "Email.Reception", mailob funktioniert auch bei mir nicht

                          ? Offline
                          ? Offline
                          Ein ehemaliger Benutzer
                          schrieb am zuletzt editiert von
                          #17

                          @vogtländer jetzt wo du es schreibst... manchmal muss man bei neuen Scripts den javascript-adapter neu starten, das reicht meist schon...

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            Marty56
                            schrieb am zuletzt editiert von Marty56
                            #18

                            Das in der Objektansicht nur [object Object] angezeigt wird, ist ganz normal, weil ich ja keinen String in dem Datenpunkt ablege, sondern ein Object.

                            Wenn Du auf die Werte zugreifen willst, dann kannst Du das entweder machen, in dem Du ein Script macht, dass auf Email_Reception triggert.

                            on({id: "Email_Reception"}, function(obj) {
                               log(obj.state.val.topic);
                            });
                            

                            oder was auch natürlich geht ist.

                            var emailobj = getState("Email_Reception").val;
                            log(emailobj.topic);
                            

                            HW:NUC (16 GB Ram)
                            OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                            ? 1 Antwort Letzte Antwort
                            0
                            • M Marty56

                              Das in der Objektansicht nur [object Object] angezeigt wird, ist ganz normal, weil ich ja keinen String in dem Datenpunkt ablege, sondern ein Object.

                              Wenn Du auf die Werte zugreifen willst, dann kannst Du das entweder machen, in dem Du ein Script macht, dass auf Email_Reception triggert.

                              on({id: "Email_Reception"}, function(obj) {
                                 log(obj.state.val.topic);
                              });
                              

                              oder was auch natürlich geht ist.

                              var emailobj = getState("Email_Reception").val;
                              log(emailobj.topic);
                              
                              ? Offline
                              ? Offline
                              Ein ehemaliger Benutzer
                              schrieb am zuletzt editiert von
                              #19

                              @Marty56 ah, danke, ja jetzt ist mir das klar!

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                thiel_marvin
                                schrieb am zuletzt editiert von thiel_marvin
                                #20

                                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 2 Antworten 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
                                  #21

                                  Bist du damit schon weitergekommen?
                                  Stehe im Moment vor der gleichen Frage.

                                  @thiel_marvin sagte in Emails empfangen.:

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

                                  Ich denke aber, das geht nicht so einfach, da der komplette Text den Mail ja als String vorliegt.
                                  Man müsste das evtl mit dem Parser-Adapter weiter zerlegen, um nur den gewünschten Teil zu filtern.

                                  Nachtrag:
                                  Ist Blödsinn, der Parser-Adapter liest nur von URL oder Datei ein.
                                  Also muss man doch einfach per Script den String zerlegen.

                                  1 Antwort Letzte Antwort
                                  0
                                  • 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
                                          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

                                          864

                                          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