FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Invers am 18 Juli 2014, 01:08:54

Titel: GELÖST Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 01:08:54
Nach dem Artikel im WiKi habe ich versucht mit Debianmail eine Mail zu versenden. Leider bekomme ich immer eine Fehlermeldung, die ich auch nach langer Suche nicht abstellen und deuten kann:
2014.07.18 00:55:55 1: sendEmail returned: tls=autoJul 18 00:55:55 raspberrypi sendEmail[8333]: ERROR => mail.gmx.net:465 returned a zero byte response to our query.

Den Code habe ich wie folgt übernommen und angepasst:

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "tls=auto";
my $sender = "maxmuetze\@gmx.de";
my $konto = "maxmuetze\@gmx.de";
my $passwrd = "max";
my $provider = "mail.gmx.net:465";
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);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Aufgerufen habe ich in der Eingabezeile mit:

{ DebianMail('AnAdresse@gmx.de','Betrefftext','Mist, geht nicht') }


Natürlich habe ich Debianmail vorher auch installiert.
Ich suche jetzt schon mehrere Stunden nach einer Lösung.

Hat jemand einen Tipp für mich, wie das geht?
Titel: Antw:Maiulversand mit Debianmail klppt nicht
Beitrag von: fiedel am 18 Juli 2014, 07:33:22
Hi Max Mütze  ;)

Dazu fällt mir einiges ein: Es gibt  einen TLS / SSL - Fix, wo eine Datei gepatcht werden muss (http://forum.fhem.de/index.php/topic,24528.msg176428.html#msg176428). Dann würde ich "tls=yes" verwenden, denn es gibt ja nur noch verschlüsselt. Und bei mir hatte es bei Debianmail mit GMX + TLS nicht funktioniert. Ich hatte es dann eine Weile mit dem Google- Mailaccount am laufen, bin dann aber zu "exim4" gewechselt, weil ich doch lieber GMX weiternutzen wollte und weil es eine Mailwarteschlange hat.

Gruß

Frank
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 09:30:53
Danke für die Antwort.
Ich habe deine Tipps probiert (auch mit anderen Mailadressen), aber ohne Erfolg.
Zu exim4 finde ich leider keine Aleitung/Konfigurationsbeispiel im Forum und im Wiki.
Könntest du mir deine Routine zur Verfügung stellen? Ich weiss sonst nicht, wie man das konfigurieren soll.
Müsste ich dann Debianmail vorher deinstallieren?
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 09:50:38
Hallo, such mal im Forum. Da gab es irgendwo einen Hinweis was in der sendmail (im Code ) geändert werden muss. Ich hatte damals das gleiche Problem mit Debianmail.
Das war das hier:

ZitatFalls es ein ssl/tls Problem ist, hilft das

Zitat
Code: [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.
VG
Frank
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 10:02:49
Das hatte ich gefunden und gelesen und die Datei auch gesucht. Leider ist in diesem Verzeichnis /usr/bin/ keine Datei mit dem Namen sendmail zu finden.
Ich habe eine Datei gefunden , aber die ist ganz klein und in einem ganz anderen Ordner (\usr\share\perl5\Mail\Mailer) und heisst sendmail.pm.
Da ich aber noch wenig Ahnung davon habe, kann es sein, dass ich das alles falsch interpretiert habe.
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 10:10:45
Geh mal auf der Konsole mi cd /usr/bin und dann mit sudo nano sendemail zum bearbeiten. Mit ls siehst du den Verzeichnisinhalt
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 10:43:55
Das hat geholfen, die Datei zu finden. Guter Tipp.
Ich habe dann die Zeile gefunden und geändert.
alt: SSLv3 TLSv1
neu:SSLv3, also TLSv1 gelöscht und gespeichert.

Leider keine Änderung. Weder mit T-Online, noch mit GMX.

Aber trotzdem vielen Dank für die Mühe, einen Versuch war es allemal wert. Hätte ja klappen können.
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 10:54:18
Stell tls mal auf yes statt auto und poste dann mal den Return aus dem Log.in deiner utils steht tls unten auf no!!
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 11:15:30
Das hatte ich bereits mit beiden Mailadressen und mit yes und no probiert.

endEmail returned: tls=yesJul 18 11:09:24 raspberrypi sendEmail[2299]: ERROR => mail.gmx.de:465 returned a zero byte response to our query.


Schade, dass man nicht weiss, was die Fehlermeldungen (zB. [2299]) bedeuten.
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 11:21:45
Mmh, da weis ich jetzt auch keinen Rat mehr. Ich könnte dir meinen funktionierenden Code posten, damit könntest du ausschließen das es an der utils liegt.

sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxxxxxxxx\@googlemail.com";
my $konto = "xxxxxxxxx";
my $passwrd = "xxxxxxxxxxx";
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' -xu '$konto' -xp '$passwrd' -o tls=yes -o message-charset=utf-8);
#$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";
}


DebianMail('xxxxxxxxx@t-online.de','Klimaanlage','Die Klimaanlage ist jetzt an');; }

Und im Log:

2014.07.18 11:27:17 1: sendEmail RCP: xxxxxxxxx@t-online.de
2014.07.18 11:27:17 1: sendEmail Subject: Klimaanlage
2014.07.18 11:27:17 1: sendEmail Text: Die Klimaanlage ist jetzt an
2014.07.18 11:27:21 1: sendEmail returned: Jul 18 11:27:21 cubian sendEmail[20955]: Email was sent successfully!



VG
Frank
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 11:44:38
So, habe ich auch noch einmal probiert, aber offenbar hatte ich keinen Fehler in der Routine. Es läuft einfach nicht. Schde, aber wohl erst einmal nicht zu ändern.
Wie gesagt, ich danke dir für die Geduld und die Mühe.
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: fiedel am 18 Juli 2014, 11:47:48
Hi Invers,

hier (http://blog.xig.ch/Exim-Smarthost-mit-Authentifizierung-%FCber-STARTTLS_127.html) und hier (http://www.svenhoefer.net/wiki:anleitungen:debian_exim-gmx) mal die Anleitungen, die ich genutzt hatte.

Du musst das sendmail oder sendemail nicht deinstallieren. Einfach das exim4 oder die Lightversion (wie in der Anleitung) per apt-get install installieren und dann die config bearbeiten oder per "dpkg-reconfigure exim4-config" die Konfiguration per Dialog abarbeiten.

Mein Eintrag in der Utils:


# Mailfunktion exmail, senden per "Exim4" (Mailer mit Spool):
# Aufruf dann mittels { exmail('name@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\"");
}


Mein Eintrag in der CFG:


#Beispiel:

{exmail('maxmuetze@@gmx.de',"Stoerung Heizung",text 123);;\}



Edit: Nochmal zu deinem Ausgangsproblem: Man geht so vor, dass man immer erst auf der Kommandozeile das Mailen testet (standartaufruf von send(e)mail) und dann aus FHEM raus, sonst suchst du dir nen Wolf...  ;)
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 11:51:05
gmx ist ein deutscher Anbieter und die haben alle auf ssl/tsl Verschlüsselung umgestellt! Mit deiner Zeile my $provider = "mail.gmx.net:465"; kann das nicht gehen

Zitat:
ZitatServerdaten

IMAP steht Ihnen nur als GMX Premium-Kunde zur Verfügung.
Per IMAP können Sie mit einem Programm Ihrer Wahl in Echtzeit auf Ihr Postfach zugreifen. Sämtliche Aktionen (E-Mail löschen, verschieben etc.) werden direkt auf dem Server ausgeführt.

In vielen E-Mail-Programmen können Sie die IMAP-Ordner mit den Ordnern in Ihrem GMX Postfach nicht richtig verknüpfen, weil die jeweiligen Programme eigene Ordnernamen verwenden und diese sich nicht ändern lassen (zum Beispiel "Trash" statt "Papierkorb"). Mit den E-Mail-Programmen Apple Mail, Windows Live Mail oder Thunderbird können Sie alle Ordner verknüpfen.

Posteingang:
Server: imap.gmx.net
Port: 993
Verschlüsselung: SSL-Verschlüsselung
(Steht in einem Programm "SSL" nicht zur Verfügung, genügt es, die Option "Verschlüsselung" zu aktivieren.)


Und:
ZitatServerdaten

Beachten Sie, dass IMAP nur mit den Tarifen GMX TopMail und GMX ProMail zur Verfügung steht.
Nutzen Sie die folgenden Servernamen, Ports und Verschlüsselungsprotokolle:

E-Mail-Protokoll   POP3 (Posteingang)   IMAP (Posteingang)   SMTP (Postausgang)
Servername   pop.gmx.net   imap.gmx.net   mail.gmx.net
Port   995   993   587
Verschlüsselungsprotokoll   SSL   SSL   StartTLS (TLS, wenn "StartTLS" nicht auswählbar)
Wenn Ihr Programm die Verschlüsselungsprotokolle SSL und StartTLS nicht ausdrücklich anbietet, genügt es oft auch, einfach eine "verschlüsselte" Verbindung zu aktivieren. Das Protokoll wird in diesem Fall automatisch ausgewählt.

Siehe: https://hilfe.gmx.net/sicherheit/ssl.html
Titel: Antw:Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 12:35:38
Erfolg! Danke!!!! :-)

Hier mal der Stand der Dinge:

Mein Outlook ist/war so konfiguriert:
smtp:mail.gmx.net
Port:465

Das funktioniert bis heut so.

Ich habe deshalb keinen Grund gesehen, eine andere Konfiguration zu wählen.
Die Einstellungen wurden mir auch damals so von gmx im Zuge der Umstellung mitgeteilt.

Nun habe ich
smtp:mail.gmx.de
Port:465

Damit geht es!

Das funktioniert auch in Outlook. Warum, weiss ich nicht.
Mit Port 587 geht es aber nicht, auch nicht in Outlook.

Warum es nun mit T-Online nicht geht, ist mir ein Rätsel, aber ist auch egal. Eine Versandadresse reicht ja.

Vielen Dank.

@fiedel

Trotzdem werde ich am Wochenende exim4 probieren.
Auch vielen Dank an dich.
Titel: Antw:GELÖST Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 12:40:46
T-Online hat andere Portnummern  ;)

ZitatWenn Sie bisher POP3 verwenden:
Stellen Sie für den Posteingangsserver den Port (Serveranschlussnummer) auf 995
Wenn Sie bisher IMAP verwenden:
Stellen Sie für den Posteingangsserver den Port (Serveranschlussnummer) auf 993

VG
Frank
Titel: Antw:GELÖST Mailversand mit Debianmail klppt nicht
Beitrag von: Invers am 18 Juli 2014, 12:49:05
Naja, wir brauchen aber den smtp Ausgangsserver und der ist laut Mail, die mir zur Konfiguration geschicht wurde, 465.
Titel: Antw:GELÖST Mailversand mit Debianmail klppt nicht
Beitrag von: franky08 am 18 Juli 2014, 12:55:10
Neee, auf der Empfängerseite brauchst du den Posteingangsserver (ankommende Mails) Dein Provider verschickt Mails über seinen Postausgangsserver (ausgehende Mail).

OK, hab ich missverstanden -duck und weg-
VG
Frank
Titel: Antw:GELÖST Mailversand mit Debianmail klppt nicht
Beitrag von: aloz77 am 06 Juni 2015, 14:21:58
Ich konnte Debianmail mit meinem Mailserver und mit dem von 1und1 über Port 465 mit allen Tipps nicht zum Laufen bringen. Es kam immer: "returned a zero byte response to our query"

Ich habe dann die Funktion send_mail() von hier genommen:

http://robertmaldon.blogspot.de/2006/10/sending-email-through-google-smtp-from.html

Damit es auf meinem Bananapi funktioniert, musste ich das installieren:

apt-get install libnet-smtp-ssl-perl
cpan install Net::SSLeay
cpan install IO::Socket::SSL
cpan install Authen::SASL
cpan install Net::SMTP::SSL