bash + telnet per leggere la mail di slacky

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

bash + telnet per leggere la mail di slacky

Messaggio da danix »

Ciao a tutti,
IMPORTANTE PREMESSA:
Non voglio reinventare la ruota, so che ci sono almeno altri 1000 modi per fare più agevolmente quello che io voglio fare con lo script che andrò a creare, il mio interesse però è imparare, e creare qualcosa di utile ai miei scopi con i mezzi che Slackware mi mette a disposizione mi sembra un buon modo... A qualcuno potrà sembrare una perdita di tempo, ma per me è un'occasione per migliorare...
/IMPORTANTE PREMESSA

come promesso apro il thread in cui proverò a riportare la mia frustrazione durante la creazione di uno script che automaticamente si preoccupi di andare sul server mail di slacky e controllare per me se c'è posta in arrivo non letta...

Ho googlato un po sull'argomento e voglio che sia chiaro che quel poco che sono riuscito a tirare fuori non è per nulla farina del mio sacco...

Cominciamo, per iniziare ho provato in maniera interattiva a collegarmi al server di posta e tutto è andato bene...

Codice: Seleziona tutto

telnet pop3.slacky.it 110
Il server mi ha risposto così:

Codice: Seleziona tutto

Trying 62.149.128.155...
Connected to pop3.slacky.it.
Escape character is '^]'.
+OK <7661.1182882695@popd7.fe.aruba.it>
e poi mi ha restituito il prompt per poter inviare un nuovo comando, e io ho inviato:

Codice: Seleziona tutto

USER miouser
Il server ha risposto:

Codice: Seleziona tutto

+OK
poi ho inviato:

Codice: Seleziona tutto

PASS miapassword
e il server ha risposto di nuovo:

Codice: Seleziona tutto

+OK
da qui essendo io connesso e autenticato al server posso dare il comando LIST per vedere quanti messaggi ho e poi il comando RETR n (dove n è il numero del messaggio che voglio leggere) per leggere quel messaggio, poi dando il comando QUIT esco tranquillamente...
Fin quì tutto ok, ma siamo in modalità interattiva, quello che voglio io è automatizzare il processo, so che basta dare una serie di echo per accedere, ma lo script che avevo in mente dovrebbe agire di conseguenza alle risposte del server, può sempre capitare che il server per qualche motivo mi risponda con un -ERR invece che con +OK, e vorrei evitare di lasciare il processo in sospeso all'infinito se ciò dovesse accadere... inoltre vorrei capire se posso redirigere l'output di telnet in una variabile bash per poterci operare come voglio io (ad esempio con wc per sapere quanta posta c'è...)

Qualcuno di voi ha qualche suggerimento in merito da darmi??

Grazie mille a tutti
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Re: bash + telnet per leggere la mail di slacky

Messaggio da masalapianta »

danix85 ha scritto: Qualcuno di voi ha qualche suggerimento in merito da darmi??
non usare lo shell scripting e se proprio devi procurati una bash compilata con --enable-net-redirections e datti una letta a http://www.pluto.it/files/ildp/guide/ab ... ml#DEVREF1

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

ciao masalapianta, ti posso chiedere come mai mi sconsigli di usare lo shell scripting?? Ovviamente nessuno mi obbliga, volevo semplicemente cimentarmi in questa cosa...

Grazie mille per avermi risposto...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Avatar utente
masalapianta
Iper Master
Iper Master
Messaggi: 2775
Iscritto il: lun 25 lug 2005, 0:00
Nome Cognome: famoso porco
Kernel: uname -r
Desktop: awesome
Distribuzione: Debian
Località: Roma
Contatta:

Messaggio da masalapianta »

danix85 ha scritto:ciao masalapianta, ti posso chiedere come mai mi sconsigli di usare lo shell scripting??
perche' non e' pensato per fare ste cose (come ad esempio scrivere un client di rete), quindi risulta molto piu' semplice usare altri strumenti (ad esempio io userei perl+Mail::POP3Client)

Avatar utente
danix
Staff
Staff
Messaggi: 3289
Iscritto il: ven 27 ott 2006, 19:32
Nome Cognome: Danilo M.
Slackware: 64 current
Kernel: 6.12.13 x86_64
Desktop: i3
Località: Verona (VR)
Contatta:

Messaggio da danix »

ok, allora rispolvero la reference di python (l'unico linguaggio che conosco abbastanza...) e lo faccio così lo script (perl ancora non lo conosco...)

Grazie mille per le delucidazioni...
danix
danix ha scritto:non sono molto presente sul forum, e di ciò mi scuso con tutti

Rispondi