Simple Mail Transfer Protocol: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
LauBot (discussione | contributi)
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=httphttps://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.
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=httphttps://www.iana.org/assignments/mail-parameters/mail-parameters.txt|titolo=Parametri Mail}}</ref>.
 
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