Simple Mail Transfer Protocol: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i. #IABot (v1.6.2)
FrescoBot (discussione | contributi)
m Bot: spazi attorno alle parentesi e modifiche minori
Riga 1:
SMTP è un [[Protocollo di comunicazione|protocollo standard]] per la trasmissione di email. Inizialmente proposto nella [[Request for Comments|RFC]] 778<ref>{{Cita web|url=https://tools.ietf.org/html/rfc788|titolo=RFC 778}}</ref> nel 1981, poi aggiornato con <nowiki>RFC 821</nowiki><ref name=":0">{{Cita web|url=https://tools.ietf.org/html/rfc821|titolo=RFC 821}}</ref> nel 1982 ed ulteriormente modificato nel 2008 con l’introduzione di [[ESMTP|extended SMTP]] (RFC 1869 e RFC 5321), 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}}</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=":0" /> (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 binari senza [[trascodifica]]. (Nota che per i file binari inviati con [[Hyper Text Transfer Protocol|HTTP]] si utilizza il formato [[MIME]] senza bisogno di una trascodifica.)
Riga 19:
Negli anni ’60 venivano utilizzate già diverse soluzioni one-to-one per lo scambio di messaggi. Le persone comunicavano tra di loro utilizzando sistemi sviluppati per uno specifico [[mainframe]]. Al crescere dei computer connessi, soprattutto in [[ARPANET]], vennero sviluppati diversi standard per permettere lo scambio di mail tra utenti di sistemi differenti. SMPT nacque da questi standard durante gli anni 70.
 
Le radici di SMTP possono essere trovate in due implementazioni descritte nel 1971: il protocollo Mail Box, la cui implementazione è stata discussa <ref>{{Cita web|url=http://www.multicians.org/thvv/mail-history.html|titolo=The History of Electronic Mail|sito=www.multicians.org|lingua=en|accesso=2017-12-06}}</ref>, ma viene trattata in varie RFC tra cui la <nowiki>RFC 196</nowiki><ref>{{Cita web|url=https://tools.ietf.org/html/rfc196|titolo=RFC 196}}</ref>, ed implementata nel programma SNDMSG che, secondo la RFC 2235, è stato inventato da [[Ray Tomlinson]] della [[BBN Technologies|BBN]] per essere utilizzato su computer [[:en:TOPS-20#TENEX|TENEX]] al fine di inviare messaggi su ARPANET.
 
Ulteriori implementazioni includono FTP Mail<ref>{{Cita web|url=https://tools.ietf.org/html/rfc469|titolo=Network mail meeting summary|autore=M.D. Kudlick|sito=tools.ietf.org|lingua=en|accesso=2017-12-06}}</ref> e Mail Protocol, entrambe del 1973<ref>{{Cita web|url=https://tools.ietf.org/html/rfc524|titolo=Proposed Mail Protocol|autore=J.E. White|sito=tools.ietf.org|lingua=en|accesso=2017-12-06}}</ref>. Il lavoro di sviluppo continuò durante gli anni 70, finché, intorno al 1980, la rete ARPANET si trasformò nella moderna rete internet. [[Jon Postel]] propose un Mail Transfer Protocol nel 1980 che iniziò a rimuovere la dipendenza delle mail da FTP<ref>{{Cita web|url=https://tools.ietf.org/html/rfc772|titolo=Mail Transfer Protocol|autore=Postel, J., Sluizer, S.|sito=tools.ietf.org|lingua=en|accesso=2017-12-06}}</ref>. SMTP venne pubblicato come <nowiki>RFC 788</nowiki> nel novembre del 1981<ref>{{Cita web|url=https://tools.ietf.org/html/rfc788|titolo=Simple Mail Transfer Protocol|autore=J. Postel|sito=tools.ietf.org|lingua=en|accesso=2017-12-06}}</ref>.
Riga 27:
[[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>{{Cita web|url=https://tools.ietf.org/html/rfc2476|titolo=Message Submission|autore=Randall Gellens|sito=tools.ietf.org|lingua=en|accesso=2017-12-06}}</ref>) e [[SMTP Authentication|SMTP-AUTH]] (<nowiki>RFC 2554</nowiki><ref>{{Cita web|url=https://tools.ietf.org/html/rfc2554|titolo=RFC 2554}}</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|Word 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=":1" />) 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.
 
Essendo nato come puro protocollo [[ASCII]] text-based 7-bit, SMTP non gestiva bene i file binari e i caratteri non utilizzati nella lingua Inglese. Standard come Multipurpose Internet Mail Extension ([[Multipurpose Internet Mail Extensions|MIME]]) furono sviluppati per codificare i file binari per il trasferimento tramite SMTP. I mail transfer agent (MTA) sviluppati dopo [[Sendmail]] tendevano ad essere implementati come [[8-bit-clean]] così da poter trasmettere qualsiasi file di testo contenente dati (in una qualsiasi codifica 8-bit ASCII-like) attraverso SMTP. Oggigiorno gli 8-bit-clan MTA tendono a supportare l’estensione [[8BITMIME]], permettendo la facile trasmissione di file binari, come avviene per file di testo. Recentemente è stata sviluppata l’estensione [[SMTPUTF8]] per permettere il supporto di testo con codifica [[UTF-8]], garantendo lo scambio di messaggi in lingue come [[Cirillico]] e [[Caratteri cinesi tradizionali|Cinese]].
 
Molte persone contribuirono allo sviluppo delle specifiche SMTP, tra i quali [[Jon Postel]], Eric Allman, Dave Crocker, Ned Freed, [[Randall Gellens]], [[John Klensin]] e [[Keith Moore]]. 
 
== Modello di gestione delle mail ==
Riga 69:
 
=== Internazionalizzazione ===
Utenti per i quali la lingua scritta non è basata sull'alfabeto Latino o che usano simboli non contenuti nel set di caratteri [[ASCII]], possono aver problemi causati dal fatto che l’indirizzo mail richiede solamente caratteri Latin. <nowiki>RFC 6531</nowiki> <ref>{{Cita web|url=https://tools.ietf.org/html/rfc6531|titolo=RFC 6531}}</ref>nacque per risolvere questo problema, introducendo l’estensione SMTPUTF8 e il supporto per una codifica multi byte per caratteri non ASCII per gli indirizzi mail, per supportare lingue come il greco e cinese.
 
== SMTP Server ==
Riga 87:
 
==== Client autentication ====
I moderni server SMTP solitamente richiedono l’autenticazione dei client attraverso credenziali, prima di permetterne l’accesso, invece di bloccare direttamente l’accesso in base alla posizione, come descritto prima. Questo sistema più flessibile permette agli utenti mobili di  avere un server SMTP di outboud fisso. L’autenticazione SMTP, spesso abbreviata con [[SMTP AUTH]], è un’estensione di SMTP per permettere l’accesso attraverso meccanismi di autenticazione.
 
==== Open Relay ====
Riga 94:
==== Porte ====
La comunicazione tra mail server solitamente avviene attraverso [[TCP/IP|TCP]] sulla porta 25, anche se i [[Client mail|client di posta elettronica]] solitamente utilizzano un’altra porta. I servizi mail accettano di solito l’invio delle mail sulle porte:
* 587 (consegna), come standardizzato nella <nowiki>RFC 6409</nowiki> <ref>{{Cita web|url=https://tools.ietf.org/html/rfc6409|titolo=RFC 6409}}</ref>(precedentemente <nowiki>RFC 2476</nowiki><ref name=":1">{{Cita web|url=https://tools.ietf.org/html/rfc2476|titolo=RFC 2476}}</ref>).
* 465. Questa porta è stata deprecata dalla <nowiki>RFC 2487</nowiki><ref>{{Cita web|url=https://tools.ietf.org/html/rfc2487|titolo=RFC 2487}}</ref>, dopo essere stata assegnata al servizio [[secure SMTP]] nel 1990. Ciononostante è comunemente usata dai provider mail.
La porta 2525 e altre possono essere utilizzate da alcuni provider ma non sono ufficialmente supportate.
Riga 193:
Per questo motivo sono stati proposti diversi protocolli ausiliari per assistere le transazioni SMTP. L'[[Anti-Spam Research Group]] dell'[[Internet Engineering Task Force|IETF]] sta lavorando su varie proposte di autenticazione e-mail centrate sulla flessibilità, leggerezza e [[scalabilità]].
 
== Gli standard RFC relativi ==
Pubblicato nel 2008, il RFC 5321 – "The Simple Mail Transfer Protocol" è il documento di specifica principale per quanto riguarda il protocollo SMTP e rende obsoleti il RFC 821 (conosciuto anche come STD 10), RFC 974, RFC 1869 e RFC 2821.
Inoltre, i seguenti RFC estendono le funzionalità del protocollo SMTP:
Riga 204:
* RFC 3207 – SMTP Service Extension for Secure SMTP over Transport Layer Security (rende obsoleto RFC 2487)
* RFC 3461 – SMTP Service Extension for [[Delivery Status Notification]]s (rende obsoleto RFC 1891)
* RFC 3463 – Enhanced Status Codes for SMTP (rende obsoleto RFC 1893 )
* RFC 3464 – An Extensible Message Format for Delivery Status Notifications (rende obsoleto RFC 1894)
* RFC 3798 - Message Disposition Notification