ubuntuusers.de

command line email client

Status: Gelöst | Ubuntu-Version: Lubuntu 16.04 (Xenial Xerus)
Antworten |

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
Avatar von XM-Franz

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'
Antworten |