PDA

Visualizza la versione completa : inviare posta con telnet o netcat


ccccc
12-08-2006, 22:52
Salve a tutti.
Sto cercando di fare esperienza nell'utilizzo di una sessione telnet per l'invio di e-mail.
Ho letto alcuni how-to e articoli vari che ho trovato in rete.
Ho fatto alcune prove, cercando di inviarmi un messaggio di prova. La sequenza dei comandi <E8>:

HELO mioindirizzo
MAIL FROM:<mioindirizzo>
RCPT TO:<mioindirizzo>
DATA
blablabla
.
QUIT

Visto che ho due account diversi, ho provato col primo server smtp: "smtp.email.it"
Per<F2> quando do il comando "RCPT TO:...." ricevo un errore... qualcosa che ha che fare con il log-in: tanto per
essere pi<F9> precisi:

"553 <mioindirizzo>: Sender address rejected: not logged in as owner"

che cosa significa???
cos<EC> a naso direi che il problema <E8> che non ho eseguito il log-in....giusto?
A questo punto ho cercato un po' di argomenti in merito e ho poi provato ad autenticarmi:
dando il comando "EHLO" ottengo come risposta la seguente serie di stringhe:

250-smtp-out1.email.it
250-PIPELINING
250-SIZE 15360000
250-ETRN
250-AUTH PLAIN LOGIN GSSAPI
250-AUTH=PLAIN LOGIN GSSAPI
250 8BITMIME

Ho poi provato ad autenticarmi con "AUTH LOGIN", facendo attenzione a codificare user e password in "base 64" con
un programmino trovato in rete (della cui validit<E0> ho quache dubbio), ma il login fallisce sempre....
Dove sbaglio secondo voi?

Effettuando le stesse operazioni da un'altro server smtp (mail.posta.tim.it), sono riuscitoad inviarmi una mail,
senza l'inghippo dell'autenticazione.
Vorrei creare un semplice sript in grado di inviare mail.
Ho trovato un'esempio su un sito e ho provato a modificarlo, ma di fatto il server si rifiuta di eseguire i coman
di e chiude la sessione telnet...

Ho provato anche ad utilizzare netcat al posto di telnet. Provando ad inviare una mail dal server "mail.posa.tim.
it" riesco a dare tutti i comandi con successo, ma quando il messaggio dovrebbe essere terminato, cio<E8> quando
d<F2>
"." per concludere, il messaggio non parte e il server mi sconnette; questo con telnet non succede.

Ricapitolando:

1- come posso risolvere il problema di autenticazione per il server "smtp.emal.i
t" ?
2- come posso rendere automatiche le operazioni con uno script di shell (<E8> po
ssibile con telnet oppure con netcat)?
3- perch<E8> utilizzando netcat non riesco a terminare il messaggio pur immetten
do il carattere "." ?

Aspetto qualche chiarimento, sperando di essere stato sufficientemente chiaro. P
er quanto riguarda lo script, eventualmente potrei inviarlo in seguito se non ri
scissi a risolvere da solo.
Graziein anticipo, a presto.

sacarde
13-08-2006, 09:26
la procedura e' corretta

http://www.to.infn.it/groups/group4/mirror/linux/AppuntiLinux/AL-6.19.90.html

credo che molti siti smtp accettino invio di posta soltanto da connessioni sul loro dominio e quindi con loro utenti

ccccc
13-08-2006, 11:23
Allora, sono riuscito a creare uno script scopiazzando qua e la in rete e, dopo averlo provato dal server
smtp "mail.posta.tim.it", ho constatato che funziona. Pu* effettivamente essere come dici tu sacarde,
infatti io mi connetto col cellulare attraverso la tim e quello il suo server di posta in uscita.
Per** mi sembra strano che non funzioni sull'altro server "smtp.email.it", perch** io sono utente di email.it
e ho un account di posta "...@email.it" e per di pi** co i tradizionali client di posta come tundrebird ad esempio riesco tranquillamente ad inviare mail da
quell'account.

I problemi ancora irrisolti sono:

1- come posso risolvere il problema di autenticazione al server "smtp.email.it" ?
2- perch** utilizzando netcat non riesco a terminare (e quindi ad inviare) il messaggio pur immettendo il carattere "." alla fine ?

ccccc
13-08-2006, 13:22
Dunque, mi sa che il problema di "nc" ** dovuto non tanto al server quanto al sistema operativo...mi spiego meglio:
quanto ho detto nei messaggi precedenti ** stato provato non da linux ma da "cygwin" che ho installato su winXP. Da cygwin non riesco ad inviare con "nc", perch** quando do il "." a fine messaggio, non
succede niente.
Ho provato a fare la stessa cosa ma da linux:

nc mail.posta.tim.it 25

HELO blablabla
MAIL FROM:<indirizzo@tim.it>
RCPT TO:<indirizzo@tim.it>
DATA
prova
posta
.

ma sta volta il messaggio viene spedito regolramente...boh...
Ci potrebbe essere qualche problema particolare in netcat da cygwin???

ccccc
14-08-2006, 17:53
nessun'altra idea?????

ccccc
15-08-2006, 01:16
Ho risolto il problema dell'autenticazione.
Ero io che sbagliavo:
nella stringa codificata in base64 confondevo uno 0 ("zero") con una "O maiuscola" e da li il fallimento
dell'autenticazione.

Avrei adesso un'altra curiosità da chiedere.
Ho letto qualcosa sull'accesso a server POP3 per la lettura "manuale" di mail con l'utilizzo di telnet
o netcat. Sarei interessato ora a sapere se fosse anche possibile scaricare la posta sul pc locale
attraverso una sessione telnet.
A tale proposito mi interesserebbe che qualcuno mi spiegasse brevemente, in termini "terra terra" quali
operazioni effettua un client di posta per scaricare la posta in arrivo ed eventualmente come utilizzare
una sessione telnet per farlo.
In altre parole non intendo l'operazione di lettura delle mail direttamente sul server POP3 (col comando
RETR numero_messaggio), ma proprio il "download" dei
messaggi in una directory locale.

Aspetto una vostra risposta ringraziando in anticipo.
Arrisentirci.

sacarde
15-08-2006, 07:17
296.8 Automatizzare un processo telnet (script expect)
http://lagash.dft.unipa.it/AL/al375.htm

ccccc
15-08-2006, 16:22
grazie della risposta.
Avevo gia visto quello script, l'ho anche provato, ma non è che scarica la posta, bensì lista sullo
schermo il contenuto dei messaggi... io avrei in mente qualcosa in grado di fare effettivamente il
download dei messaggi in una directory del pc.
Pensiamo ad un client usuale tipo outlook o tunderbird: quando scarico la posta, i messaggi sono poi
fisicamente presenti sul mio pc, cioè sono stati scaricati, tant'è vero che sul server pop non ci saranno
piu messaggi.

Spero di aver chiarito un po' quello che intendevo.
Ho provato a fare qualcosa in grado di eseguire tutto cio, o quasi....
A dire il ver non ho fatto molto...ho semplicemente reindirizzato l'output dello script ad un file di
testo:

# nome_script > log.txt

così log.txt conterrà tutto.
Ma sinceramente non era questo che avevo in mente....

Se qualcuno è interessato a darmi una mano, ogni risposta è beneaccetta.
Arrisentirci.

sacarde
15-08-2006, 16:36
ho capito...

senza usare i programmi:

http://www.fis.uniroma3.it/CALCOLO_DOC/unix/appuntilinux/al97.htm


oppure:

http://www.phpclasses.org/browse/package/2.html

ccccc
15-08-2006, 18:34
Originariamente inviato da sacarde
ho capito...

senza usare i programmi:

http://www.fis.uniroma3.it/CALCOLO_DOC/unix/appuntilinux/al97.htm


oppure:

http://www.phpclasses.org/browse/package/2.html

si intendevo proprio questo.
Ho visto i links che hai mandato. Effettivamente fa un po' di chiarezza su un argomento che ignoro.
Tra le altre cose descrive, popclient e pop3 class...se riuscissi a capire come funzionano, cio* quali comandi invia al
server POP per scaricare i messaggi potrei provare a buttar gi* un piccolo script in modo da scopiazzare
il comportamento di popclient.

Mi dirai: perch* non installere popclient e farla finita?
b*, perch* se no non si impara nulla e poi d* soddisfazione inviare e ricevere mail con script fatti con
le proprie mani, inoltre * molto facile modificarli per adattarli alle proprie esigenze ed abitudini
rendendo le operazioni semplici e rapide....e chi pi* ne ha pi* ne metta.
Poi volevo avere anche in windows un'applicazione di quel tipo e, se possibile, che girasse su cygwin
(l'avevo installato per fare pratica prima di provare linux e dopo non l'ho pi* tolto a causa della
flessibilit* della shell, che peraltro conosco appena...).
Ora...il port di popclient per cygwin non l'ho trovato e quindi * un motivo in pi* per sbrigarmela da
solo.

Io sono inesperto e quasi alle prime armi con lo scripting bash. La documentazione comunque c'* in gran
quantit* e una volta capito cosa si deve fare, tradurlo in comandi shell dovrebbe essere il meno.....

Ad ogni modo per tornare al link che hai mandato, * po' troppo "teorico" a me serviva qualcosa di pi*
pratico... ma comunque * gradito e se non altro da qualche chiarimento di base in pi*.
Se hai qualche idea o sai di altri links interessanti, invia pure.

Arrisentirci e grazie ancora.

Loading