[gelöst] Email Konfiguration: Bekomme immer eine Fehlermeldung beim Test

Begonnen von Burny4600, 15 Juni 2016, 13:40:45

Vorheriges Thema - Nächstes Thema

Burny4600

Bekomme immer eine Fehlermeldung beim Versenden der Testmail.

pi@ccs-ht-rasp01:~ $ sendEmail -f 'empfaenger@domain.at' -t 'sender@domain.at' -u 'Betreffzeile' -m 'Test-Nachricht'  -s '192.xxx.xxx.xxx:4587' -xu 'konto#domain.at ' -xp ' passwort' -o tls=no
Jun 15 13:10:20 ccs-ht-rasp01 sendEmail[6106]: ERROR => ERROR => SMTP-AUTH: Authentication to 192.xxx.xxx.xxx:4587 failed.
pi@ccs-ht-rasp01:~ $


Was muss ich noch ergänzen um die Authentifizierung zu aktivieren?
99_myConfig.pm

sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "sender\@domain.at";
my $konto = "sender#domain.at";
my $passwrd = "passwort";
my $provider = "192.xxx.xxx.xxx:4587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";;

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

MadMax-FHEM

Hallo,

stimmen username, passwort und Port des SMTP-Servers über den du senden willst??

Also wenn du dich mit einem Mailprogramm/Webmail etc. verbindest und eine Mail schickst nimmst du die gleichen "Werte" und funktioniert es damit?

Du gibst auch tls=no an, nicht dass die "Gegenstelle" (also SMTP-Server) tls/ssl "haben will/muss"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Burny4600

Zitatstimmen username, passwort und Port des SMTP-Servers
Die Angaben stimmen.
Ist eine lokale Mail Server mit dem Port 4587.

Zitattls/ssl
Ist keine notwendig. Wird bei allen anderen lokalen Usern auch nicht benötigt.

Richte ich das als gleiches Konto bei Outlook ein funktioniert der Versand einer Email.
Gleiche IP, gleicher Port, Konto unterscheidet sich nur nur durch die # anstatt des @.
Definition für SMTP: Postausgangsserver verlangt eine Authentifizierung.

Irgendwie muss doch die Authentifizierung einzurichten sein unter Debian.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

MadMax-FHEM

Was meinst du mit "Authentifizierung" einrichten?

Der Aufruf sendEmail macht das mit den übergebenen "Credentials", also username/passwort auf dem angegebenen Port unter angesprochener IP...

Aber die Authentifizierung schlägt fehl...

Sieht erst mal nach user/passwort Fehler (bzw. evtl. auch falscher Port aus)...

Was meinst du unterscheiden sich "nur" durch # bzw. @?

Ich meinte schon, wenn du mit exakt den selben Daten einen Login/Mailversand über einen anderen Weg (Mailprogramm/Webmail/...) versuchst, ob das gut geht...
...und nicht mit "so ähnlichen Daten"...

Weil wenn das mit den exakt selben Daten (user passwort...) über den anderen Weg auch NICHT geht, dann liegt es wohl an den Daten.

Wenn es damit dann geht, liegt das Problem woanders...

-> Fehlersuche eingrenzen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Burny4600

Folgende Einstellungen funktionieren mit Outlook:

Emailadrresse: test@ccs-media.local
Benutzerkennung: test#ccs-media.local
Passwort: test
SMTP Port: 4597
POP Port: 4110

Mache ich den Test mit  -o tls=auto sieht der Fehler so aus:
ZitatsendEmail[6810]: ERROR => TLS setup failed: SSL connect attempt failed error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed





Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

MadMax-FHEM

Und funktionieren exakt diese Parameter mit dem sendEmail-Aufruf?

Die Info fehlt?

Oder sind das die Daten die du bereits zu beginn mit sendMail getestet hast??

War/ist aus den geposteten Angaben nicht ersichtlich...
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Burny4600

Sorry. Habe micht vielleicht nicht ganz klar ausgedrückt.

Wie gesagt mit Outlook funktioniert der Versand.
Mit sendEmail aus der Console des Raspberry nicht.

pi@ccs-ht-rasp01:~ $ sendEmail -f 'empfaenger@ccs-media.at' -t 'test@ccs-media.local' -u 'Betreffzeile' -m 'Test-Nachricht'  -s '192.xxx.xxx.xxx:4587' -xu 'test#ccs-media.local ' -xp 'test' -o tls=auto
Jun 15 14:52:29 ccs-ht-rasp01 sendEmail[7138]: ERROR => TLS setup failed: SSL connect attempt failed error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
pi@ccs-ht-rasp01:~ $
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

darkness

sendEmail -f 'empfaenger@ccs-media.at' -t 'test@ccs-media.local' -u 'Betreffzeile' -m 'Test-Nachricht'  -s '192.xxx.xxx.xxx:4587' -xu 'test#ccs-media.local ' -xp 'test' -o tls=auto


Kann es sein, dass du -f und -t verwechselst? Laut man ist -f ist FROM-Address  und -t TO-Email Address?

MadMax-FHEM

Hallo,

jetzt hast du aber tls=auto...

Und ein ssl-Problem...

Also ein anderes Problem/Fehler...

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Burny4600

So.
Habe es jetzt zumindest mit dem Testmail geschafft.

Man soll sich nicht wirklich immer auf Anleitungen verlassen.
@darkness
Du hast recht Sender- und Empfängeradresse waren vertauscht.
Zusätzlich war ein Leerzeichen zuviel.

Jetzt funktioniert es -o tls=no.

Jetzt muss ich nur noch das DebianMail in FHEM zum funktionieren bekommen.
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "test\@ccs-media.local";
my $konto = "test#ccs-media.local";
my $passwrd = "test";
my $provider = "192.xxx.xxx.xxx:4587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";;

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Hier dürfte ich auch noch einen Fehler haben, da ich die Alarmmails nicht raus bekomme.
(([":^[Bb]attery:.*low"] or [":^[Bb]attery:.*0"]) and [?$SELF:$DEVICE] eq "0")
({sendMail('empfaenger@ccs-media.at',
'FHEM - Batterie Warnung vom Gerät:', "$DEVICE: $EVENT")},
{Log 3,"$DEVICE: Batteriewarnung $EVENT"},
setreading $SELF $DEVICE low)


LOG
2016.06.15 19:41:42 1: sendEmail RCP: empfaenger@ccs-media.at
2016.06.15 19:41:42 1: sendEmail Subject: FHEM - Batterie Warnung vom Gerät:
2016.06.15 19:41:42 1: sendEmail Text: WGR800: battery: ok 100%
2016.06.15 19:41:42 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 46.
2016.06.15 19:41:42 1: sendEmail Anhang:
2016.06.15 19:41:42 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 48.
2016.06.15 19:41:43 1: sendEmail returned: Jun 15 19:41:43 test sendEmail[10122]: Email was sent successfully!
2016.06.15 19:41:43 3: WGR800: Batteriewarnung battery: ok 100%
2016.06.15 19:41:43 3: n_batt_chk return value: Undefined subroutine &main::sendMail called at (eval 1187) line 1.

2016.06.15 19:42:19 3: n_batt_chk return value: Undefined subroutine &main::sendMail called at (eval 1490) line 1.

2016.06.15 19:42:38 1: PERL WARNING: Argument "low" isn't numeric in numeric gt (>) at (eval 1612) line 1.
2016.06.15 19:42:39 3: n_batt_chk return value: Undefined subroutine &main::sendMail called at (eval 1622) line 1.

2016.06.15 19:42:57 3: n_batt_chk return value: Undefined subroutine &main::sendMail called at (eval 1801) line 1.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

darkness

Guten Morgen,

du verwendest hier

sub
DebianMail
{
my $rcpt = shift;
...
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
...
}


den Befehl sendEMail und hier

(([":^[Bb]attery:.*low"] or [":^[Bb]attery:.*0"]) and [?$SELF:$DEVICE] eq "0")
({sendMail('empfaenger@ccs-media.at',
'FHEM - Batterie Warnung vom Gerät:', "$DEVICE: $EVENT")},
{Log 3,"$DEVICE: Batteriewarnung $EVENT"},
setreading $SELF $DEVICE low)


sendMail

Ist das so gewollt?

2016.06.15 19:41:43 1: sendEmail returned: Jun 15 19:41:43 test sendEmail[10122]: Email was sent successfully!

wobei eine EMail anscheinend ja gesendet wird.

Gruß

Burny4600

@darkness

Danke für den Tipp.
Es lag wirklich nur daran das ich sendMail anstatt DebianMail verwendet hatte.

Jetzt passt es.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT