FHEM Forum

FHEM => Automatisierung => Thema gestartet von: franky08 am 11 Juni 2014, 23:43:57

Titel: [gelöst] Problem mit DebianMail
Beitrag von: franky08 am 11 Juni 2014, 23:43:57
Laut Maintainer.txt schreib ich das jetzt mal hier  ;)

Ich hätte ich da auch mal ein Problem. Laut Log geht eine Testmail raus aber die kommt leider nicht an.

Im Log:
2014.06.11 22:11:58 1: sendEmail RCP: xxxxxxxxx@xxxxx.xx
2014.06.11 22:11:58 1: sendEmail Subject: Test
2014.06.11 22:11:58 1: sendEmail Text: Test-Text
2014.06.11 22:11:58 1: sendEmail returned:


Im Return taucht nichts auf. Wo könnte ich ansetzen? Hab das gerade mal ausprobieren wollen, weis jetzt aber nicht wo ich nach dem Fehler suchen soll. Eine Fehlermeldung taucht im Log nicht auf. Die im WIKI beschriebenen Fehler kann ich (glaub ich) ausschließen.
Getestet habe ich mit dem String aus dem WIKI:
{ SUB-Routinen-Name('EMailAdresse@Mail.Domain','Test','Test-Text');; }

VG
Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: fiedel am 12 Juni 2014, 07:51:41
Hi Franky!

Wo könnte ich ansetzen?

Also zuerst mal auf der Linux- Konsole einen sendmail- oder sendemail- Befehl absetzen und testen, ob was ankommt. Vielleicht hast du ja dieses SSL/TLS- Problem? Deine Fehlerbeschreibung könnte darauf hindeuten.

Gruß

Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: franky08 am 12 Juni 2014, 10:17:59
ich war mir eigendlich sicher das ich ssl auf dem Server schonmal installiert hatte, ist aber scheinbar nicht so. Kann mir jemand sagen, wie das Packet ssl für Debian heist.

apt-get install IO::Socket::SSL, ist es nicht. Oder war das für Debian openssl?

VG
Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: JoWiemann am 12 Juni 2014, 10:39:22
Steht im FhemWiki: Raspberry Pi & HTTPS

Grüße Jörg
Titel: Antw:Problem mit DebianMail
Beitrag von: franky08 am 12 Juni 2014, 13:28:39
Probiere jetzt schon eine Weile und habe sendmail mal mit -vv ausgeführt, jetzt bekomme ich im Log folgendes:

2014.06.12 13:19:11 1: sendEmail RCP: xxxxxxx@xxx.xx
2014.06.12 13:19:11 1: sendEmail Subject: Test
2014.06.12 13:19:11 1: sendEmail Text: Test-Text
2014.06.12 13:19:11 1: sendEmail returned: Jun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => Connecting to smtp.googlemail.com:25Jun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => My IP address is: 192.168.2.41Jun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => evalSMTPresponse() - Found SMTP success code: 220Jun 12 13:19:11 debian2 sendEmail[7689]: SUCCESS => Received: 220 mx.google.com ESMTP h6sm4179007eew.38 - gsmtpJun 12 13:19:11 debian2 sendEmail[7689]: INFO => Sending: EHLO debian2.fritz.boxJun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => evalSMTPresponse() - Found SMTP success code: 250Jun 12 13:19:11 debian2 sendEmail[7689]: SUCCESS => Received: 250-mx.google.com at your service, [93.222.58.40], 250-SIZE 35882577, 250-8BITMIME, 250-STARTTLS, 250-ENHANCEDSTATUSCODES, 250 CHUNKINGJun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => The remote SMTP server supports TLS :)Jun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => Starting TLSJun 12 13:19:11 debian2 sendEmail[7689]: INFO => Sending: STARTTLSJun 12 13:19:11 debian2 sendEmail[7689]: DEBUG => evalSMTPresponse() - Found SMTP success code: 220Jun 12 13:19:11 debian2 sendEmail[7689]: SUCCESS => Received: 220 2.0.0 Ready to start TLS


Die letzte Zeile der Utils:
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8 -vv);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string



libio-socket-inet6-perl ist schon die neueste Version
libio-socket-ssl-perl ist schon die neueste Version
Paket perl-io-socket-ssl kann nicht gefunden werden
aber
libio-socket-ssl-perl ist schon die neueste Version

libnet-smtp-ssl-perl ist auch vorhanden
VG
Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: franky08 am 12 Juni 2014, 16:29:43
Irgendwie komme ich nicht weiter, habe noch libnet-smtp-ssl-perl installiert, da das wohl noch gefehlt hat. Trotzdem kommen keine Mail´s an.
meine Utils, wie folgt, vielleicht sieht hier ja einer einen Fehler, obwohl die 1:1 aus dem WIKI stammt.

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxxxxx\@googlemail.com";
my $konto = "xxxxxx\@googlemail.com";
my $passwrd = "mein PW";
my $provider = "smtp.googlemail.com";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -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";
}


VG
Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: marvin78 am 12 Juni 2014, 16:36:20
Hast du mal, wie oben vorgeschlagen, Mails von der Konsole gesendet?
Titel: Antw:Problem mit DebianMail
Beitrag von: franky08 am 12 Juni 2014, 16:49:13
Ja, da bekomme ich einen Timeout
debian2 sendEmail[3161]: ERROR => Timeout while reading from smpt.googlemail.com:25 There was no response after 60 seconds.
Titel: Antw:Problem mit DebianMail
Beitrag von: marvin78 am 12 Juni 2014, 16:56:34
Probiere es mal mit Port 587 oder 465.

sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxx";
my $konto = "xxx";
my $passwrd = ""xxx";
my $provider = "smtp.googlemail.com:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";

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


So funktioniert es bei mir. Zu möglichen Debian SSL Problemen gibt es hier einige Beiträge.
Titel: Antw:Problem mit DebianMail
Beitrag von: fiedel am 12 Juni 2014, 17:09:46
Timeout while reading from smpt.googlemail.com:25

Da haben wir den Salat!  ;) Auf Port 25 wird nichts mehr entgegengenommen. Das läuft jetzt nur noch über TLS und das ist ein anderer Port. Ruf dir mal die aktuellen Server/Ports von Googlemail ab und poste hier auch mal den gesamten Befehl, den du abgesetzt hast - Passw. und Adr. vor dem @ natürlich verfälscht.

Sollte laut WIKI (http://www.fhemwiki.de/wiki/E-Mail_senden#sendEmail) so aussehen:
sendEmail -f 'fhemsystem@meinedomain.tld' -t 'ich@meinedomain.tld' -u 'subject' -m 'body' -s 'meinmailserver.meinedomain.de' -xu 'fhemmailer' -xp 'geheimespassword' -o tls=no

"tls" müsste eigentlich auf "=yes" stehen, aber ich hab vor ner Weile genau hier aufgehört und bin auf Exim4 umgestiegen. Das handelt die Verschlüsselung automatisch aus, diese funktioniert problemlos, es hat eine Queue und ich hab seit dem Ruhe vor FHEM- Mailproblemen...  :)

Das heißt aber nicht, dass dein Problem unlösbar ist. Wenn du im Forum nach Mail und TLS oder SSL suchst, findest du Lösungen, wie das TLS- Problem weggepatcht werden kann.

Gruß

Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: franky08 am 12 Juni 2014, 17:25:19
Mit den Serverports bin so vorgegangen wie hier beschrieben:
ZitatPosteingang POP3:
Adresse: pop.googlemail.com
Port: 995
Mit SSL

Posteingang IMAP:
Adresse: imap.googlemail.com
Port: 993
Mit SSL

Postausgang SMTP:
Adresse: smtp.googlemail.com (mit Authentifikation)
Port für TLS / STARTTLS: 587
Port für SSL: 465



Für die GMail-Konten, die es seit einiger Zeit in Deutschland nicht mehr neu gibt, gelten folgende Daten:

Posteingang POP3:
Adresse: pop.gmail.com
Port: 995
Mit SSL


Posteingang IMAP:
Adresse: imap.gmail.com
Port: 993
Mit SSL


Postausgang SMTP:
Adresse: smtp.gmail.com (mit Authentifikation)
Port für TLS / STARTTLS: 587
Port für SSL: 465

Auf der Console:
sudo sendEmail -f 'debian2@192.168.2.41' -t 'xxxxxxx@googlemail.com' -u 'subject' -m 'body' -s 'smpt.googlemail.com' -xu 'fhemmailer' -xp 'PW' -o tls=auto
In der Utils hab ich den Port auf 587
Da passiert aber das gleiche:
debian2 sendEmail[3197]: ERROR => Timeout while reading from smpt.googlemail.com:587 There was no response after 60 seconds
Titel: Antw:Problem mit DebianMail
Beitrag von: franky08 am 12 Juni 2014, 19:33:12
So, geschafft! In Zeile 1490 der SSL.pm muss das "$" entfernt werden. Ich dachte das das nur zutrifft wenn die erwähnte Fehlermeldung "invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332 " auftritt.
War bei mir aber nicht so.

2014.06.12 19:22:47 1: sendEmail returned: Jun 12 19:22:47 debian2 sendEmail[3211]: Email was sent successfully!

VG
Frank
Titel: Antw:Problem mit DebianMail
Beitrag von: satprofi am 16 Juni 2014, 20:17:37
Zitat von: fiedel am 12 Juni 2014, 07:51:41
Hi Franky!

Wo könnte ich ansetzen?

Also zuerst mal auf der Linux- Konsole einen sendmail- oder sendemail- Befehl absetzen und testen, ob was ankommt. Vielleicht hast du ja dieses SSL/TLS- Problem? Deine Fehlerbeschreibung könnte darauf hindeuten.

Gruß

Frank

hallo .
habe selbes problem, auf der Linuxconsole klappt das versenden, in FHEMconsole auch ohne fehlermeldung.
aber mail wird nur über linuxconsole zugestellt.
???
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: franky08 am 16 Juni 2014, 21:16:11
@satprofi
Falls es ein ssl/tls Problem ist, hilft das

ZitatCode: [Auswählen]
/usr/bin/sendemail in Zeile 1907: 'SSLv3 TLSv1' => 'SSLv3'

Damit wird das Problem für sendemail (für die meisten Dienste) als Workaround gelöst und die SSL.pm muss nicht angefasst werden. Calendar, Pushover etc. haben also kein Problem mit der Änderung.

Wenn du jedoch von der Linux Console versenden kannst und die Mail auch ankommt aber aus fhem nicht, dann liegt das Problem bestimmt in deiner 99_myUtils.

P.S. Was steht den als return im Log wenn du von fhem aus versendest?

VG
Frank
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: satprofi am 16 Juni 2014, 22:09:50

2014.06.16 20:22:18.627 5: Cmd: >{ Email('xxxx@gmx.at','Test','Test-Text'); }<
2014.06.16 20:22:18.633 1: sendEmail RCP: xxxx@gmx.at
2014.06.16 20:22:18.633 1: sendEmail Subject: Test
2014.06.16 20:22:18.633 1: sendEmail Text: Test-Text
2014.06.16 20:22:20.609 1: sendEmail returned: Jun 16 20:22:20 dockstar2 sendEmail[20344]: Email was sent successfully!
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: franky08 am 16 Juni 2014, 22:55:15
Hallo
2014.06.16 20:22:20.609 1: sendEmail returned: Jun 16 20:22:20 dockstar2 sendEmail[20344]: Email was sent successfully!

sagt doch, das vom System her alles OK ist und die Mail versendet wurde! Hast du mal die Empfänger Adresse überprüft?
Nicht das du die Mail irgendwo in´s Nirvana schickst nur weil du dich vielleicht in der Adresse verschrieben hast.

VG
Frank
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: satprofi am 17 Juni 2014, 06:16:36
Zitat von: franky08 am 16 Juni 2014, 22:55:15
Hallo
2014.06.16 20:22:20.609 1: sendEmail returned: Jun 16 20:22:20 dockstar2 sendEmail[20344]: Email was sent successfully!

sagt doch, das vom System her alles OK ist und die Mail versendet wurde! Hast du mal die Empfänger Adresse überprüft?
Nicht das du die Mail irgendwo in´s Nirvana schickst nur weil du dich vielleicht in der Adresse verschrieben hast.

VG
Frank

nein, adresse passt auch im logfile. deshalb bin ich ratlos.
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: fiedel am 17 Juni 2014, 07:20:44
Hast du mal probehalber das "@" gedoppelt?
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: franky08 am 17 Juni 2014, 07:43:34
Und poste mal aus deiner myUtils.pm. Sonst bin ich jetzt auch etwas ratlos

VG
Frank
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: satprofi am 17 Juni 2014, 16:57:41
Zitat von: fiedel am 17 Juni 2014, 07:20:44
Hast du mal probehalber das "@" gedoppelt?

da steht dann "The recipient <xxxx@@gmx.at> was rejected by the mail server, error follows:Jun 17 16:55:15"  im Logfile.
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: marvin78 am 17 Juni 2014, 17:00:45
Ohne die sub aus deiner myUtils wird man dir nicht helfen können. Raten könnte ich, will ich aber nicht.
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: satprofi am 17 Juni 2014, 17:01:24
Zitat von: franky08 am 17 Juni 2014, 07:43:34
Und poste mal aus deiner myUtils.pm. Sonst bin ich jetzt auch etwas ratlos

VG
Frank


sub
Email
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "fhem\@gassing.at";
my $konto = "xxxxxx\@kabelplus.at";
my $passwrd = "password";
my $provider = "mail.kabelplus.at:25";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -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";
}



was mich aber stutzig macht, ist der absender im log


4.06.17 16:55:13.460 5: Cmd: >{ Email('xxxx@@gmx.at','Test','Test-Text'); }<
2014.06.17 16:55:13.465 1: sendEmail RCP: xxxx@@gmx.at
2014.06.17 16:55:13.465 1: sendEmail Subject: Test
2014.06.17 16:55:13.466 1: sendEmail Text: Test-Text
2014.06.17 16:55:15.153 1: sendEmail returned: Jun 17 16:55:15 [b]dockstar2[/b] sendEmail[21952]
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: fiedel am 17 Juni 2014, 17:54:02
my $provider = "mail.kabelplus.at:25";

Da muss sicher ein anderer Port benutzt werden (TLS) und im Befehl muss "tls=yes" gesetzt werden. Ggf. muss du dann noch ein wenig patchen. Es gab gerade einen Mailthread, wo das beschrieben wurde. Es sei denn, Kabelplus nutzt netzintern noch keine verschl. Übertragung. Würde mich nicht wirklich wundern.  ;) Die haben ja auch schon mal "Großes Heimnetz" gespielt und man konnte auf PCs anderer Leute zugreifen. Einfach so, ohne Hackertricks... ??? Oder war das Kabeldeutschland??? Jedenfalls ein großer Kabelanbieter.

Gruß

Frank
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: satprofi am 17 Juni 2014, 18:14:05
das beste ist, das ich auf der console den port, password, user nicht angeben muss, und die mail kommt auch an.
wenn ich aber die 3 sachen in der 99_myUtils ausdokumentiere schreit fhem beim abspeichern.

port 25 wird aber benutzt, steht in meinem mailaccount auch drinn.
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: marvin78 am 17 Juni 2014, 18:16:51
Die Dinge, die du oben auskommentierst, musst du aus dieser Zeile auch herausnehmen:

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
Titel: Antw:[gelöst] Problem mit DebianMail
Beitrag von: satprofi am 19 Juni 2014, 11:19:14
Zitat von: marvin78 am 17 Juni 2014, 18:16:51
Die Dinge, die du oben auskommentierst, musst du aus dieser Zeile auch herausnehmen:

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

Danke!! Jetzt klappts

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -o tls=no -o message-charset=utf-8);
[/quote]

Titel: [gelöst] Problem mit DebianMail SSLv3 Poodle
Beitrag von: moellerj am 28 Oktober 2014, 20:20:37
Um eine funktionsfähige sendEmail zu bekommen ist unten stehende Konfiguration sinnig.

Dies sind die Gründe:
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=yes -o message-charset=utf-8);


Sollte es dann immer noch nicht funktionieren, muss der Perl-Code von sendEmail eine frühere Version von SSL(v2.3) nutzen.

Zeile 1906 von Version sendEmail-1.56 [Download] (http://caspian.dotconf.net/menu/Software/SendEmail/#download)

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv23:!SSLv2')) {