2026-09-20 · 2 min di lettura

Eliminare automaticamente le vecchie email di Gmail per ripristinare una sincronizzazione veloce

Un account Gmail attivo da anni può contenere facilmente più di 500.000 messaggi. È proprio questo volume a rendere lentissimi Thunderbird, Outlook o i client sugli smartphone: ogni client deve indicizzare e sincronizzare l'intera casella, consumando banda, memoria e batteria. Cancellare i messaggi a mano, giorno dopo giorno, è lento e soggetto a errori.

Perché una casella enorme rallenta i client di posta

I client desktop e mobili conservano una copia locale della casella. Più thread esistono, più lunga diventa la prima sincronizzazione, più cresce il database locale e più spesso cade la connessione. Gmail resta reattivo, i client IMAP no. La soluzione pratica è conservare solo la posta recente, per esempio gli ultimi 90 giorni, ed eliminare tutto il resto.

Uno script di pulizia a lotti in Google Apps Script

Google Apps Script può eseguire la pulizia al posto tuo, gratuitamente. Apri script.google.com, crea un nuovo progetto e incolla il codice qui sotto. Modifica l'array domains e aggiungi i tuoi indirizzi o domini, perché verrà toccata solo la posta di quei mittenti. Lo script cerca i thread più vecchi di 90 giorni, li sposta nel cestino in piccoli lotti e si ferma prima di raggiungere il limite di esecuzione di sei minuti. Ogni thread resta recuperabile nel cestino per 30 giorni.

JS
function deleteNewsletters3MonthsPermanent() {
  var domains = [
    "site1.com", "user@site2.com",
  ];

  var batchSize = 25;
  var totalDeleted = 0;
  var startTime = new Date().getTime();
  var maxExecutionTimeMs = 5 * 60 * 1000; // 5 minutes safety threshold

  for (var b = 0; b < domains.length; b += batchSize) {
    if (new Date().getTime() - startTime > maxExecutionTimeMs) {
      Logger.log("Execution limit approaching. Stopped safely. Permanently deleted so far: " + totalDeleted);
      return;
    }

    var chunk = domains.slice(b, b + batchSize);
    var fromFilters = chunk.map(function(d) {
      return d.indexOf('@') > -1 ? 'from:' + d : 'from:*@' + d;
    }).join(' OR ');

    var searchQuery = '(' + fromFilters + ') older_than:90d';
    var pageToken = null;

    do {
      if (new Date().getTime() - startTime > maxExecutionTimeMs) {
        Logger.log("Execution limit approaching inside pagination. Permanently deleted so far: " + totalDeleted);
        return;
      }

      // Max results allowed per list request by the API is 500
      var response = Gmail.Users.Messages.list('me', {
        q: searchQuery,
        maxResults: 500,
        pageToken: pageToken
      });

      if (response.messages && response.messages.length > 0) {
        var messageIds = response.messages.map(function(m) { return m.id; });
        
        // Permanent bulk delete: 50 quota units for up to 1,000 IDs
        Gmail.Users.Messages.batchDelete({ ids: messageIds }, 'me');
        totalDeleted += messageIds.length;
        
        // Small delay to keep rate pacing clean
        Utilities.sleep(600);
      }

      pageToken = response.nextPageToken;
    } while (pageToken);
  }

  Logger.log("Finished. Total messages permanently deleted: " + totalDeleted);
}

Consigli aggiuntivi e un backup di sicurezza

Prima di eseguire qualsiasi cosa, esporta la casella con Google Takeout per conservarne una copia locale. Prova lo script con una query ristretta e poi allargala. In Thunderbird annulla l'iscrizione alla cartella Tutta la posta e limita la sincronizzazione IMAP alle intestazioni o agli ultimi giorni, perché entrambe le modifiche riducono subito il ritardo.

Lavoriamo insieme

Hai bisogno di maggiori informazioni, aiuto con il tuo progetto o di sviluppare un'idea?

Che si tratti di una domanda semplice, un dubbio rapido o una chat di 5 minuti, mandami un messaggio—non costa nulla e sono sempre pronto ad aiutare. Mi piace ascoltare per capire il problema, essere creativo nelle soluzioni e puntare a idee semplici, affidabili e non complicate da realizzare rapidamente.

Contattami →

Cambia Argomento

Scegli un argomento specializzato da esplorare: