Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Linux/UNIX Linuxverfechter finden hier Weggefährten.

E-Mails per Bash abfragen, Problem mit echo + openssl

Diskussion: E-Mails per Bash abfragen, Problem mit echo + openssl im Forum Linux/UNIX, in der Kategorie Operating Systems; Anzeige Hallo HaBo, ich möchte meine E-Mails per pop3 abrufen, bzw. dort checken, wie viele ich habe. Das wäre an ...

Antwort
Alt 06.05.08, 22:31   #1 (permalink)
 
Benutzerbild von derLichtschalter
 
Registriert seit: 28.08.07
derLichtschalter Leistung: Facit NTK
Likes: 0
E-Mails per Bash abfragen, Problem mit echo + openssl

Anzeige

Hallo HaBo,

ich möchte meine E-Mails per pop3 abrufen, bzw. dort checken, wie viele ich habe. Das wäre an sich ja kein Problem, jedoch habe ich Spezialwünsche :D.
- Ich möchte meine E-Mails per Bash-Kommando abfragen
- Ich möchte, dass mein Skript ausgeführt werden kann, ohne dass ich selbst noch Sachen eingeben muss.

Die Grundidee ist diese:

Connect mit pop.googlemail.com (Port 995) per openSSL:

Code:
:~ /usr/bin/openssl s_client -quiet -connect pop.gmail.com:995 2>/dev/null
#Ausgabe: +OK Gpop ready for requests from 212.88.132.114 b17pf111071fka.0
USER bla@googlemail.com
#Ausgabe: +OK send PASS
PASS blablabla
#Ausgabe: +OK Welcome.
STAT
#Ausgabe: +OK 220 44140516 (bedeutet, ich habe 220 E-Mails)
QUIT
#Ausgabe: +OK Farewell.
So, wie ich das geschrieben habe, muss ich jedoch nach jeder Ausgabe etwas eingeben (User, Passwort, Stat-Befehl etc.). Nun möchte ich, dass an das openSSL-kommando die Befehle gleich übergeben werden. Xalon im #hackerboard hatte folgenden Vorschlag, zur besseren Übersicht habe ich den Befehl mal auf zwei Zeilen verteilt:

Code:
echo -e -n "USER bla@googlemail.com\nPASS blablabla\nSTAT\nQUIT\n" |
          /usr/bin/openssl s_client -quiet -connect pop.gmail.com:995 2>/dev/null
#Ausgabe: +OK Gpop ready for requests from 212.88.132.114 b17pf111071fka.0
Das zeigt, dass openSSL die Echo-Ausgabe nicht schluckt. Es bleibt nach dem connecten hängen. Jedenfalls war das Xalons Vermutung.

Hat jemand eine Idee, wie das funktionieren könnte? Danke schonmal im Voraus.


Lightmaster
__________________
Lenovo ThinkPad X201 | Core i7 620M 2,67 GHz, 4 GB DDR3, 128 GB Kingston SSD
Marke Eigenbau | Core 2 Duo E8400 3,0 GHz, 4 GB DDR2, XFX NVIDIA GeForce 9800 GT 670M

blog.derLichtschalter.de
derLichtschalter ist offline   Mit Zitat antworten
Alt 06.05.08, 22:53   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Schau dir mal expect an. Damit kannst du die Eingaben automatisieren. Ist in solchen Fällen meist recht brauchbar.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 06.05.08, 22:53   #3 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Ich hatte im IRC schon gesagt, dass du dir mal expect. Man-Page und der Artikel Automating Tasks with EXPECT sollten helfen.
lookshe ist offline   Mit Zitat antworten
Alt 07.05.08, 16:33   #4 (permalink)
Themenstarter
 
Benutzerbild von derLichtschalter
 
Registriert seit: 28.08.07
derLichtschalter Leistung: Facit NTK
Likes: 0
Standard

@lookshe: hmm, ok, das hatte ich dann wohl nicht so ganz registriert -.-

@beide: danke, ich probiers gleich aus

EDIT: So, ich habs jetzt einigermaßen hinbekommen. Das Problem war zuerst, dass "spawn" in expect den openssl-befehl nicht starten konnte. ich wurde immer auf die richtige verwendung der s_client-args verwiesen. Dann habe ich den Befehl in eine eigene Skriptdatei geschrieben, und er funktionieret...

Das expect-Skript Expect.sh
Code:
#! /usr/bin/expect
spawn ./StartOpenSSL.sh
expect "+OK Gpop ready for requests *" { send "USER bla@gmail.com\n" }
expect "+OK send PASS" { send "PASS blablabla\n" }
expect "+OK Welcome" { send "STAT\n" }
expect "+OK *" { send "QUIT\n" }
und das Bash-Skript StartOpenSSL.sh
Code:
#! /bin/bash
/usr/bin/openssl s_client -quiet -connect pop.gmail.com:995 2>/dev/null

Wenn jemand eine Ahnung hat, warum im Expect-Skript diese Anweisung nicht funktioniert, kann er sich ja vielleicht melden:
Code:
spawn /usr/bin/openssl s_client -quiet -connect pop.gmail.com:995 2>/dev/null
__________________
Lenovo ThinkPad X201 | Core i7 620M 2,67 GHz, 4 GB DDR3, 128 GB Kingston SSD
Marke Eigenbau | Core 2 Duo E8400 3,0 GHz, 4 GB DDR2, XFX NVIDIA GeForce 9800 GT 670M

blog.derLichtschalter.de
derLichtschalter ist offline   Mit Zitat antworten
Alt 07.05.08, 22:56   #5 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 441
Standard

Erstell dir doch dein expect-Skript einfach mit autoexpect. Da wirst du ja den Unterschied sehen, der beim spawn gemacht wird.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Linux/UNIX » E-Mails per Bash abfragen, Problem mit echo + openssl
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Debian\Ubuntu\etc.: New openssl packages fix predictable random number generator xeno News & Ankündigungen 17 15.05.08 18:32
SSL Zertifikate mit OpenSSL bLaCk-DrAg0n Linux/UNIX 1 26.11.07 12:46
Echo schreibt nicht im neuen Fenster Veron Code Kitchen 2 10.07.05 20:44
echo-Anweisung mit eval() auswerten the-hermi (Web-) Design und webbasierte Sprachen 2 28.06.04 21:19
Problem in der Bash-Programmierung unter Linux Analyst Code Kitchen 1 15.01.04 13:29


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61