I comandi principali
Ecco una panoramica dei principali comandi del protocollo SMTP:
-
HELO: Identifica il client SMTP al server SMTP
-
EHLO: E' possibile usare anche questo comando per identificarsi, se il server supporta le SMTP Service Extensions riponderà in modo positivo altrimenti con un errore di tipo 500 (Syntax Error)
-
MAIL FROM: <indirizzo mittente>: Indicata la mailbox del mittente del messaggio
-
RCPT TO: <indirizzo destinatario>: Indica la mailbox del destinatario (Recipient). E' possibile specificare attraverso molteplici RCPT TO diversi destinatari
-
DATA: Indica al server che quanto digitato successivamente saranno i dati del messaggio di posta
-
RSET: Annulla i comandi (Reset) precedentemente inviati nella sessione SMTP corrente
-
VRFY <stringa>: Chiede al server se la stringa di testo immessa rappresenta un nome utente presente ed in tal caso visualizza l'intero indirizzo
-
HELP: Visualizza i comandi disponibili sul server
-
NOOP: Non esegue nessuna operazione restituisce solo un messaggio 250 (Ok) se il server risponde
-
QUIT: Termina la sessione SMTP corrente
Una classica sessione d'invio
Una classica sessione d'invio della posta su protocollo SMTP attraversa almeno sei fasi:
-
Il client SMTP contatta il server sulla porta TCP 25. Se questo è in ascolto e la connessione è accettata risponde con un messaggio 220 (Ready)
-
Il client chiede di stabilire la sessione SMTP inviando il comando
HELO
seguito dal FQDN (Fully Qualified Domani Name). Se il server accetta risponde con un messaggio 250 (Ok)
-
Il client indica il proprio indirizzo tramite il comando
MAIL FROM:
<indirizzo mittente> Il server risponde con 250 (Ok) per ogni destinatario accettato
-
Successivamente il client indica al server i destinatari del messaggio tramite
RCPT TO:
<indirizzo destinatario> ed il server risponde per ogni destinatario accettato un codice 250 (Ok)
-
Il client comunica al server l'intenzione di scrivere il corpo del messaggio con
DATA.
Il server risponde con un codice 354 e indica come marcare il termine del messaggio. I campi come Date, Subject, To, Cc, From vanno inseriti tra i dati della mail
-
Completato il messaggio da scrivere tramite
.
il server memorizza la mail. A questo punto è possibile, scrivere un nuovo messaggio oppure inviare il comando QUIT
dopo il quale il server invia i messaggi e risponde con un codice 221 (Closing) e la connessione TCP viene terminata