Simple Mail Transfer Protocol: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: passaggio degli url da HTTP a HTTPS |
|||
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=
# '''<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.
Riga 171:
Il client può scoprire quali opzioni supporta un server attraverso il messaggio <code>EHLO</code>, come mostrato in seguito, invece di inviare il tradizionale <code>HELO</code>. Il client ritorna ad un messaggio di <code>HELO</code> solo se il server non supporta le estensioni di SMTP.<ref>{{Cita web|url=https://tools.ietf.org/html/rfc1869|titolo=Estensioni SMTP - RFC 1869}}</ref>
I moderni client possono usare la keyword <code>SIZE</code>, introdotta dall'estensione [[ESMTP]], per chiedere al server la dimensione massima del messaggio che viene accettato. In passato, c'era il rischio che client e server tentassero di trasferire messaggi troppo grandi, che sarebbero stati bloccati dopo aver utilizzato le risorse della rete tra cui il tempo di connessione<ref>{{Cita web|url=
Gli utenti possono determinare manualmente, in anticipo, la dimensione massima accettata dal server ESMTP, sostituendo il comando <code>HELO</code> con <code>EHLO</code>, come di seguito
|