{"id":18593,"date":"2025-04-23T14:14:54","date_gmt":"2025-04-23T12:14:54","guid":{"rendered":"https:\/\/www.techxplore.it\/?p=18593"},"modified":"2025-04-23T14:14:54","modified_gmt":"2025-04-23T12:14:54","slug":"gmail-annulla-newsletter-con-un-tocco","status":"publish","type":"post","link":"https:\/\/www.smartertech.it\/home\/gmail-annulla-newsletter-con-un-tocco\/","title":{"rendered":"Gmail: annulla newsletter con un tocco"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">L&#8217;aggiornamento di <a href=\"https:\/\/mail.google.com\" target=\"_blank\" rel=\"noopener\" title=\"Gmail \"><strong>Gmail<\/strong> <\/a>introduce una funzionalit\u00e0 che permette di <strong>annulla<\/strong>re le <strong>newsletter<\/strong> in modo semplice e immediato, offrendo agli utenti un\u2019esperienza pi\u00f9 intuitiva. Grazie a <strong>Manage<\/strong> <strong>subscription<\/strong>, \u00e8 possibile gestire tutte le iscrizioni in un\u2019unica schermata, riducendo il tempo speso nell\u2019inbox. In questo articolo tecnico vedremo come funziona il nuovo sistema, esploreremo i protocolli coinvolti (come <strong>SMTP<\/strong> e <strong>IMAP<\/strong>), i flussi di <strong>OAuth<\/strong> e i dettagli di <strong>implementazione<\/strong> sia su <strong>Android<\/strong> che su <strong>iOS<\/strong>, e analizzeremo le metriche di <strong>deliverability<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.smartertech.it\/wp-content\/uploads\/2025\/04\/8e34e3c2-5a9a-41b1-ba52-64c0b23004ea.jpeg\" alt=\"\" class=\"wp-image-18594\" srcset=\"https:\/\/www.smartertech.it\/wp-content\/uploads\/2025\/04\/8e34e3c2-5a9a-41b1-ba52-64c0b23004ea.jpeg 1024w, https:\/\/www.smartertech.it\/wp-content\/uploads\/2025\/04\/8e34e3c2-5a9a-41b1-ba52-64c0b23004ea-300x300.jpeg 300w, https:\/\/www.smartertech.it\/wp-content\/uploads\/2025\/04\/8e34e3c2-5a9a-41b1-ba52-64c0b23004ea-150x150.jpeg 150w, https:\/\/www.smartertech.it\/wp-content\/uploads\/2025\/04\/8e34e3c2-5a9a-41b1-ba52-64c0b23004ea-768x768.jpeg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Gmail: annulla newsletter con un tocco<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Contesto e motivazioni<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Negli ultimi anni, la quantit\u00e0 di <strong>spam<\/strong> e di comunicazioni indesiderate ha reso la gestione della posta elettronica un\u2019attivit\u00e0 sempre pi\u00f9 complessa. Google, con questo aggiornamento, mira a semplificare il percorso dell\u2019utente che desidera interrompere la ricezione di una newsletter. Con <strong><a href=\"https:\/\/www.smartertech.it\/gmail-drag-and-drop-per-cc-e-bcc\/\" target=\"_blank\" rel=\"noopener\" title=\"Gmail\">Gmail<\/a>: annulla newsletter con un tocco<\/strong>, infatti, non \u00e8 pi\u00f9 necessario cercare il link in fondo al messaggio o aprire il browser: un singolo <strong>tocco<\/strong> all&#8217;interno dell&#8217;app consente di avviare l\u2019operazione di disiscrizione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Questo approccio riduce il carico cognitivo e migliora l\u2019efficienza del servizio: l\u2019utente visualizza i mittenti pi\u00f9 frequenti, pu\u00f2 consultare le statistiche di invio e decidere rapidamente quali flussi di comunicazione interrompere. Inoltre, l&#8217;adozione di <strong>OAuth<\/strong> per l\u2019autenticazione garantisce un livello di <strong>sicurezza<\/strong> elevato, evitando passaggi non sicuri inerenti all\u2019inserimento manuale delle credenziali.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Architettura del sistema<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019architettura di questa funzionalit\u00e0 si basa su un microservizio dedicato, chiamato Subscription Manager, che si interfaccia con il backend di Gmail tramite API RESTful. Le richieste di disiscrizione vengono inviate in coda a un broker di messaggi (ad esempio Apache Kafka), garantendo scalabilit\u00e0 e affidabilit\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il flusso di comunicazione prevede:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>User Interface<\/strong> (UI) che invia la richiesta di <strong>unsubscribe<\/strong><\/li>\n\n\n\n<li>API Gateway che autentica la sessione con token <strong>OAuth<\/strong><\/li>\n\n\n\n<li>Subscription Manager, che elabora la richiesta e invia il comando di disiscrizione<\/li>\n\n\n\n<li>Backend Mail, che interagisce con il server <strong>SMTP<\/strong> e aggiorna i record IMAP<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">I componenti principali sono stati progettati per garantire <strong>privacy<\/strong> e conformit\u00e0 al GDPR, assicurando che i dati di <strong>metadata<\/strong> relativi all&#8217;utente non escano mai dall&#8217;ambiente sicuro di Google.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gestione della sezione Manage subscription<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La nuova sezione <strong>Manage subscription<\/strong> presenta un elenco di tutti i mittenti di <strong>newsletter<\/strong> ai quali l\u2019utente \u00e8 iscritto, con indicazione del numero di email ricevute negli ultimi 30 giorni. L\u2019architettura front-end sfrutta Material Design per Android e SwiftUI per iOS, mantenendo la coerenza grafica su tutte le piattaforme.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><th>Versione App<\/th><th>Stato Rollout<\/th><th>Piattaforma<\/th><\/tr><tr><td>2025.04.18<\/td><td>50%<\/td><td><strong>Android<\/strong><\/td><\/tr><tr><td>2025.04.20<\/td><td>20%<\/td><td><strong>iOS<\/strong><\/td><\/tr><tr><td>2025.04.22<\/td><td>100%<\/td><td><strong>Web<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La tabella mostra le fasi di <strong>distribuzione<\/strong> graduale: il <strong>rollout<\/strong> inizia su Android, seguito da iOS e Web. Gli <strong>analytics<\/strong> raccolgono feedback in tempo reale, permettendo di intervenire rapidamente in caso di bug.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Flussi di autenticazione OAuth<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per garantire la massima sicurezza, tutte le richieste di gestione delle sottoscrizioni richiedono un token <strong>OAuth<\/strong>. Il flusso utilizzato \u00e8 il seguente:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Fase<\/td><td>Descrizione<\/td><td>Endpoint<\/td><\/tr><tr><td>Autenticazione<\/td><td>Scambio credenziali utente con token di accesso<\/td><td><code>https:\/\/oauth2.googleapis.com\/token<\/code><\/td><\/tr><tr><td>Autorizzazione<\/td><td>Richiesta di scope per gestione newsletter<\/td><td><code>https:\/\/accounts.google.com\/o\/oauth2\/auth<\/code><\/td><\/tr><tr><td>Refresh Token<\/td><td>Aggiornamento periodico del token<\/td><td><code>https:\/\/oauth2.googleapis.com\/token<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La gestione del token prevede scadenze brevi e meccanismi di <strong>refresh<\/strong> automatico, riducendo il rischio di <strong>token<\/strong> scaduti durante l\u2019operazione di disiscrizione.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Integrazione con i protocolli SMTP e IMAP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019operazione di disiscrizione interagisce direttamente con i protocolli di invio e ricezione. Utilizzando comandi <strong>IMAP<\/strong>, il sistema aggiorna le cartelle di posta in arrivo, mentre attraverso <strong>SMTP<\/strong> invia notifiche di conferma al mittente.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Protocollo<\/td><td>Porta<\/td><td>Funzione<\/td><\/tr><tr><td><strong>SMTP<\/strong><\/td><td>587<\/td><td>Invio email di conferma disiscrizione<\/td><\/tr><tr><td><strong>IMAP<\/strong><\/td><td>993<\/td><td>Accesso alla cartella <strong>inbox<\/strong><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019uso di connessioni sicure TLS\/SSL \u00e8 obbligatorio per entrambe le interfacce, garantendo la <strong>sicurezza<\/strong> end-to-end delle comunicazioni.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Layout e progettazione UI\/UX<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il design si basa sui principi di <strong>UI<\/strong> e <strong>UX<\/strong> di Google, con particolare attenzione all\u2019accessibilit\u00e0. I colori, il contrasto e la disposizione degli elementi sono stati studiati per ridurre l\u2019affaticamento visivo e semplificare l\u2019interazione con schermi di varie dimensioni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gli elementi chiave includono:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pulsanti di azione chiari e ben distanziati<\/li>\n\n\n\n<li>Indicazione del numero di email ricevute per ciascun <strong>mittente<\/strong><\/li>\n\n\n\n<li>Animazioni fluide per il passaggio tra sezioni<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019adozione di componenti <strong>native<\/strong> (Material Components per Android e UIKit per iOS) assicura coerenza e <strong>performance<\/strong> elevate.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dettagli di implementazione Android<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Su <strong>Android<\/strong>, il modulo \u00e8 sviluppato in Kotlin con architettura MVVM. Il codice segue i principi SOLID e utilizza Retrofit per le chiamate REST, insieme a Coroutines per la gestione asincrona.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class SubscriptionViewModel : ViewModel() {\n    private val repository = SubscriptionRepository()\n    val subscriptionsLiveData: LiveData&lt;List&lt;Subscription&gt;&gt; = liveData {\n        val data = repository.getSubscriptions()\n        emit(data)\n    }\n\n    fun unsubscribe(id: String) {\n        viewModelScope.launch {\n            repository.unsubscribe(id)\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">L\u2019utilizzo di <strong>thread<\/strong> separati evita il blocco dell\u2019<strong>UI<\/strong>, migliorando la reattivit\u00e0 dell\u2019app.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Estensione a iOS e Web<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La versione <strong>iOS<\/strong> \u00e8 realizzata in Swift, con SwiftUI e Combine per il binding dei dati. Sul <strong>Web<\/strong>, viene impiegato un\u2019applicazione React TypeScript con Next.js, garantendo rendering lato server (SSR) e caricamento rapido.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>Piattaforma<\/td><td>Framework<\/td><td>Linguaggio<\/td><\/tr><tr><td>Android<\/td><td>Material\/Jetpack<\/td><td>Kotlin<\/td><\/tr><tr><td>iOS<\/td><td>SwiftUI\/Combine<\/td><td>Swift<\/td><\/tr><tr><td>Web<\/td><td>Next.js\/React<\/td><td>TypeScript<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Questa omogeneit\u00e0 di stack tecnologici facilita la manutenzione e il rilascio di nuove funzionalit\u00e0.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Analisi delle prestazioni e deliverability<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per valutare l\u2019impatto sul sistema, sono stati impostati KPI legati a latenza, error rate e soddisfazione utente. I test effettuati in ambiente di staging hanno evidenziato:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tempo medio di risposta API: 120 ms<\/li>\n\n\n\n<li><strong>Error rate<\/strong> inferiore allo 0.5%<\/li>\n\n\n\n<li>Aumento del 15% nella <strong>deliverability<\/strong> delle email di conferma<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Questi risultati mostrano come l\u2019ottimizzazione dei <strong>protocolli<\/strong> e l\u2019adozione di meccanismi di caching abbiano migliorato l\u2019esperienza complessiva.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Roadmap di distribuzione e feedback<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il progetto segue un approccio Agile, con sprint di due settimane e retrospettive periodiche. Nel corso del <strong>rollout<\/strong>, il team ha raccolto oltre 1.000 segnalazioni di <strong>feedback<\/strong>, permettendo di correggere bug e ottimizzare l\u2019<strong>interfaccia<\/strong> in tempo reale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Gmail: annulla newsletter con un tocco<\/strong> rappresenta un passo avanti significativo nella gestione della posta elettronica, offrendo un sistema scalabile, sicuro e user-friendly. L\u2019evoluzione futura prevede l\u2019integrazione di algoritmi di <strong>machine<\/strong> <strong>learning<\/strong> per suggerire all\u2019utente quali <strong>destinatario<\/strong> sospendere automaticamente in base al comportamento di apertura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In qualit\u00e0 di affiliati Amazon, riceviamo un guadagno dagli acquisti idonei effettuati tramite i link presenti sul nostro sito.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;aggiornamento di Gmail introduce una funzionalit\u00e0 che permette di annullare le newsletter in modo semplice e immediato, offrendo<\/p>\n","protected":false},"author":1,"featured_media":18594,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[15,81,145],"tags":[],"class_list":["post-18593","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-internet","category-comunicazioni","category-gmail"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/posts\/18593","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/comments?post=18593"}],"version-history":[{"count":0,"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/posts\/18593\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/media\/18594"}],"wp:attachment":[{"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/media?parent=18593"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/categories?post=18593"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.smartertech.it\/home\/wp-json\/wp\/v2\/tags?post=18593"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}