[Gelöst] Exim4 statt DebianMail

Begonnen von jbadlat, 29 März 2018, 11:46:36

Vorheriges Thema - Nächstes Thema

jbadlat

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 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
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266

dev0

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

Otto123

#2
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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

dev0

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.

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jbadlat

#5
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 ;-)
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266

Otto123

#6
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 und rufe die bash mit "bash script.sh" auf. Das ist nicht blockierend! Dein Aufruf mit system blockiert.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jbadlat


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.
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266

Otto123

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"
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jbadlat

Jo, der Befehl geht. Und nun noch im notify ....... ich teste weiter

Danke, Jörg
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

fiedel

#11
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
wird noch ein Konfigurationsproblem beschrieben. Leider konnte ich die Anleitung dahingehend noch nicht ändern. Asche auf...  ;)

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

jbadlat

Danke an Alle und besonders fiedel.

Mit diesem Coding klappt es nun!!!!

Danke, Jörg
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jbadlat

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
FHEM 5.8, FB6490 (Cable), Raspi 2, Raspi 3, Homematic, MQTT, ESP8266