L’utilizzo della messaggistica istantanea e degli altri strumenti di comunicazione in tempo reale è ormai all’ordine del giorno per una fetta sempre più ampia di utenti. Eppure, l’email resta ancora oggi protagonista. Già nel 2020, il 50% della popolazione mondiale faceva uso della posta elettronica e nel 2022 il numero di utenti è cresciuto fino ad arrivare a 4,26 miliardi (fonte: Radicati). Nel corso dei tre anni seguenti, la crescita nell’utilizzo delle email è stimata al 3% (circa 100 milioni di nuovi utenti in più ogni anno). Nel 2025, quindi, il numero degli utenti che inviano e ricevono messaggi di posta dovrebbe attestarsi intorno ai 4,6 miliardi.
L’email è un’invenzione del 1971 di Ray Tomlinson, ingegnere informatico statunitense in forze presso una società direttamente coinvolta nello sviluppo di ARPANET. È quindi ampiamente antecedente al World Wide Web (1989). Eppure, la posta elettronica non sembra mai invecchiare. Anzi, il suo utilizzo è in continuo aumento. Come dimostrano i numeri: ogni secondo gli utenti inviano 3,13 milioni di email (fonte: Internet Live Stats) a livello globale.
Cos’è IMAP e perché c’era bisogno di un successore
Tanti utenti scelgono di accedere alle proprie caselle di posta e gestire i messaggi da browser Web. Altri ancora preferiscono installare e utilizzare un client email tradizionale. Tanto che altrove ci siamo chiesti quando scegliere una webmail e quando preferire un client di posta.
IMAP (Internet Message Access Protocol) è un protocollo di comunicazione utilizzato per accedere alle email conservate su un server di posta compatibile. Risale al lontano 1986, come successore del precedente protocollo POP (Post Office Protocol) e consente un accesso più avanzato e interattivo al contenuto delle caselle di posta elettronica.
L’utilizzo di IMAP è essenziale per chi usa un client di posta. Soprattutto quando si utilizza la stessa email da più dispositivi diversi.
Le differenze tra IMAP e POP3, infatti, parlano chiaro. Con IMAP, i dispositivi possono rimanere sempre sincronizzati con il server di posta. Inoltre, lo stato di ciascuna email (letto, non letto, etichette speciali,…) risulta memorizzato e condiviso con tutti gli altri dispositivi. Poiché i messaggi di posta vengono conservati sul server, ogni client ha titolo per gestirli allo stesso modo.
Le principali caratteristiche di IMAP
Sincronizzazione: IMAP permette di mantenere lo stato della casella di posta sincronizzato tra il client e il server, consentendo all’utente di vedere le stesse email e le stesse modifiche da qualunque suo dispositivo.
Gestione delle cartelle: IMAP consente di creare, rinominare e cancellare cartelle sul server di posta, consentendo una migliore organizzazione dei messaggi.
Accesso selettivo: IMAP consente agli utenti di scaricare solo parti specifiche delle email, come l’intestazione o il corpo del messaggio, risparmiando larghezza di banda e riducendo il tempo di download dei messaggi.
Operazioni lato server: IMAP supporta una serie di operazioni che possono essere effettuate sul server, come la ricerca dei messaggi, la gestione delle etichette e l’eliminazione definitiva dei messaggi.
IMAP è diventato uno standard ampiamente utilizzato per l’accesso alle email, ed è ormai da tempo supportato dalla stragrande maggioranza dei client email e dei server di posta. La sua adozione ha contribuito a migliorare l’esperienza degli utenti nell’accesso e nella gestione delle email da dispositivi diversi.
IMAP non esclude la possibilità di utilizzare l’autenticazione con OAuth2
IMAP e OAuth2 (Open Authorization 2.0) sono due tecnologie distinte che possono essere utilizzate insieme per fornire un’esperienza di accesso sicuro e autorizzato alle caselle di posta elettronica.
OAuth2 è un framework di autorizzazione che consente a un’applicazione di accedere alle risorse di un utente in modo sicuro senza condividere direttamente le credenziali di accesso. OAuth2 è ampiamente utilizzato per consentire l’accesso agli account degli utenti senza richiedere l’inserimento delle credenziali di accesso. Abbiamo visto come effettuare l’autenticazione con Google, Microsoft, Facebook e altri fornitori del servizio.
Una relazione tra IMAP e OAuth2 si stabilisce quando il client di posta elettronica è impostato per accedere a una casella di posta utilizzando il protocollo IMAP senza però richiedere l’inserimento delle credenziali. Grazie a OAuth2 il client email può ottenere un token di accesso autorizzato dal soggetto che funge da intermediario (come i già citati Google, Microsoft, Facebook,…). Il token permette di autenticare e autorizzare il client di posta al fine dell’accesso alla casella di posta utilizzando il protocollo IMAP.
Come si vede nell’immagine di esempio, in questo caso il client email richiede l’accesso a un account di posta Gmail. La connessione avviene utilizzando la cifratura SSL/TLS, quindi lo scambio dei dati avviene in modo sicuro grazie all’uso della crittografia. In aggiunta, il client di posta non conosce la password per l’accesso alla casella di posta Gmail perché l’autenticazione avviene mediante token OAuth2.
Cos’è e come funziona JMAP
Se per molti utenti IMAP è già più che sufficiente, nel 2019 si è sentito il bisogno di rinnovare ancora gli strumenti che permettono la gestione delle email.
I promotori del nuovo protocollo di comunicazione JMAP (JSON Meta Application Protocol), Bron Gondwana e Neil Jenkins, osservano che “gli attuali protocolli aperti che collegano client e server di posta elettronica, come IMAP, non sono progettati per l’era moderna“. I due sviluppatori hanno parlato delle complessità di IMAP, dell’elevato utilizzo di risorse, della scarsa adattabilità ai vincoli di rete dei moderni dispositivi mobili. Per non parlare delle difficili interazioni con altri protocolli come SMTP, CalDAV e CardDAV.
Gondwana e Jenkins ritengono che ciò abbia comportato una stagnazione nella qualità dei client di posta elettronica e favorito la creazione di protocolli proprietari, cosa che dovrebbe essere sempre evitata.
Come nasce JMAP
Pogettato per semplificare e standardizzare l’interazione tra client e server nelle applicazioni di posta elettronica, JMAP va ben oltre i suoi predecessori ampliando il suo raggio d’azione, ad esempio, a calendario e contatti. Supportato da IETF (Internet Engineering Task Force) e approvato come standard (ecco le specifiche finali), JMAP è un progetto open source che si è subito guadagnato il sostegno di tante organizzazioni.
Questo ha il vantaggio di definire un modello comune per la gestione delle varie tipologie di dato: così è possibile rendere i client di posta più facilmente interoperabili. Utilizza il formato JSON (JavaScript Object Notation) e definisce un set di API per permettere ai client di accedere ai dati e gestirli in modo efficiente.
L’idea alla base del protocollo JMAP è quella di ridurre la quantità di dati scambiati tra client e server, ottimizzando le richieste e le risposte per migliorare le prestazioni delle applicazioni. Grazie ai meccanismi di sincronizzazione efficienti sui quali si basa JMAP, è possibile mettere in comunicazione più client con il server facendo sì che tutte le modifiche vengano simultaneamente visualizzate.
JMAP nasce inoltre per essere estendibile, consentendo l’introduzione di nuove funzionalità senza dover modificare il protocollo.
Principali differenze tra IMAP e JMAP
Soppesando le differenze tra IMAP e JMAP balzano immediatamente agli occhi le ragioni che hanno portato alla nascita del nuovo protocollo. Innanzi tutto, mentre IMAP utilizza una struttura di dati gerarchica basata su cartelle per organizzare le email e altre informazioni di posta elettronica, JMAP utilizza un modello di dati basato su oggetti JSON.
Le funzionalità di sincronizzazione di IMAP sono meno sofisticate rispetto a quelle di JMAP: il più recente protocollo consente al client di gestire facilmente le modifiche apportate alle email ma anche ai contatti e agli eventi del calendario. Cosa che IMAP non permette di fare. Questo favorisce il supporto diretto di più applicazioni: email, calendario, contatti e altri strumenti possono essere gestiti allo stesso modo attraverso un’unica piattaforma.
JMAP è pensato per essere più efficiente in termini di trasmissione dei dati rispetto a IMAP. Le richieste e risposte JSON sono compatte e aiutano a ridurre la quantità di dati scambiati tra client e server, migliorando le prestazioni dell’applicazione.
Perché JMAP non è ancora utilizzato in massa?
Come tutte le cose nuove, l’adozione di JMAP su larga scala richiede tempo. GitHub ospita ltt.rs, un progetto di client email per Android che utilizza solo JMAP. Stalwart JMAP Server è invece un server JMAP open source scalabile scritto in Rust: abbraccia completamente le specifiche del nuovo protocollo.
Fastmail, società specializzata in servizi di posta elettronica, è una della realtà che ha spinto di più su JMAP contribuendo in modo significativo alla sua definizione e sviluppo. I suoi client, tra cui webmail e app mobili, supportano JMAP di default per consentire una migliore esperienza utente.
Anche realtà come ProtonMail e 1Password hanno deciso di abbracciare JMAP. 1Password, ad esempio, ha utilizzato JMAP per estendere il supporto del servizio alle cosiddette Masked Emails.
Le Masked Emails, anche conosciute come email monouso o email temporanee, sono indirizzi email generati in modo dinamico che consentono agli utenti di proteggere la propria privacy e combattere lo spam. Funzionano creando un indirizzo email unico e separato dall’indirizzo email principale.
In ogni caso, da qui in avanti sarà importante tenere d’occhio l’implementazione di JMAP da parte dei vari vendor. Sarà una buona cartina tornasole per capire quali aziende sono maggiormente aperte all’innovazione e scelgono di non barricarsi sull’utilizzo di protocolli proprietari.