web-dev-qa-db-de.com

So kommunizieren Sie mit dem IMAP-Server in Shell über OpenSSL

Ich möchte IMAP-Befehle über Mac OS X Terminal an den Server senden und eine Antwort erhalten. Ich kann über diese Leitung eine Verbindung zum Server herstellen:

openssl s_client -connect imap.gmail.com:993

Und ich kann mich erfolgreich einloggen:

? LOGIN m.client2 passwordhere

Aber alle anderen Befehle funktionieren nicht, keine Antwort vom Server. Ich habe zum Beispiel folgendes versucht:

? LIST "" "*"
? SELECT INBOX
43
wzbozon

Einen Fehler mithilfe eines Freundes gefunden:

openssl s_client -connect imap.gmail.com:993 -crlf

- crlf ist kritisch

63
wzbozon

Versuchen Sie dies, dies sollte für Sie funktionieren (ersetzen Sie die erste Zeile durch Ihre

openssl s_client -connect imap.gmail.com:993 -crlf

befehl (obligatorisch -crlf) & nur den blauen Teil eingeben:

enter image description here

17
Gilles Quenot

Einige weitere zu berücksichtigende Optionen: Sie stellen möglicherweise eine Verbindung zu einem Server her, der STARTTLS anbietet. In diesem Fall können Sie openssl anweisen, mit der Aushandlung fortzufahren. Sie müssen angeben, welches Protokoll Sie verwenden (wählen Sie aus pop3, imap, smtp, ftp); das -crlf Option wurde von anderen erwähnt, und ich finde auch die -showcerts Option nützlich, wenn ich eine SSL/TLS-Konfiguration debugge. So könnten Sie zum Beispiel am Ende mit,

 openssl s_client -showcerts -connect target.server.name.here:143 -starttls imap

Weitere Optionen mit der entsprechenden Manpage, falls verfügbar.

man s_client
4
Andrew Richards

Als erstes wird IMAP auf Ihrem Google Mail-Konto aktiviert. Wenn Sie sich erfolgreich anmelden können, bedeutet dies, dass ssl einwandfrei funktioniert. Was ist der Return-Code, den Sie bekommen

a1 LOGIN m.client2 passwordhere Befehl.

hast du den Befehl ausprobiert?

a1 Fähigkeit

probieren Sie andere alternative Befehle aus, da nicht alle IMAP-Server alle IMAP-Befehle implementieren. Ich war mit diesem Problem konfrontiert, als ich die Datenmigrationstools für verschiedene Anbieter wie Google Mail, Rediffmail, Yahoo!.

4
Anshul