Hallo zusammen,
ich bin nicht ganz unbedarft in Fhem und Linux, komme aber irgenwie nicht hinter mein Problem ;-)
Ich bin nun auf EXIM umgestiegen und habe das ToDo: https://wiki.fhem.de/w/images/f/f6/Anleitung_Exim4_Debian_GMX.pdf (https://wiki.fhem.de/w/images/f/f6/Anleitung_Exim4_Debian_GMX.pdf) genutzt.
Soweit so gut und der Test auf der Commandozeile mit echo "Hallo ich bin eine Statusmail" | mail -s "Ich bin der Betreff" meinName@freenet.de ist erfolgreich.
Jetzt kommt der Versand mit einem notify aus der fhem.cfg:
define NichtErreichbarperEmail notify Strom:absent.* {exmail('meinName@freenet.de','Einfahrt Licht','In der Garage ist der Schalter per WLAN nicht erreichbar')} läuft auf Authentifizierungsfehler? :-((((
Zugehörige Sub:
sub exmail ($$$) {
my ($rcpt, $subject, $text) = @_;
system("echo \"$text\" | /usr/bin/mail -s \"$subject\" \"$rcpt\"");
}
2018-03-29 06:25:10 1f1P7d-00015D-Oo <= meinName@freenet.de U=root P=local S=1102
2018-03-29 06:25:11 1f1P7d-00015D-Oo IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo mx.freenet.de [2001:748:100:40::8:111] Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo mx.freenet.de [2001:748:100:40::8:112] Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo mx.freenet.de [2001:748:100:40::8:110] Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo mx.freenet.de [2001:748:100:40::8:113] Address family not supported by protocol
2018-03-29 06:25:14 1f1P7d-00015D-Oo ** root@raspberrypi-fhem R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after RCPT TO:<root@raspberrypi-fhem>: host mx.freenet.de [195.4.92.212]: 550 unrouteable address
2018-03-29 06:25:16 1f1P7j-000173-HT <= <> R=1f1P7d-00015D-Oo U=Debian-exim P=local S=2060
2018-03-29 06:25:17 1f1P7d-00015D-Oo Completed
2018-03-29 06:25:20 1f1P7j-000173-HT ** meinName@freenet.de R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM:<> SIZE=3124: host mx.freenet.de [195.4.92.212]: 553 [color=red]Incorrect authentication data[/color].
2018-03-29 06:25:20 1f1P7j-000173-HT Frozen (delivery error message)
2018-03-29 11:18:22 IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x <= meinName@freenet.de U=pi P=local S=443
2018-03-29 11:21:21 1f1TkG-0002AM-4x IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x mx.freenet.de [2001:748:100:40::8:113] Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x mx.freenet.de [2001:748:100:40::8:111] Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x mx.freenet.de [2001:748:100:40::8:112] Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 11:21:21 1f1TkG-0002AM-4x mx.freenet.de [2001:748:100:40::8:110] Address family not supported by protocol
2018-03-29 11:21:23 1f1TkG-0002AM-4x => meinName@freenet.de R=smarthost T=remote_smtp_smarthost H=mx.freenet.de [195.4.92.212] X=TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128 DN="C=DE,O=freenet.de GmbH,ST=Hamburg,L=Hamburg,CN=*.freenet.de"
2018-03-29 11:21:23 1f1TkG-0002AM-4x Completed
Also 6:25 Uhr war die automatische Mail aus FHEM heraus und 11:21 Uhr aus putty auf der Commandozeile.
Nun sehe ich vielleicht den Wald vor lauter Bäumen nicht. Sorry.
Aber über eine Hilfestellung (Schubs!) würde ich mich sehr freuen. Dankeschön.
Jörg
ZitatSMTP error from remote mail server after RCPT TO:<root@raspberrypi-fhem>: host mx.freenet.de [195.4.92.212]: 550 unrouteable address
Es wird die Zieladresse "root@raspberrypi-fhem" übergeben, die natürlich nicht bekannt ist. .pm Datei mit der Sub exmail() noch nicht neu geladen? Falschen Parameter übergeben?
Btw: Deine IPv6 config ist nicht ok, aber das weiß Du sicherlich selbst...
Zitat2018-03-29 06:25:11 1f1P7d-00015D-Oo IPv6 socket creation failed: Address family not supported by protocol
2018-03-29 06:25:11 1f1P7d-00015D-Oo mx.freenet.de [2001:748:100:40::8:111] Address family not supported by protocol
Hi,
ergänzend zu dev0 seiner Anmerkung
Zitat aus Deiner Anleitung:
ZitatProblem - senden von Mails aus FHEM heraus funktioniert nicht, trotz richtiger Einrichtung:
Aus Funktionen wie z.B. ,,Notify" muss die Mailadresse mit ,,@@" geschrieben werden!
Das liegt aus meiner Sicht in der Übergabe der Parameter in der Sub mit "" Aber ehrlich gesagt ist das ein ziemlich undurchsichtiges Gewurstel: Von FHEM nach Perl Sub nach system nach ....
Was war da an debianmail schlecht? :o ;D
Gruß Otto
ZitatWas war da an debianmail schlecht?
Auch wenn ich nicht direkt angesprochen bin: ;)
_Ich_ finde es wesentlich einfacher den MTA meines Systems zu konfigurieren (der ja vielleicht auch noch andere Mails verschicken soll) und dann einfach per mail oder mailx die Mails rauszujagen.... Ob man einen MTA ordentlich konfigurieren kann hängt natürlich von den Vorkenntnissen ab.
Zitat von: dev0 am 29 März 2018, 12:37:12
Ob man einen MTA ordentlich konfigurieren kann hängt natürlich von den Vorkenntnissen ab.
Genau! ;D Man hat eben nicht nur einen MailClient sondern einen MTA.
Und da hast Du im Prinzip schon Recht, die Account Parameter in der sub eintragen ist schon Grütze ... Aber naja ich habe einen dedizierten Service Mail Account.
Gruß Otto
Danke für den schnellen Support.
Parameter werden wie beschrieben übergeben. Das sollte passen.
Aber was ist mit .pm neu geladen gemeint?!? "@@" hatte ich glaube ich schon probiert. Werde es aber auch nochmal explizit ausprobieren.
Danke, Jörg
P.S.: Debianmail war und ist ok. Nur so bin ich etwas flexibler und ich kannte dies schon von anderen Installationen ;-)
Hallo Jörg,
reload 99_myUtils.pm
Macht aber der Editor im FHEM normalerweise beim speichern
Aus der Doku:
ZitatAchtung: Folgende Vorgehensweise ist abgekündigt, funktioniert bis featurelevel 5.6 und wird in einem zukünftigen Release von FHEM nicht mehr unterstützt. Wenn keine der oben genannten Variablen ($NAME/$EVENT/usw.) in der Anweisung gefunden wird, werden Platzhalter ersetzt.
Das Zeichen % wird ersetzt mit dem empfangenen Ereignis (Event), z.B. mit on oder off oder measured-temp: 21.7 (Celsius).
Das Zeichen @ wird ersetzt durch den Gerätenamen.
Um % oder @ im Text selbst benutzen zu können, müssen sie verdoppelt werden (%% oder @@).
Anstelle von % und @, können die Parameter %EVENT (funktionsgleich mit %), %NAME (funktionsgleich mit @) und %TYPE (enthält den Typ des Gerätes, z.B. FHT) benutzt werden. Die von Leerzeichen unterbrochenen Teile eines Ereignisses (Event) sind verfügbar als %EVTPART0, %EVTPART1, usw. Ein einzeln stehendes % verliert seine oben beschriebene Bedeutung, falls auch nur einer dieser Parameter in der Definition auftaucht.
Ich gebe die Mail Adressen immer mit \@ innerhalb von "" an -> "name\@domain.de" Aber bei Deiner Übergabe sehe ich nicht ganz durch welches ' sich mit welchem " bekämpft und wer am Ende gewinnt.
Ich mache dann an der Stelle immer eine bash Datei und übergebe dort Parameter (https://heinz-otto.blogspot.de/2018/02/in-fhem-externe-programme-aufrufen.html) und rufe die bash mit "bash script.sh" auf. Das ist nicht blockierend! Dein Aufruf mit system blockiert.
Gruß Otto
2018-03-29 06:25:16 Received from <> R=1f1P7d-00015D-Oo U=Debian-exim P=local S=2060
2018-03-29 06:25:20 meinName@freenet.de R=smarthost T=remote_smtp_smarthost: SMTP error from remote mail server after MAIL FROM:<> SIZE=3124: host mx.freenet.de [195.4.92.212]: 553 Incorrect authentication data.
*** Frozen (delivery error message)
Im Msglog der Mail ist der FROM:<> sogar leer?
Ich verstehe es gerade nicht.
Dein Test sollte aus der FHEM Kommandozeile auch so gehen:
"echo 'Hallo ich bin eine Statusmail' | mail -s 'Ich bin der Betreff' meinName\@freenet.de"
Jo, der Befehl geht. Und nun noch im notify ....... ich teste weiter
Danke, Jörg
Was mir hier auffällt -> system("echo \"$text\" | /usr/bin/mail -s \"$subject\" \"$rcpt\"");
Da wird jetzt der Empfänger in extra "" gepackt.
Aber ehrlich, das Ding ist ziemlich unvorhersehbar, da musst Du Dich durchprobieren, oder es anders machen.
Gruß Otto
Hier mal meine "exim4- Sub" mit Aufrufbeispiel:
# Mailfunktion exmail, senden per "Exim4" (Mailer mit Spool):
# Aufruf aus Notify mittels { exmail('testmail@gmx.de','Subject','text 123') }
sub exmail {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
system("echo \"$text\" | /usr/bin/mail -s \"$subject\" \"$rcpt\"");
}
Hier (https://forum.fhem.de/index.php/topic,28612.msg261819.html#msg261819) wird noch ein Konfigurationsproblem beschrieben. Leider konnte ich die Anleitung dahingehend noch nicht ändern. Asche auf... ;)
Danke an Alle und besonders fiedel.
Mit diesem Coding klappt es nun!!!!
Danke, Jörg
Hallo Jörg,
kannst Du noch verraten woran es wirklich gelegen hat?
Die Sub und deren Aufruf, Funktion und Resultat aus deinem initialen Post und dem Post von fiedel ist aus meiner Sicht absolut identisch.
Ich habe es gerade getestet!
Test Code in der 99_myUtils.pm
sub exmail1 {
my $rcpt = $_[0];
my $subject = $_[1];
my $text = $_[2];
# system("echo \"$text\" | /usr/bin/mail -s \"$subject\" \"$rcpt\"");
Log 1, "$rcpt $subject $text";
}
sub exmail2 ($$$) {
my ($rcpt, $subject, $text) = @_;
# system("echo \"$text\" | /usr/bin/mail -s \"$subject\" \"$rcpt\"");
Log 1, "$rcpt $subject $text";
}
Aufruf in der Kommandozeile
{ exmail1('testmail@gmx.de','Subject','text 123') }
{ exmail2('testmail@gmx.de','Subject','text 123') }
Ergebnis im Log
2018.03.31 14:36:03 1: testmail@gmx.de Subject text 123
2018.03.31 14:36:13 1: testmail@gmx.de Subject text 123
Gruß Otto
Hallo,
nachdem ist die sub von fiedel genommen habe, hat es geklappt.
Was ich allerdings vorher noch gemacht habe war in /etc/email-addresses zusätzlich raspberrypi: meinName@freenet.de eingetragen.
Vielleicht war es auch die Kombi aus beidem.
Hilfreich?!?
Gruß Jörg
Hallo Jörg,
naja für mich ist das eher ein philosophisches "Problem" ;D Ich verstehe gerne die unterschiedlichen Codevarianten.
Du musst vor allem beim nächsten mal wissen was warum und wann geht.
Für mich steht fest: an den Variationen im Code wird es nicht gelegen haben.
Gruß Otto
Hallo Otto,
ich verstehe den Unmut. Denn nur wenn es nachzuvollziehen ist, so kann man als User für sich und für zukünftige Nutzer daraus einen Mehrwert ziehen.
Allerdings kann ich in Zukunft auch hier im Forum tätig sein, wenn jemand auf ähnliche Probleme stößt. Da kann ich ggf. mit meiner Konfiguration helfen.
Ich habe ansonsten aber nichts zusätzlich gemacht. Automatisiert startet mein Raspberry in der Nacht einmal durch. Aber das wird es bestimmt nicht gewesen sein ,-)
Danke für den Support.