Simple Mail Transfer Protocol: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 50:
== Struttura del Protocollo ==
SMTP è un protocollo [[connection oriented]], [[text based]], nel quale un mail sender comunica con un mail receiver inviando stringhe di comandi e fornendo le informazioni necessarie attraverso un canale di comunicazione affidabile, tipicamente basato su [[TCP/IP|TCP]]. Una sessione SMTP consiste nello scambio di comandi generati da un client SMTP e le corrispettive risposte del server SMTP. Un sessione può includere zero o più transazioni SMTP. Una ''transazione SMTP'' consiste in tre sequenze di comandi e risposte:
# '''<code>MAIL FROM</code>''': comando per definire l’indirizzo di ritorno, chiamato anche return-path<ref>{{Cita web|url=http://cr.yp.to/smtp/mail.html|titolo=The MAIL, RCPT, and DATA verbs}}</ref>, reverse-path<ref name="tools.ietf.org"/>, bounce address, mfrom o envelope sender.
# '''<code>RCPT TO</code>''': comando per definire il destinatario del messaggio. Questo comando può essere inviato più volte, una per ogni destinatario (gli indirizzi fanno parte della struttura (envelope)).
# '''<code>DATA</code>''': comando inviato per segnalare l’inizio del messaggio di testo, il contenuto del messaggio, come definito nell'envelope. Consiste di un header ed un body, separati da una linea vuota. <code>DATA</code> tuttavia è un insieme di comandi ai quali il server risponde due volte: la prima volta come conferma di ricezione del testo (acknowledge), la seconda dopo la sequenza di end-of-data per accettare o rifiutare l’intero messaggio.
Oltre alle risposte intermedie al comando '''<code>DATA</code>''', ogni risposta del server può essere positiva (caratterizzata dal codice 2xx) o negativa. Le riposte negative possono essere permanenti (5xx) o temporanee (4xx). Un rifiuto ('''reject''') rappresenta un fallimento permanente e il client dovrebbe inviare un bounce message al server dal quale ha ricevuto il messaggio. Un '''drop''' è una risposta positiva, seguita dal messaggio di rifiuto, invece che dal messaggio di avvenuta consegna.
|