Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. E Mails in Vis anzeigen

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    E Mails in Vis anzeigen

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Knusterus last edited by Knusterus

      Hallo zusammen
      Ich möchte gern eine Mailanzeige in meine Vis einbauen. Diese Anzeige sollte mir abends wenn ich nach Hause komme ,eine Übersicht der angekommenen Mails zeigen. Das ganze aber ohne die Mails vom Server zu holen. Die Mails sollen dort als ungelesen verbleiben. Als Anzeige würde mir der Betreff und der Absender reichen.
      Das Ganze bräuchte ich für 2 Mailadressen. Wichtig wäre vielleicht noch das alle Mails dargestellt werden, nicht nur die letzte.

      Mail.jpg
      So ungefähr sollte es aussehen. Das ist aus einem anderen Projekt,was ich gern einstellen würde.
      Blau und rot sind die beiden unterschiedlichen Mailadressen die angezeigt werden.

      Ich habe vor Jahren es schon mal mit Node-Red versucht und aktuell mit mail-listener2 aber bei beiden Möglichkeiten werden die Mails vom Server geholt und es ist immer nur die letzte Mail darstellbar.
      Was gibt es für Möglichkeiten ??
      Ich hoffe auf gute Ideen von Euch!!

      Volker

      1 Reply Last reply Reply Quote 0
      • K
        Knusterus last edited by

        Hallo zusammen
        hat den keiner eine gute Idee?
        Ich bin mitlerweile wieder auf dem Stand vor 2 Jahren mit dem Node Red Adapter.
        Dort funktioniert die Ansicht wenigstens und es es sind alle Mails da ,allerdings ohne Absender. Kann man den Absender noch irgendwo mit rein nehmen,den Mail Inhalt brauche ich nicht.
        Eigentlich wie ein Posteingang von der MailAPP.
        Wie bekomme ich jetzt diese Anzeige

        Mail NodeRed.JPG

        in meine VIS. Ich habe es schon mit dem Message Adapter versucht, aber der zeigt nur einen Bildschirmausschnitt an.
        Wie kann ich das lösen das die Mails untereinander angezeigt werden,wenn möglich noch mit Absender??
        Bitte um Hilfe
        Volker

        1 Reply Last reply Reply Quote 0
        • K
          Knusterus last edited by

          Hallo zusammen
          hat den keiner eine Idee??
          Ich komme allein nicht weiter,bitte um Hilfe!!!
          Volker

          A 1 Reply Last reply Reply Quote 0
          • A
            ADS_0x1 @Knusterus last edited by

            @knusterus @knusterus :
            Hallo Volker,

            ich weiß, der Thread ist schon alt, aber leider wird der immer noch bei Google relativ weit oben angezeigt, wenn man nach "ioBroker Visualisierung Emails anzeigen" sucht, daher hier meine Antwort.

            In folgendem Thema hattest du ja auch schon gepostet:
            https://forum.iobroker.net/topic/18501/emails-empfangen

            Ich habe das Skript dort adaptiert und lasse mir die Emails in Jarvis anzeigen (müsste für VIS aber ähnlich funktionieren):

            // 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.EmailsJSON");
            createState("IMAP.Emails");
             
                var MailListener = require("mail-listener2");
                var mailListener = new MailListener({
                  username: "siemens",    // hier Email Adresse eintragen
                  password: "verysecretVeryLong!1eins",	      // hier Passwort eintragen	
                  host: "192.168.1.10",  //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: "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: 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
                });
                  
                const aMailAll = [];
            
                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("Absendeadresse: " + mail.from[0].address);
                    log("Absendername: " + mail.from[0].name);
                    log("Betreff: " + mail.subject);
                    log("Inhalt: " +  mail.text); */ 
                    if (aMailAll.length > 25) {
                        aMailAll.shift();
                    }  
                    let aMailsingle = 
                        {
                            "Datum"     : new Date().toLocaleString(),
                            "Betreff"   : mail.subject
                        }
                    ;
                    /* aMailSingle[0] = {};
                    aMailSingle[0].Datum = mail.date;
                    aMailSingle[0].Betreff = mail.subject; */
                    aMailAll.push(aMailsingle); 
                    setState("IMAP.Email_Eingang",mail.from[0].address);
                    setState("IMAP.EmailText",mail.text);
                    //log(aMailSingle);
                    setState("IMAP.Emails",aMailAll);
                    setState("IMAP.EmailsJSON", JSON.stringify(aMailAll));
            
                });
                // mailListener.on("attachment", function(attachment){console.log(attachment.path);});
            

            Ich lege mir ein Array mit Objekten an, in denen der Timestamp und der Betreff hineingeschrieben wird, das könntest du nach belieben erweitern. Im IMAP.EmailsJSON findest du dann die Einträge.
            Über den Filter searchFilter: [""] kannst du dir definieren, was du abfragen möchtest;
            Ich nutze das, um Status- und Fehlerinformationen meiner SPS im Pferdestall darzustellen, die SPS sendet E-Mails an einen lokalen E-Mailserver und der ioBroker greift über das Skript auf diesen zu.

            Vielleicht hilft das dir ja noch, wenn nicht hoffentlich den Menschen, die (wie ich) über google hier gelandet sind.

            Viele Grüße!

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            817
            Online

            31.6k
            Users

            79.5k
            Topics

            1.3m
            Posts

            how-to
            2
            4
            636
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo