Rosika
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hallo zusammen, ich suche ein Programm, das man wohl "command line email client" nennt. Also etwas, mithilfe dessen ich e-mails vom Terminal aus senden kann.
Das möchte ich dann in ein Script einbauen und habe mir als Anleitung das YouTube-Tutorial von Jay Lacroix genommen (https://www.youtube.com/watch?v=P05yr5QeGz4&index=16&list=PLT98CRl2KxKG2RCPkG6EPOA-g1FmLfcZl und vorangehende). Dort wird "sendEmail" verwendet, und ich habe das Programm auch gefunden, und zwar auf der Seite http://caspian.dotconf.net/menu/Software/SendEmail/ .
Das Programm selbst startet auch, aber ich bekomme folgende Fehlermeldung:
sendEmail[3870]: ERROR => pop.gmx.net:995 returned a zero byte response to our query . Liegt das vielleicht daran, dass das Programm als "SMTP email client" gekennzeichnet ist, und ich bei meinem GMX-Account als Servertyp "POP" habe?
Und wenn ja, was kann/soll ich tun?
Gibt es überhaupt ein e-mail-Programm für die Kommandozeile, das mit POP zurechtkommt? Vielen Dank im voraus für Eure Mühe.
Grüsse.
Rosika 😐
|
XM-Franz
Supporter
Anmeldungsdatum: 15. Juni 2010
Beiträge: 3439
Wohnort: Moers
|
Mon Rosika, schau mal hier: Internetanwendungen/#E-Mail
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11243
Wohnort: München
|
Rosika schrieb: Das Programm selbst startet auch, aber ich bekomme folgende Fehlermeldung:
sendEmail[3870]: ERROR => pop.gmx.net:995 returned a zero byte response to our query . Liegt das vielleicht daran, dass das Programm als "SMTP email client" gekennzeichnet ist, und ich bei meinem GMX-Account als Servertyp "POP" habe?
Den POP3-Server brauchst du nur zum Abrufen von E-Mails, zum Versenden musst du den SMTP-Server von GMX nutzen, vgl. https://hilfe.gmx.net/pop-imap/pop3/serverdaten.html
|
Rosika
(Themenstarter)
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hallo, danke für Eure Antworten. @ XM-Franz: Danke für den Link. Ich nehme mal an, Mutt würde da am ehesten in Frage kommen. @seahawk1986: O.K., da habe ich wohl etwas durcheinandergebracht. Jetzt hab´ ich´s mit smtp.mail.gmx.net:587 probiert. Damit hätte es dann funktionieren müssen. Aber es kam folgende Fehlermeldung zurück: Jan 20 13:51:06 rosika-lenovo-h520e sendEmail[5428]: ERROR => Connection attempt to smtp.mail.gmx.net:587 failed: IO::Socket::INET: Bad hostname 'smtp.mail.gmx.net'
Grüsse.
Rosika
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14308
|
Rosika schrieb: Jetzt hab´ ich´s mit smtp.mail.gmx.net:587 probiert. Damit hätte es dann funktionieren müssen.
Nein, damit funktioniert es nicht. Versuch mal mit:
mail.gmx.net:587 EDIT: Z. B.:
Jan 20 14:05:03 XXXXXX sendEmail[19298]: Email was sent successfully! From: <******@gmx.net> To: <######@web.de> Subject: [my ip address] Server: [mail.gmx.net:587]
|
Rosika
(Themenstarter)
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hi lubux, aha, da hab´ ich wohl den Fehler gemacht, das exakt so aus dem Anleitungsvideo zu übernehmen. Dort wurde ein GMail-Account verwendet und deshalb smtp.googlemail.com:587 eingegeben.
Nun hab´ ich´s nach Deiner Anweisung probiert, doch erneut hat´s nicht geklappt.
Neue Fehlermeldung:
invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 575 Grüsse.
Rosika
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14308
|
Rosika schrieb: Nun hab´ ich´s nach Deiner Anweisung probiert, doch erneut hat´s nicht geklappt.
Neue Fehlermeldung:
invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 575
Ich mach das z. B. so:
sendEmail -v -f ******@gmx.net -t ######@web.de -u "Test" -m "Hallo" -o tls=yes -s mail.gmx.net:587 -xu username-bei-gmx -xp 'PW-bei-gmx' EDIT: Schau mal nach, mit:
sudo nano +575,1 /usr/share/perl5/IO/Socket/SSL.pm
welche SSL-Version dort eingetragen ist. Evtl. SSLv3? Wenn ja, dann muss das geändert werden in TLSv1.
|
Rosika
(Themenstarter)
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hallo lubux, ja genau daran scheint´s zu liegen. Es moniert nach wie vor die SSL-Version. Ich hab´ nachgesehen, werde aber nicht schlau daraus. In der betreffenden Zeile steht folgender Eintrag:
$ctx ||= IO::Socket::SSL::SSL_Context->new($arg_hash) || return; Eine Version kann ich dabei nicht erkennen.
Grüsse.
Rosika
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14308
|
Rosika schrieb: Eine Version kann ich dabei nicht erkennen.
Wie ist die Ausgabe von:
cat /usr/share/perl5/IO/Socket/SSL.pm | grep -iE 'sslv3|tlsv1'
? EDIT: ... und die Ausgabe von:
apt-cache policy sendemail
? EDIT 2: Ersetze mal mit:
sudo nano +1906,1 /usr/bin/sendemail
am Ende der Zeile 1906, das 'SSLv3 TLSv1' durch 'TLSv1_2'
|
Rosika
(Themenstarter)
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hi lubux, danke für Deine Ausdauer.
Hier die Ausgabe vom ersten Befehl:
SSL_version => 'SSLv23:!SSLv3:!SSLv2', # consider both SSL3.0 and SSL2.0 as broken
# Debian works around this by disabling TLSv1_2 on the client side
# Chrome and IE11 use TLSv1_2 but use only a few ciphers, so that packet
for(qw( SSLv2 SSLv3 TLSv1 TLSv1_1 TLSv11:TLSv1_1 TLSv1_2 TLSv12:TLSv1_2 )) {
$version == 0x0303 ? 'TLSv1_2' :
$version == 0x0302 ? 'TLSv1_1' :
$version == 0x0301 ? 'TLSv1' :
$version == 0x0300 ? 'SSLv3' :
m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1(?:_?[12])?))$}i
$ver =~s{(TLSv1)(\d)}{$1\_$2}; # TLSv1_1
$ver eq 'SSLv3' ? 'CTX_v3_new' :
$ver eq 'TLSv1' ? 'CTX_tlsv1_new' :
$ver eq 'TLSv1_1' ? 'CTX_tlsv1_1_new' :
$ver eq 'TLSv1_2' ? 'CTX_tlsv1_2_new' :
if ($ver eq 'SSLv23' && !($ssl_op & $SSL_OP_NO{SSLv3})) {
# At least LibreSSL disables SSLv3 by default in SSL_CTX_new.
Net::SSLeay::CTX_clear_options($ctx,$SSL_OP_NO{SSLv3}); ... und hier vom zweiten:
sendemail:
Installiert: (keine)
Installationskandidat: 1.56-5
Versionstabelle:
1.56-5 500
500 http://de.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
500 http://de.archive.ubuntu.com/ubuntu xenial/universe i386 Packages
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14308
|
Rosika schrieb: Hier die Ausgabe ...
Ersetze mal mit:
sudo nano +1906,1 /usr/bin/sendemail
am Ende der Zeile 1906, das 'SSLv3 TLSv1' durch 'TLSv1_2' EDIT: Das ist bei mir die korrigierte die Zeile, in der "/usr/bin/sendemail"-Datei (... ein perl-Script):
if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'TLSv1_2')) {
|
Rosika
(Themenstarter)
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hallo, ersteinmal: Dein Ansatz war richtig. Durch Ersetzen durch "TLSv1_2" lief das Programm endlich an. Vielen Dank!!!!!!! Aber, und ich denk´ ich werd´ verrückt: Jetzt moniert´s Folgendes:
Jan 20 15:20:58 rosika-lenovo-h520e sendEmail[18402]: DEBUG => SMTP-AUTH: LOGIN authenticaion failed.
Jan 20 15:20:58 rosika-lenovo-h520e sendEmail[18402]: ERROR => ERROR => SMTP-AUTH: Authentication to mail.gmx.net:587 failed.
Dies sind die letzten 2 Zeilen der Ausgabe.
Wieso denn das???? Ich hab doch mein Passwort korrekt eingegeben, und das auch ein paarmal kontrolliert. Daran kann´s eigentlich nicht liegen.
Das kann doch alles nicht wahr sein. ☹ Trotzdem: vielen herzlichen Dank Rosika
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14308
|
Rosika schrieb: Wieso denn das???? Ich hab doch mein Passwort korrekt eingegeben, und das auch ein paarmal kontrolliert. Daran kann´s eigentlich nicht liegen.
Poste mal die vollständige Zeile (Befehl) und richtig/brauchbar anonymisiert, die Du in der Konsole jetzt verwendet hast.
|
Rosika
(Themenstarter)
Anmeldungsdatum: 26. Februar 2016
Beiträge: 1359
|
Hi, so hab ich´s eingegeben: ./sendEmail -v -f XXX@gmx.de -t YYY@freenet.de -u "Test" -m "Hallo" -o tls=yes -s mail.gmx.net:587 -xu "Rosika" -xp "PASSWORT"
XXX = Absende-Adresse YYY = Empfänger-Adresse PASSWORT = Passwort In den Ausgabezeilen wurde auch 6 mal SUCCESS angezeigt, nur in der letzten Zeile die bereits erwähnte "LOGIN authenticaion failed".
|
lubux
Anmeldungsdatum: 21. November 2012
Beiträge: 14308
|
Rosika schrieb: so hab ich´s eingegeben: ./sendEmail -v -f XXX@gmx.de -t YYY@freenet.de -u "Test" -m "Hallo" -o tls=yes -s mail.gmx.net:587 -xu "Rosika" -xp "PASSWORT"
Ich denke es liegt an den Anführungszeichen beim username und Passwort. Versuch mal mit:
./sendEmail -v -f XXX@gmx.de -t YYY@freenet.de -u "Test" -m "Hallo" -o tls=yes -s mail.gmx.net:587 -xu Rosika -xp 'PASSWORT'
|