Come spedire
e-mail usando telnet e un server ESMTP
Per usare Telnet bisogna accertarsi di avere sul pc il file telnet.exe; solitamente è collocato in X:\windows\ (X rappresenta la lettera del disco rigido su cui è installato Windows). Se il programma non è presente è necessario installare Accesso Remoto o il protocollo TCP/IP Microsoft dal cd di Windows.
Lanciato il programma, ecco come apparira' sullo schermo.

Di default Telnet non visualizza il testo digitato, perciò consiglio di attivare l'eco locale, ovverosia la visualizzazione del testo immesso, andando sul menu "Terminal (Terminale)", cliccando sulla voce "Preferences (Preferenze)" e selezionando la casella "Local Echo (Eco locale)".
Ora ci si può connettere ad un server di posta ESMTP o SMTP.
Piccola digressione: il server ESMTP (Extended Simple Mail Transfer Protocol), come il suo antenato SMTP, è un programma attivo su un computer permanentemente connesso a Internet e si occupa di ricevere e spedire la posta elettronica dialogando con gli altri computer che compongono la rete mondiale.
Si deve dunque trovare il nome di questo server ESMTP. Noi in questo esempio useremo il server di Libero: smtp.libero.it.
Fate attenzione: per contrastare il fastidioso fenomeno dello spamming la maggior parte dei server consente l'invio di e-mail ad un ristretto numero di computer, solitamente facenti parte della loro sottorete: ciò vuol dire che se siete connessi telefonicamente ad un Dial-up Server di Libero potrete spedire posta col suo server ESMTP, altrimenti dovrete connettervi a quello del vostro provider (ad es. per TIN smtp.tin.it e così via, cercate sul sito del vostro provider il nome esatto del server ESMTP).
Per lanciare la connessione al server si deve cliccare sul menu "Connect (Connetti)", e scegliere la voce "Remote System (Sistema remoto)". Apparsa la piccola finestra di dialogo, si devono riempire le caselle di testo: nella casella "Host Name (Nome host)" digitare il nome del server di posta smtp.libero.it (in alternativa Telnet accetta anche l'indirizzo IP). Nella casella "Port (Porta)" digitare il numero della porta su cui è in ascolto il server ESMTP: di default è la 25. Infine in "TermType (Tipo terminale)" lasciare il modello vt100. Premere il pulsante "Connect (Connetti)".
Alla pressione del tasto "Connect (Connetti)" Telnet chiederà al server di aprire una connessione (detta anche socket) e, se stabilita, dovrebbe apparire il saluto del server sulla finestra di Telnet; attualmente, 7 maggio 2001 la dicitura di Libero è
Approfittiamo di questo momento per analizzare il modo in cui si "esprime" il server: davanti ogni messaggio mette un numero, che è legato all' informazione veicolata: in questo caso 220 indica il messaggio di benvenuto. Fra gli altri numeri, il 221 indica invece il messaggio di congedo, il 250 il messaggio di avvenuta accettazione del comando, e così via. (Per una trattazione completa del protocollo SMTP e ESMTP vi rimando ai documenti RFC (Request For Comment) 821 e seguenti, disponibili su ftp://ftp.nic.it/rfc.)
Ora il protocollo SMTP prevede che ci si "autentichi" con il comando "HELO", percio' è necessario scrivere "HELO" seguito da un nome o dominio a vostra scelta (tenete presente che il server in ogni caso legge, e salva nell'e-mail che spedirete, il vostro numero IP):
il server
rispondera' con un 250:
NOTA: Può capitare che fra un comando ESMTP e l'altro lasciate passare un tempo sufficiente a far scattare il time-out del server. Purtroppo in tal caso dovrete ripetere tutti i passaggi per tornare al punto in cui siete stati interrotti.
A questo punto si può digitare il comando: "MAIL FROM:" seguito dall'account che si desidera inserire come mittente (esso apparirà negli "headers" della e-mail), ad esempio:
NOTA: per i
vecchi server SMTP si devono omettere le parentesi angolari a delimitazione
dell'account, ad esempio:
Accertato che
il server abbia risposto con il messaggio 250 di accettazione del comando
si prosegue scrivendo il destinatario usando il comando "RCPT TO:" (RCPT sta
per recipient, ricevente in inglese):
(per le parentesi
angolari vale la nota al comando "MAIL FROM:").
Ricevuto l'atteso 250 è arrivato il momento di scrivere il corpo della
e-mail; lo si fa usando il comando "DATA" senza nessun altro parametro:
il server risponderà
col messaggio 354: qualcosa tipo
Avverte che ora si deve
scrivere il testo della lettera, e che sarà necessario comunicare di
averla terminata digitando un ritorno a capo (tasto Invio), un punto, e un
altro ritorno a capo. (NOTA: CRLF sta per Carriage return - Line feed, ovvero
Ritorno del Carrello, Nuova Linea).
Dopo il messaggio 354 si dovrà scrivere il corpo della lettera, ma
preceduto almeno dagli header più classici come "Subject:", "From:",
"To:", "Cc:" eccetera.
(Ovviamente, quale
che sia l'email del mittente indicata precedentemente col comando "MAIL
FROM:" il programma di posta visualizzerà come mittente il nome digitato
dopo l'header "From:" facente parte del corpo della lettera; lo stesso discorso
vale per il nome del destinatario indicato con "RCPT TO:" e quello scritto
dopo "To:").
Esempio di header:
Quindi ecco
un esempio da digitare dopo il 354:
A questo punto, se non
si sono fatti errori, il server risponderà con il messaggio 250 di
accettazione comando; e spedirà l'e-mail.
Ora se si desidera spedirne un'altra, è sufficente ripartire dal
comando "MAIL FROM:", se invece si desidera uscire si scrive "QUIT" senza
parametri, il server salutera' con un 221 e Telnet avvertirà dell'avvenuta
chiusura del socket.
E ora... non spedite mail anonime, mi raccomando!!!! :-)