Verwenden von SMTP, Google Mail und STARTTLS

7

Ich lerne also über SMTP und versuche, telnet zu verwenden, um einige E-Mails über SMTP zu senden.

Ich konnte e-Mail an mein Google Mail-Konto senden über:

%Vor%

Ich habe jedoch Probleme, von meinem Google Mail-Konto zu senden. Von dem, was ich über SMTP verstehe, sollte ich SMTP verwenden, um E-Mails von & lt; [email protected] & gt;  zu den ausgehenden gmail SMTP-Servern, die wiederum SMTP verwenden, um die E-Mail an den Empfänger eingehenden SMTP-Server ect zu übertragen.

Ich habe jedoch Schwierigkeiten. Wenn ich telnet in smtp.gmail.com über Port 465 (gmail ausgehender SMTP-Mailserver kanonisch), werde ich sofort getrennt, nachdem ich mit HELO <[email protected]> begonnen habe, oder nach STARTTLS gefragt. Ich kann keine Antworten auf das weitere Vorgehen finden.

Jede Hilfe wird geschätzt.

Hinweis: Zurzeit nutze ich Starbucks kostenloses Wi-Fi für den Zugang zum Internet. Ich bin tatsächlich nicht in der Lage, telnet direkt von meinem Computer (No route to host error). Stattdessen funktioniert es nur, wenn ich ssh zuerst in eine Remote-Linux-Box im Netzwerk meiner Schule setze, dann telnet von dort. Irgendeine Idee warum das ist?

Danke!

    
gone 24.06.2013, 17:43
quelle

2 Antworten

21

Zunächst sieht es so aus, als ob Sie den falschen Port verwenden. Google Mail macht Port 465 für SMTP über SSL und Port 587 für SMTP mit STARTTLS verfügbar, wie hier dokumentiert . Der Unterschied zwischen diesen beiden besteht darin, dass SMTP über SSL zuerst eine sichere SSL / TLS-Verbindung herstellt und SMTP über diese Verbindung ausführt. SMTP mit STARTTLS startet mit unverschlüsseltem SMTP und wechselt dann zu SSL / TLS. Aus diesem Grund erhalten Sie keine Antwort auf Ihren HELO.

%Vor%

Aber selbst wenn Sie Telnet an Port 587 senden, können Sie immer noch keine E-Mails von Hand senden. Um etwas Interessantes zu tun, müssen Sie STARTTLS ausführen, und Sie werden nicht in der Lage sein, SSL/TLS Binärprotokoll um die Verschlüsselung auszuhandeln.

    
rhashimoto 25.06.2013, 21:42
quelle
15

Der Telnet-Client wird keine TLS-Sitzung für Sie aushandeln. Sie sollten ein anderes Tool verwenden, z. B. den s_client von OpenSSL. Der folgende Befehl gibt den STARTTLS-Befehl für Sie aus und behandelt die TLS-Verhandlung:

%Vor%

Alternativ können Sie eine direkte Verbindung zum SMTPS-Port herstellen:

%Vor%     
Erwan Legrand 20.02.2014 13:56
quelle

Tags und Links