Simple Mail Transfer Protocol: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(Una versione intermedia di un altro utente non mostrate)
Riga 1:
'''Simple Mail Transfer Protocol''' ('''SMTP''') è un [[Protocollo di comunicazione|protocollo standard]] per la trasmissione di [[Posta elettronica|email]]. Inizialmente proposto nella [[Request for Comments|RFC]] 788<ref name="RFC788">{{IETF|788|Simple Mail Transfer Protocol}}</ref> nel 1981, poi aggiornato con <nowiki>RFC 821</nowiki><ref name="RFC821">{{IETF|821|Simple Mail Transfer Protocol}}</ref> nel 1982 ed ulteriormente modificato nel 2008 con l'introduzione di [[ESMTP|extended SMTP]]<ref name="RFC1869">{{IETF|1869|SMTP Service Extensions}}</ref><ref name="RFC5321">{{IETF|5321|Simple Mail Transfer Protocol}}</ref>, che è il protocollo attualmente in uso.
 
Anche se i [[server di posta elettronica]] utilizzano SMTP per inviare e ricevere mail, i client mail a livello utente utilizzano SMTP solo per inviare il messaggio al server mail, il quale si occupa dell'invio del messaggio stesso. Per recuperare i messaggi, le applicazioni client usano solitamente protocolli come [[Internet Message Access Protocol|IMAP]] o [[Post Office Protocol|POP3]].
Riga 10:
 
== Descrizione ==
È un protocollo [[ASCII|testuale]] relativamente semplice, nel quale vengono specificati uno o più destinatari di un messaggio e, dopo aver verificato la loro esistenza, il messaggio viene trasferito. È abbastanza facile verificare come funziona un server SMTP mediante un [[client]] [[telnet]]<ref>{{Cita web|url=https://www.port25.com/how-to-check-an-smtp-connection-with-a-manual-telnet-session-2/|titolo=Test comunicazione SMTP con telnet|accesso=4 gennaio 2018|dataarchivio=5 aprile 2017|urlarchivio=https://web.archive.org/web/20170405053531/http://www.port25.com/how-to-check-an-smtp-connection-with-a-manual-telnet-session-2/|urlmorto=sì}}</ref>. Il protocollo SMTP utilizza come protocollo di [[livello di trasporto]] [[Transmission Control Protocol|TCP]]. Il client apre una [[sessione]] TCP verso il server sulla [[porta (reti)|porta]] 25 (molti Provider per limitare lo spam utilizzano al suo posto la porta TCP 587 come previsto dalla RFC 2476 del dicembre 1998). Per associare il server SMTP a un dato nome di dominio ([[Domain Name System|DNS]]) si usa un Resource Record di tipo [[Tipi di record DNS|MX (Mail eXchange)]].
 
Poiché SMTP è un protocollo testuale basato sulla codifica [[ASCII]]<ref name="RFC821" /> (in particolare ASCII NVT 7-bit), non è permesso trasmettere direttamente testo composto con un diverso set di caratteri (quindi nemmeno [[file]] binari). Lo standard [[MIME]] permette di estendere il formato dei messaggi mantenendo la compatibilità col [[software]] esistente. Per esempio, al giorno d'oggi molti server SMTP supportano l'estensione [[8BITMIME]], la quale permette un trasferimento di un testo che contiene caratteri accentati (non-ASCII) senza bisogno di trascodificarlo. Altri limiti di SMTP, quale la lunghezza massima di una riga, impediscono la spedizione di [[File binario|file binari]] senza [[trascodifica]]. (Nota che per i file binari inviati con [[Hypertext Transfer Protocol|HTTP]] si utilizza il formato [[MIME]] senza bisogno di una trascodifica.)
Riga 25:
Agli inizi degli anni '80, SMTP divenne largamente utilizzato. A quell'epoca era un'estensione di [[UUCP]] (abbreviazione di Unix-to-Unix Copy Program, è una suite di programmi e protocolli che permettono l'esecuzione remota di comandi e il trasferimento di file ed email tra computer), che era più adatto a gestire il trasferimento di email tra computer connessi in maniera intermittente. SMTP tuttavia funziona meglio con mittente e destinatario sempre connessi alla rete. Entrambi utilizzano un meccanismo di [[store and forward]] e sono esempi di [[logica push]].
 
[[Sendmail]], rilasciato con [[Berkeley Software Distribution|4.1cBSD]], subito dopo la RFC 788, fu uno dei primi mail transfer agent ad implementare SMTP<ref>{{Cita web|url=https://docs.freebsd.org/44doc/smm/09.sendmail/paper.pdf|titolo=}}</ref>. Grazie al fatto che BSD [[Unix]] divenne il [[sistema operativo]] più diffuso su internet, sendmail diventò il [[Server di posta elettronica|mail transfer agent]] (mail server) più utilizzato. Altri SMTP server sono [[Postfix]], [[qmail]], [[Novell]] [[GroupWise]], Exim, [[Novell NetMail]], [[Microsoft Exchange Server]] e [[Oracle Communications Messagging Server]].
 
La possibilità di inviare messaggi (<nowiki>RFC 2476</nowiki><ref name="RFC2476">{{IETF|2476|Message Submission}}</ref>) e [[SMTP Authentication|SMTP-AUTH]] (<nowiki>RFC 2554</nowiki><ref>{{IETF|2554|SMTP Service Extension for Authentication}}</ref>) furono sviluppati nel 1998 e 1999, introducendo un nuovo trend nella consegna della email. Inizialmente, i server SMTP erano tipicamente all'interno di una organizzazione, ricevendo mail per l'organizzazione dall'esterno e consegnando messaggi dall'organizzazione per l'esterno. A causa della veloce espansione del [[World Wide Web]], i server SMTP hanno dovuto inserire regole specifiche e metodi per consegnare email ed autenticare gli utenti per prevenire abusi come consegna di mail non richieste ([[spam]]). Il lavoro sull'invio dei messaggi (<nowiki>RFC 2476</nowiki><ref name="RFC2476" />) fu sviluppato perché i più famosi mail server spesso sovrascrivevano la mail per sistemare i problemi contenuti in essa come, per esempio, aggiungendo il nome di dominio ad un indirizzo non specificato. Questo comportamento è desiderato quando il messaggio viene corretto mentre si trova in uno stato iniziale ma pericoloso e dannoso quando il messaggio è stato generato altrove e sta per essere trasmesso. Separare mail tra consegna e trasmissione è visto come un modo per permettere ed incoraggiare il rewriting submission e bloccare il rewriting relay. Questa separazione tra consegna e trasmissione divenne velocemente la base della sicurezza mail.
Riga 65:
 
=== Inizializzazione Coda di Messaggi Remota ===
L'Inizializzazione di una coda di messaggi remota è una caratteristica di SMTP che permette ad un [[host]] remoto di iniziare il processamento della coda delle mail su un server, il quale può ricevere messaggi destinati ad esso inviando in comando '''<code>TURN</code>'''. Questa caratteristica tuttavia è stata giudicata insicura<ref name="RFC1985">{{IETF|1985|SMTP Service Extension for Remote Message Queue Starting}}</ref> e fu sostituita (<nowiki>RFC 1985</nowiki><ref name="RFC1985" />) dal comando '''<code>ETRN</code>''' che opera in maniera più sicura utilizzando un metodo di autenticazione basato su Domain Name System Information.
 
=== Internazionalizzazione ===