By 4 Novembre 2010

Invio di un’email via TELNET

Quando spedisci un messaggio di posta elettronica (di solito tramite un client e-mail), stai usando il protocollo SMTP. SMTP sta per Simple Mail Transfer Protocol e potremmo definirlo rozzamente un insieme di regole e di comandi per inviare messaggi di posta elettronica. Il protocollo SMTP e’ definito nella RFC 821. Quando spedisci un a e-mail, il tuo server SMTP (che spedisce) stabilisce una connessione a due vie con il server SMTP ricevente. Il server ricevente potrebbe essere la destinazione finale oppure un intermediario. Una volta stabilita la connessione, il server che spedisce invia dei comandi al server ricevente. Il server ricevente a sua volta, risponde inviando un codice di stato. In altre parole quando spedisci una e-mail tramite, diciamo Eudora, ti colleghi al tuo server SMTP. Successivamente invii dei comandi al tuo server SMTP, il quale stabilisce una connessione con il server ricevente, invia i comandi, e riceve le risposte corrispondenti. Infine la connessione viene chiusa. Forse non lo sai, ma non e’ indispensabile utilizzare un client e-mail per inviare messaggi di posta elettronica. Infatti puoi collegarti al server SMTP via telnet. Devi usare il numero di porta 25, perche’ il server SMTP ascolta quella porta (ogni specifico server ascolta una specifica porta, per esempio il server HTTP – il server web – ascolta la porta 80, mentre il server POP ascolta la porta 110). Vediamo i comandi SMTP principali:

HELO tuohost (dovee tuohost e’ il nome del server che spedisce il messaggio. Questo comando e’ usato per identificare il server mittente)
MAIL tuoindirizzo (dove tuo indirizzo e’ il tuo indirizzo di posta elettronica. Questo comando inizia una transazione di posta dove i dati vengono consegnati ad una o piu’ caselle di posta)
RCPT indirizzodestinatario (dove indirizzo destinatario e’ l’ indirizzo di posta elettronica del destinatario)
DATA (questo comando e’ usato per definire il testo del messaggio. Un testo di una e-mail puo’ contenere solo i caratteri compresi nel set dei 128 caratteri dello standard ASCII. La fine del messaggio e’ indicata da una riga contenente esclusivamente la sequenza di caratteri “.” . In altre parole devi premere il tasto invio, digitare un punto e premere di nuovo il tasto invio)
RSET (questo comando specifica che la transazione corrente deve essere interrotta)
NOOP (questo comando indica che non deve essere eseguita alcuna azione, tranne quella che permette al ricevente di inviare una risposta di OK)
QUIT (questo comando e’ usato per chiudere la connessione)
Le risposte piu’ comuni:

220 Service ready
221 Service closing transmission channel
250 Requested mail action okay, completed
354 Start mail input; end with .
421 Service not available, closing transmission channel
450 Requested mail action not taken: mailbox unavailable [Es. mailbox occupata]
500 Syntax error, command unrecognized [Es. una riga di comando troppo lunga]
501 Syntax error in parameters or arguments
502 Command not implemented
550 Requested action not taken: mailbox unavailable
551 User not local; please try
554 Transaction failed

Esempio di sessione:

S: telnet qualcheparte 25
R: 220 qualcheparte Simple Mail Transfer Service Ready

S: HELO miohost
R: 250 miohost

S: MAIL FROM:<Marco@miohost>
R: 250 OK

S: RCPT TO:<Roberto@suohost>
R: 250 OK

S: DATA
R: 354 Start mail input; end with .

S: Blah blah blah…
S: …etc. etc. etc.
S: .
R: 250 OK

S: QUIT
R: 221

RIASSUMENDO:

HELO local.domain.com
MAIL FROM:<tuousername@***.it>
RCPT TO:<proveand@***.eu>
DATA

About the Author:

shared on wplocker.com