Oggi vi spiego come inviare un messaggio di posta elettronica utilizzando Telnet. Alcuni di voi si staranno chiedendo perchè mai dovremmo utilizzare Telnet quando possiamo benissimo accedere alla nostra webmail su Internet o attraverso programmi come Outlook. La risposta è semplice: può capitare che il browser dia problemi, può capitare che il servizio di webmail sia temporaneamente disabilitato, se abbiamo un computer vecchio ed una connessione 56K è più veloce utilizzare Telnet piuttosto che aprire delle pagine web piene di elementi grafici che ci rallentano la connessione, gli amministratori di sistema possono utilizzare Telnet per verificare se un server SMTP è attivo. Infine questa è una guida per tutti coloro che sono dannatamente curiosi e vogliono capire più a fondo come funziona l' invio di una mail.
Prima di partire, assicuratevi che le porte 23 (Telnet) e 25 (SMTP) siano aperte in uscita sul vostro computer.
Ci sono 2 cose importanti da dire sull' invio di mail tramite Telnet:1) nella maggior parte dei casi non è possibile inviare mail tramite Telnet connettendomi al server SMTP di un provider (es. Libero) quando la mia connessione è con un altro provider (es. Alice). Questo è dovuto al fatto che se i server SMTP accettassero qualsiasi utente, anche non facente parte della propria rete, ci sarebbero migliaia di spammer che li utilizzerebbero per inviare mail.
2) anche se ci colleghiamo al server SMTP del provider con il quale ci stiamo connettendo, può capitare che non possiamo inviare mail a persone che non siano utenti del nostro provider. Per esempio la mia connessione è con Libero, mi collego con Telnet al server SMTP di Libero ma non posso inviare mail ad utenti di Alice (questo problema si risolve autenticandosi con AUTH ma non lo spiegherò in questo post).
Tratto da Wikipedia:
Telnet è un protocollo di rete utilizzato su Internet. È solitamente utilizzato per fornire all'utente sessioni di login remoto di tipo linea di comando tra host su internet.
Telnet è già presente sia su Windows sia su Linux. Su Windows basta cliccare su
Start,
Esegui, scrivere
cmd e si dovrebbe aprire il prompt dei comandi di Windows. Nel terminale scriviamo
telnet ed il gioco è fatto. Dopo aver aperto Telnet su Windows, solitamente accade che quando scriviamo qualcosa non riusciamo a vedere niente perchè Telnet mostra solo i messaggi che riceviamo ma non mostra ciò che scriviamo noi. Per eliminare il problema possiamo scrivere
set local echo oppure
set localecho in Windows XP. Adesso dovremmo vedere ciò che scriviamo in Telnet.
Su Linux ovviamente non dobbiamo fare altro che entrare nel terminale e digitare
telnet.
Ora che sappiamo come entrare in Telnet, dobbiamo collegarci al server SMTP del nostro provider. Per fare questo dobbiamo conoscere l' indirizzo di questo server. Il server di tin per esempio è
smtp.tin.it mentre quello di libero è
mail.libero.it. Per trovare l' indirizzo del server SMTP del nostro provider basta cercare su Google oppure cliccate
qui per avere un elenco di server.
Ora che conosciamo l' indirizzo del server SMTP, siamo pronti ad inviare la mail. Io personalmente sono connesso con Alice e dopo aver fatto delle prove ho notato che posso inviare mail attraverso i server SMTP di Alice, Tin e Virgilio. Quindi apro il terminale, scrivo
telnet e poi scrivo
open smtp.tin.it 25 per potermi connettere al server di Tin. Il server mi risponde con le seguenti righe:

Ora che siamo connessi al server, dobbiamo identificarci scrivendo
HELO tin.it. In tutti i server SMTP dobbiamo identificarci scrivendo
HELO nomedominio dove nomedominio è il dominio del nostro provider ma in linea generale possiamo scrivere anche un nostro nickname. Dopo essermi identificato, il server risponde con la riga
250 vsmtp7.tin.it che indica la corretta identificazione. A questo punto indichiamo l' indirizzo del mittente della mail che vogliamo inviare scrivendo
MAIL FROM: seguito dall' indirizzo del mittente posto tra i segni <>.
Qualcuno di voi potrà pensare che possiamo scrivere un indrizzo a caso per inviare delle mail false ma sarebbe da sciocchi perchè il server SMTP logga anche il nostro IP durante la fase di identificazione. Ora dobbiamo indicare l' indirizzo del destinatario scrivendo
RCPT TO: seguito dall' indirizzo del destinatario posto tra i segni <>.
Sull' indirizzo destinatario devo spendere 2 parole: personalmente connettendomi con Alice ho notato che il server SMTP di Tin non permette di inviare la mail ad utenti di altri provider (es. Libero). Quindi, se mi connetto con Alice e voglio utilizzare il server di Tin posso solo inviare mail ad utenti Tin. Invece se mi connetto sul server SMTP di Virgilio posso inviare mail anche ad altri utenti.
Dopo aver scritto l' indirizzo del destinatario, dobbiamo scrivere il messaggio della mail. Scriviamo quindi il comando
DATA e premiamo invio: consiglio di inziare a scrivere subito il soggetto della mail perchè alcuni server SMTP non inviano mail senza soggetto. Scriviamo
Subject: soggetto della mail e premiamo invio 2 volte. Scriviamo il testo della mail e quando abbiamo finito dobbiamo premere INVIO PUNTO INVIO. In pratica dobbiamo premere il tasto Invio, premere il tasto del punto e ripremere il tasto Invio. Se tutto va bene il server ci risponderà con un messaggio del tipo
250 <******> Mail accepted oppure
250 <******> Queued mail for delivery. Per uscire definitivamente scriviamo
quit.
Se non avete capito qualcosa ecco un' immagine che riassume tutto quello che ho detto. Nell' immagine vi mostro una tipica sessione Telnet sul server SMTP di Alice su porta 25. Ricordatevi che la mia connessione era con Alice durante la sessione Telnet.
Questa è una guida che ho scritto basandomi su decine di prove che ho personalmente eseguito nel mio terminale, con la mia connessione e su vari server SMTP. Ognuno può avere una connessione diversa dalla mia e può connettersi ad un server SMTP che io non ho mai testato. Il mio consiglio quindi è quello di fare delle prove, per capire cosa siamo in grado di fare, con quale connessione e su quali server.
Ogni server SMTP può essere stato configurato con determinati filtri che cercano di bloccare azioni di spam, quindi l' unica cosa da fare è sperimentare fino a quando si è padroni di ciò che si sta facendo.
NOTA IMPORTANTE: fare delle prove con Telnet è importante per comprendere pienamente il meccanismo di invio delle mail, però non abusate troppo dei server SMTP dei provider. Per spiegarci bene, non collegatevi 10000 volte in 3 minuti ad uno stesso server, perchè potrebbe capitare che il provider inserisca il vostro IP in una blacklist e non vi permetta di inviare mail senza autenticazione.