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

  • XueSheng
    antwortet
    Zitat von swiss Beitrag anzeigen
    Im funktionierenden Plugin wird der Absender (wird zur Autenzierung benötigt) wie folgt übergeben:

    Code:
    $smtp->datasend("From: $Absender\n") or return "Absender $Absender (Header-From) abgelehnt $!";
    Diese Zeile fehlt in den anderen beiden Plugins. Desshalb wird die Mail wohl vom Server abgelehnt
    Dieser Eintrag hat nichts mit der Authentifizierung zu tun, sondern nur mit dem Mail Header selbst. Die Ergänzung im Header hatte ich gewünscht, da sonst manche Mail Provider bei Empfang einer Nachricht ohne Absender im Header ein leeres "Von" Feld anzeigen (bei mir gmx.net).

    Ohne diese Zeile geht es grundsätzlich auch!

    Einen Kommentar schreiben:


  • lio123
    antwortet
    ne, das hab ich copypaste, da die variable ja am Anfang mit
    "my $Absender = 'WireGate <meineemailadresse@gmail.com>"
    deklariert wird.

    oder steh ich auf dem Schlauch?

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Du hast aber schon die Variable in dem von mir genannten Codeschnippsel an dein Plugin angepasst? Sonnst klappt es bestimmt nicht

    Einen Kommentar schreiben:


  • lio123
    antwortet
    Hallo und danke,

    ich hab' nun mal beides auch in abwechselnder Kombi probiert-ohne Erfolg.

    Beim funktionierenden Plugin wird der entsprechende Eintrag in das Log geschrieben.
    Beim anderen Plugin, wird nach dem GA-Signal nichts geschrieben.
    Ich habe verschiedene GA schon probiert.

    Irgendwie denke ich, dass es am Trigger liegt?!

    GRüße,
    Lio

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    Hallo Lio,

    Also bei mir läuft das Skript hier einwandfrei:
    Open Automation / Code / [r1923] /wiregate/plugin/generic/email_triggered_by_ga.pl

    allerdings habe ich eine Veränderung durchgeführt:
    Die Zeile $smtp->to(split(',',$email_adress)) habe ich ohne den Split, also $smtp->to($email_adress)

    Warum das so in meinem Skript ist weiß ich leider nicht mehr, ist aber evtl. ein Anhaltspunkt für Dich. Das Skript läuft bei mir sowohl mit GMX als auch mit WEB.DE, besondere Authentifizierungen etc. waren/sind nicht notwendig.
    Cheers,
    Oliver

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Hi Lio

    Das hängt höchst warscheinlich mit dem Mail Protokoll zusammen...

    Im funktionierenden Plugin wird der Absender (wird zur Autenzierung benötigt) wie folgt übergeben:

    Code:
    $smtp->datasend("From: $Absender\n") or return "Absender $Absender (Header-From) abgelehnt $!";
    Diese Zeile fehlt in den anderen beiden Plugins. Desshalb wird die Mail wohl vom Server abgelehnt

    Einen Kommentar schreiben:


  • lio123
    antwortet
    Hallo Zusammen,

    ich versuche mich gerade an der Email-Benachrichtigung.

    nachdem dashier geht: Open Automation / Code / [r1923] /wiregate/plugin/generic/SMTP-eMail.pl

    gehen diese hier mit den gleichen Parametern nicht:Open Automation / Code / [r1923] /wiregate/plugin/generic/email_triggered_by_ga.pl

    und
    Open Automation / Code / [r1923] /wiregate/plugin/generic/email_triggered_by_ga_once.pl

    ??

    Danke und Grüße,
    Lio

    Einen Kommentar schreiben:


  • merkelnando
    antwortet
    Danke Makki. Ich wüsste nicht warum meine IP blacklisted sein sollte.

    Ich lass es erstmal sein. Ich wollte die Email als Trigger für die Steuerung meines Visu-Androiden mit Tasker verwenden. Dafür gibt es allerdings noch die Möglichkeit per Autoremote mit http-Aufruf.

    Mal schauen, ob das was wird.

    by
    Eiko

    Einen Kommentar schreiben:


  • makki
    antwortet
    Jep, habe ich bekommen aber eben erst ins Testsystem eingebaut

    Anyway, geht auf Anhieb wunderbar!
    Also bleiben die Punkte, warum ich sowas niemals-nicht gerne als "Feature" verkaufen würde (Supportaufwand=?!):
    ich vermute deine Client-IP steht auf so vielen Blacklisten, das keiner Lust hat das anzunehmen..
    Für weitere Diagnose wäre der lokale eMail-Client (Thunderbird o.ä.) hilfreicher, wenns damit geht, was die eMail in den Headern sagt wenn sie denn angekommen ist.
    Das WG-Plugin tut da nichts anderes, ganz banal..

    Makki

    Einen Kommentar schreiben:


  • merkelnando
    antwortet
    @makki:

    Hattest Du meine Mail vom 28.01. erhalten?

    Eiko

    Einen Kommentar schreiben:


  • makki
    antwortet
    Schick mir doch bitte mal deine Zugangsdaten an mm ät elabnet.de - ich verstehs ned, das geht hier wunderbar.

    Und keine Angst,ich hab genug ungelesene, eigene eMails und kann mir bei Bedarf tausende Adressen anlegen, bevor ich dazukomme deine zu lesen

    Makki

    Einen Kommentar schreiben:


  • merkelnando
    antwortet
    Hallo,

    hier mal das Testplugin mit zykl. Senden. Ich habe nur meine Zugangsdaten und das Ausführungsintervall geändert.

    Code:
    # Demo-Plugin zum eMail-Versand - einfache Version mit Text-only
    # das macht nichts sinnvolles, sendet jede Stunde ein eMail,
    # soll nur als Vorlage dienen
    # - mit SSL (alte Version ohne SSL sieh SVN rev 622)
    # - benoetigt Paket libnet-smtp-ssl-perl
    
    # Aufbau moeglichst so, dass man unterhalb der Definitionen nichts aendern muss!
    
    my $hostname = `hostname`;
    
    ##################
    ### DEFINITION ###
    ##################
    
    my $Empfaenger = '*****@gmail.com'; # Anpassen, mehrere mit ,
    #my $Absender = 'WireGate <*****@gmail.com>'; # unbedingt anpassen, die Absenderadresse sollte gültig sein um Probleme zu vermeiden
    my $Absender = 'WireGate <*****@gmx.de>'; # unbedingt anpassen, die Absenderadresse sollte gültig sein um Probleme zu vermeiden
    my $Betreff = "eMail von $hostname";
    my $text = "email-Body - langer Text mit sinnvollem Inhalt für den Spamfilter und so";
    my $username = '****@gmx.de'; #Anpassen! Username fuer SMTP-Server
    my $password = "****"; #Anpassen! Passwort fuer SMTP-Server
    my $mailserver='mail.gmx.net:465'; # SMTP-Relay mit SSL: das muss natuerlich angepasst werden!
    #my $mailserver='smtp.gmail.com:465'; # SMTP-Relay mit SSL: das muss natuerlich angepasst werden!
    # oder z.B. smtp.gmail.com:465 fuer Gmail; 
    $plugin_info{$plugname.'_cycle'} = 300;
    
    #######################
    ### ENDE DEFINITION ###
    #######################
    
    use Net::SMTP::SSL;
    use MIME::Base64;
    
    my $smtp = Net::SMTP::SSL->new($mailserver, Timeout => 10) or return "Fehler beim verbinden zu $mailserver $!; $@";
    $smtp->auth($username,$password) or return "SASL Auth failed $!;$@"; # try SASL
    $smtp->status() < 5 or return "Auth failed: $!; $@ ". $smtp->status();
    $smtp->mail($Absender) or return "Absender $Absender abgelehnt $!";
    $smtp->to(split(',',$Empfaenger)) or return "Empfaenger $Empfaenger abgelehnt $!"; 
    $smtp->data() or return "Data failed $!";
    $smtp->datasend("To: $Empfaenger\n") or return "Empfanger $Empfaenger (Header-To) abgelehnt $!";
    $smtp->datasend("Subject: $Betreff\n") or return "Subject $Betreff abgelehnt $!";
    $smtp->datasend("\n") or return "Data failed $!";
    $smtp->datasend("$text\n") or return "Data failed $!";
    $smtp->dataend() or return "Data failed $!";
    $smtp->quit or return "Quit failed $!";
    
    #return;	# keine Logausgabe
    return "eMail von $Absender an $Empfaenger Betreff $Betreff gesendet: $text";
    Das o.g. Plugin läuft wie gesagt mit zwei GMail-Adressen. Bei GMX als Absender kam unter "Rückgabewert" bisher die Meldung: "Fehler beim verbinden zu mail.gmx.net:465 ;". Ich schreibe bisher, da es gerade nachdem ich das Plugin im Webmin-Editor zum Kopieren des Codes geöffnet und wieder gespeichert habe, funktionierte und ich eine Mail von GMX bekommen habe. Wie gesagt, keine Änderung am Code, nur Öffnen, Kopieren und Speichern. Bei einer Mail blieb es allerdings. Nach dem erneuten Aufruf nach Ablauf der 300s kam wieder "Fehler beim verbinden zu mail.gmx.net:465 ;". Nach 15min kam dann wieder eine Mail.

    Außerdem versuche ich wie gesagt das email_triggered_by_ga.pl aus dem SVN zum Laufen zu bringen. Der Code dazu:

    Code:
    #Plugin zum versenden von Emails beim Empfang eines definierten Werts auf einer definierten GA
    #Mehrere Mails an einer GA sind derzeit nicht möglich!
    # - benoetigt Paket libnet-smtp-ssl-perl
    # Aufbau moeglichst so, dass man unterhalb der Definitionen nichts aendern muss!
    
    my ($sec,$min,$hour,$day,$month,$yr19,@rest) = localtime(time);
    my $hostname = `hostname`;
    
    ##################
    ### DEFINITION ###
    ##################
    
    my $Absender = 'WireGate <***@googlemail.com>'; # unbedingt anpassen, die Absenderadresse sollte gültig sein um Probleme zu vermeiden
    my $username = '***@googlemail.com'; #Anpassen! Username fuer SMTP-Server
    my $password = '***'; #Anpassen! Passwort fuer SMTP-Server
    #my $mailserver= 'mail.gmx.net:465'; # SMTP-Relay mit SSL: das muss natuerlich angepasst werden!
    my $mailserver='smtp.googlemail.com:465'; # SMTP-Relay mit SSL: das muss natuerlich angepasst werden!
    
    $plugin_info{$plugname.'_cycle'} = 3600;
    
    my @actionGA;
    push @actionGA, { name => "Puffer", email_adress => '***@googlemail.com', email_subject => "Puffer leer", email_text => "Puffer war um $hour:$min leer.", trigger_ga => "0/7/3", value => 1 };
    #push @actionGA, { name => "test", email_adress => 'email@gmx.de', email_subject => "test2", email_text => "Test 2", trigger_ga => "1/1/1", value => 0 };
    #push @actionGA, { name => "test", email_adress => 'email@gmx.de' ". $smtp->status();
    
    #######################
    ### ENDE DEFINITION ###
    #######################
    
    use Net::SMTP::SSL;
    use MIME::Base64;
    
    foreach my $element (@actionGA) {
    	my $email_adress = $element->{email_adress};
    	my $email_subject = $element->{email_subject};
    	my $email_text = $element->{email_text};
    	my $trigger_ga = $element->{trigger_ga};
    	my $value = $element->{value};
    
    	$plugin_subscribe{$trigger_ga}{$plugname} = 1;
    
    	if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $trigger_ga && defined $msg{'value'} && $msg{'value'} == "$value" ) {		
    	my $smtp = Net::SMTP::SSL->new($mailserver, Timeout => 10) or return "Fehler beim verbinden zu $mailserver $!; $@";
    	$smtp->auth($username,$password) or return "SASL Auth failed $!;$@"; # try SASL
    	$smtp->status() < 5 or return "Auth failed: $!; $@ ". $smtp->status();
    	$smtp->mail($Absender) or return "Absender $Absender abgelehnt $!";
    	$smtp->to(split(',',$email_adress)) or return "Empfaenger $email_adress abgelehnt $!"; 
    	$smtp->data() or return "Data failed $!";
    	$smtp->datasend("To: $email_adress\n") or return "Empfanger $email_adress (Header-To) abgelehnt $!";
    	$smtp->datasend("Subject: $email_subject\n") or return "Subject $email_subject abgelehnt $!";
    	$smtp->datasend("\n") or return "Data failed $!";
    	$smtp->datasend("$email_text\n") or return "Data failed $!";
    	$smtp->dataend() or return "Data failed $!";
    	$smtp->quit or return "Quit failed $!";
    	
    	return;	# keine Logausgabe
    	return "eMail von $Absender an $email_adress\ Betreff $email_subject gesendet: $email_text";	
    	
    	}	
    }
    Bei dem funktioniert es auch mit GMail -> GMail nicht. Eine Meldung unter Rückgabewert gibt es nicht.

    Die 0/7/3 steht so

    Code:
    [0/7/3]
    DPTId=1
    DPTSubId=1.001
    DPT_SubTypeName=DPT_Switch
    name=Puffer_leer
    in der eibga.conf.

    Mir würde das Senden von GMail -> GMail ausreichen, wenn es per GA ausgelöst wird.

    By
    Eiko

    Einen Kommentar schreiben:


  • makki
    antwortet
    @Netfritz: möglich ist alles (wir können auch zum Mars fliegen), einfach aber nicht.
    Also keine Frage, das geht irgendwie, ich denke aber das es für diesen Fall einfachere Lösungen gibt!
    -> Problem/Lösungsfrage beschreiben (neuer Thread)

    @Eiko:
    Das restarten des eibd ist eine andere Nummer, so falsch (ein Bug in der config des monit) - aber vergiss das bei deinem Problem bitte.
    Sollte einfach sein, ich behaupte SMTP in jedem Bit auswendig zu kennen, ich brauch dazu nur auch alle Details, also komplettes Plugin etc.pp.
    Weil sorry, bei mir gehts mit gmail und gmx 100% alle Minuten und das sagst du ja auch selber, also muss ich den Unterschied sehen..

    Makki

    Einen Kommentar schreiben:


  • merkelnando
    antwortet
    Ich habe noch mal getestet. Das Plugin von Makki bei dem zyklisch gesendet wird, funktioniert mit zwei GMail-Adressen. Allerdings kommt es zu den angesprochenen Fehlermeldungen:

    Code:
    Jan 26 21:29:29 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:29:29 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    Jan 26 21:36:28 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:36:28 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    Jan 26 21:43:29 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:43:29 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    Jan 26 21:50:29 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:50:29 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    Jan 26 21:57:29 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:57:29 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    In diesem Fall habe ich den Plugin-Aufruf auf 300s gestellt. Wie man sieht kommt die Fehlermeldung jede 7. Minute. Die Emails kommen ebenfalls im sieben Minuten Intervall an.

    Wenn ich jetzt das Plugin "Email-triggered-by-GA" verwende, passiert folgendes:

    Trigger-GA:
    Code:
    2013-01-26 21:14:54.897,A_GroupValue_Write,1.1.255,1/1/27,01,1,DPT_Switch,1.001,0,low,7,T_DATA_XXX_REQ,0
    2013-01-26 21:22:43.321,A_GroupValue_Write,1.1.255,1/1/27,01,1,DPT_Switch,1.001,0,low,7,T_DATA_XXX_REQ,0
    Messages-Log:
    Code:
    Jan 26 21:16:31 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:16:31 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    Jan 26 21:24:28 wiregate268 /usr/sbin/wiregated.pl: INFO - *** reading config
    Jan 26 21:24:28 wiregate268 /usr/sbin/wiregated.pl: INFO - connected to eibd local:/tmp/eib
    In dem Fall ist das Plugin jeweils ins Time-Out gelaufen und es wurde nichts gesendet. Auffällig ist auch hier wieder die Verzögerung von fast zwei Minuten.

    By
    Eiko

    Einen Kommentar schreiben:


  • merkelnando
    antwortet
    @makki:

    Ich glaub ich versteh Dich nicht ganz. Wenn es nicht geht, kann ich keinen EMail-Header posten, denn dann gibt es ja keinen. Und bei der genannten WG-Fehlermeldung ändert sich nur die Zeit.

    By
    Eiko

    Einen Kommentar schreiben:

Lädt...
X