Ankündigung

Einklappen
Keine Ankündigung bisher.

suche E-Mail Plugin

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] suche E-Mail Plugin

    Hallo, ich wollte mir gern bei bestimmten Dingen eiene Email schreiben lassen, (Alarmanlage löst aus, etc.)

    Was zum Mails verschicken hab ich hier schon gefunden, was mir fehlt is das ausführen wenn eine GA nen bestimmten Wert annimmt.

    Kann mir da jemand helfen?

    #2
    Passt fast... Makki schrieb einmal:

    Wir haben fürs nächste Update übrigens auf der Liste den lokalen (vorhandenen) exim so umzustellen, das er auf "Orginalen" über unser Relay mit gescheiter Authentisierung&TLS an alle versenden kann; das vereinfacht die Sache wohl drastisch.. (aktuell kann das WG über den lokalen MTA nur Support-eMails an uns schicken)

    Ist dem schon so Makki? Wenn ja, gehts bei mir irgendwie nicht...
    Derzeit zwischen Kistenauspacken und Garten anlegen.
    Baublog im Profil.

    Kommentar


      #3
      Ich hab grad mal eine generische Vorlage zum eMail-Versand via SMTP mit Authentisierung über den Lieblings-Provider ins SVN geschoben..
      Das ist bewusst nur ein sinnloses, nackiges Gerüst, der Rest dürfte aber mit gegeben Beispielen lösen lassen (wie man auf eine GA reagiert oder Werte vergleicht); oder es braucht eben mehr Details dazu, was es tun soll..

      Makki
      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
      -> Bitte KEINE PNs!

      Kommentar


        #4
        Wie gesagt es geht drum auf einer bestimmten GA zu "horchen" (1 bit) und wenn ne 1 kommt ne Mail zu verschicken.

        Hab den Code dazu aus nem anderen Plugin übernommen, aber es tat sich einfach nix, bis ich mal im eib.log geschaut hab, DTP war natürlich nich angegeben ...

        Dann bastel ich mal bischen was und schau das ichs die Tage mal ins SVN schieb.

        Danke für den Email-Code Makki, aber wäre es nicht einfacher einfach Sendmail zu nehmen, aber ich befürchte da spricht wieder irgendwas elementares dagegen

        Inzwischen hab ich das hier:
        Code:
        my $hostname = `hostname`;
        
        ##################
        ### DEFINITION ###
        ##################
        
        my $Empfaenger = '**@gmx.de'; # Anpassen, mehrere mit ,
        
        my $Absender = 'WireGate <**@googlemail.com>'; # unbedingt anpassen, die Absenderadresse sollte gültig sein um Probleme zu vermeiden
        my $Betreff = "eMail von $hostname";
        my $text = "Test";
        my $username = '**@googlemail.com'; #Anpassen! Username fuer SMTP-Server
        my $password = "**"; #Anpassen! Passwort fuer SMTP-Server
        my $mailserver= 'smtp.gmail.com'; # SMTP-Relay: das muss natuerlich angepasst werden!
        
        
        
        use Net::SMTP;
        use MIME::Base64;
        
        my $trigger_ga = '8/1/1';  # Gruppenadresse Sollwert Auf = 1 / Ab = 0
        
        
        # Eigenen Aufruf-Zyklus auf 1x täglich setzen, hört ja auf GA
        $plugin_info{$plugname.'_cycle'} = 3600;
        
        
        # Plugin an Gruppenadresse "anmelden"
        $plugin_subscribe{$trigger_ga}{$plugname} = 1;
        
        if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $trigger_ga && defined $msg{'value'} && $msg{'value'} == "1" ) {
        
        
        
        
            my $smtp = Net::SMTP->new($mailserver, Timeout => 5, Debug =>1) or return "Fehler beim verbinden zu $mailserver $!";
            my $ret .= ' auth:'. $smtp->auth($username,$password);
            $smtp->status() < 5
            or do {
                    #        Die smtp->auth Methode schlaegt fehl, also dann so
                    $smtp->datasend("AUTH LOGIN\n") or return 'auth login problem';
                    $smtp->response();
                    $smtp->datasend(encode_base64( $username ) ) or return "username $username cannot be encoded or wrong";
                    $smtp->response();
                    $smtp->datasend(encode_base64( $password ) ) or return "password $password cannot be encoded or wrong";
                    $smtp->response();
            };
            $ret .= 'status:' . $smtp->status();
            $ret .= ' send:'. $smtp->mail($Absender);
            $ret .= ' rcpt:'. $smtp->to($Empfaenger); 
            $ret .= $smtp->data();
            $ret .= $smtp->datasend("To: $Empfaenger\n"); # Empfänger (Header)
            $ret .= $smtp->datasend("Subject: $Betreff\n"); # Betreff
            $ret .= $smtp->datasend("\n");
            $ret .= $smtp->datasend("$text\n");
            $ret .= $smtp->dataend();
            $ret .= $smtp->quit;
            
            # FIXME: check if we succeeded
            return;   
             
               
        }
        Nur wenn ich ne 1 auf die 8/1/1 schick wird zwar der Teil in der IF-Schleife ausgeführt (hab ich mir return und print überprüft), aber es wird keine Mail verschickt, und es gibt auch keine Fehlermeldung.

        Mach ich was falsch?

        Kommentar


          #5
          sendmail ist - jedenfalls im eigentlichen Sinne - ein MUA (mail transport agent). du brauchst einen MUC (mail user client). Das macht die Perl lib.
          Derzeit zwischen Kistenauspacken und Garten anlegen.
          Baublog im Profil.

          Kommentar


            #6
            Ich hab da jetzt mal weiter dran getestet, und iwie scheint der Code nicht zu funktionieren Makki, frag mich nur warum.

            Wenn ich das Plugin inner Konsole ausführ bekomm ich folgendes:

            ...
            Keine Ahnung was da schief läuft, Passwort usw hab ich jetzt zehnmal gecheckt, und auch mit gmail probiert, passieren tut nix außer das oben gepostete.

            Kommentar


              #7
              Hallo Daviid,

              kannst Du per Telnet "händisch" eine mail versenden?

              MfG
              Christian

              Kommentar


                #8
                händisch TLS stelle ich mir jetzt nich sooo einfach vor
                aber irgendwo da liegt der Hund begraben.
                Derzeit zwischen Kistenauspacken und Garten anlegen.
                Baublog im Profil.

                Kommentar


                  #9
                  Hi

                  Ich habe gerade noch mal gesucht, hatte mal ein ähnliches Problem bei einem Kunden.

                  Unter "händisch" meinte ich einen kurzen Test wie hier beschrieben.
                  Kein "High Level" Test...

                  MfG
                  Christian

                  Kommentar


                    #10
                    Also ich kam problemlos in pop3 und smtp rein, was zu versenden war mir dann aber zu blöd.
                    Also über telnet von der Shell vom WG aus.

                    Kommentar


                      #11
                      gmail nimmt nur TLS oder SSL an..
                      -> Ich hab gestern das Plugin auf SSL geändert, da das eh alle unterstützen und das Fehlerhandling erheblich besser, so das es auch sagt, was schiefgeht:
                      SMTP-eMail mit SSL (benötigt Paket "libnet-smtp-ssl-perl")

                      Alte Version mit Plaintext-Auth ist ja hier archiviert..

                      Makki
                      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                      -> Bitte KEINE PNs!

                      Kommentar


                        #12
                        Hab das mal eben probiert.
                        Nachdem ich erstmal gefühlte 10 Extensions nachinstalliert habe , erhalt ich jetzt folgende Fehlermeldung: "SASL Auth failed ;".
                        Aber user und PW stimmen zu 100%, das hab ich wirklich 10mal kontrolliert, entweder mach ich was falsch oder ich bin zu blöd dazu ...

                        Übrigens hab ich gmail und gmx probiert.

                        Hat da noch jemand Ideen?

                        Kommentar


                          #13
                          Hmm, ich hab auch sowohl mit gmail als auch mit GMX erfolgreich getestet.. evtl. komische Zeichen im Passwort oder sowas? mach um das passwort doch mal ' statt "

                          libauthen-sasl-perl benötigt man noch zusätzlich, die war bei mir wohl durch die Tests schon drauf, korrigiere ich im Plugin-Kommentar..

                          Makki
                          EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                          -> Bitte KEINE PNs!

                          Kommentar


                            #14
                            Jap, im PW sind Sonderzeichen, die ' hams gebracht
                            Da wär ich im Leben nich drauf gekommen ...

                            Vielen Dank
                            Gruß
                            David

                            Kommentar


                              #15
                              So, hab das ganze inzwischen weiterentwickelt, und das Ergebnis liegt hier im SVN.

                              Wenn noch jemand ne Idee hat wie man mehrere Empfänger auf eine GA ansetzen kann, nur her damit.

                              Kommentar

                              Lädt...
                              X