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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Frage] Email Script erweitern

NEWS

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

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

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

[Frage] Email Script erweitern

Geplant Angeheftet Gesperrt Verschoben JavaScript
1 Beiträge 1 Kommentatoren 231 Aufrufe
  • Ä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.
  • W Offline
    W Offline
    webseb79
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich habe aus einem anderen Beitrag ein Script in Verwendung welches meine Email aus meinem Postfach abruft.
    Dort wird aber nur immer die aktuellste Email geholt und überschreibt die letzte im Datenpunkt.
    Wie kann man das Script erweitern und die letzten 4 Emails in separate Datenpunkte schreiben?

    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);
    
    });
    

    Danke im voraus und einen schönen Sonntag

    Sebastian

    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

    647

    Online

    32.4k

    Benutzer

    81.4k

    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