Gli avvisi bancari e i passcode monouso si accumulano nel mio Gmail più velocemente di qualsiasi altro tipo di emaile li cancellavo uno per uno ogni due settimane.
Un codice diventa inutile dopo pochi minuti, ma un avviso bancario può mantenere gli importi delle transazioni e i dettagli del conto nella mia casella di posta per mesi.
Gmail non offre un’opzione per eliminare la posta dopo un determinato numero di giorni e non esiste alcuna impostazione Gmail nascosta che possa utilizzare.
Quindi ho scritto un breve script per Apps che sposta queste email nel Cestino dopo tre giorni e l’ho lasciato in esecuzione per un mese.
Gmail non elimina automaticamente la posta in base all’età
I filtri vedono solo la nuova posta


Gmail cancella da solo solo due cartelle. Cestino e Spam eliminano entrambi i messaggi più vecchi di 30 giorni, ma tutto il resto rimane nella mia casella di posta finché non lo rimuovo.
Anche se i filtri sembravano la soluzione più ovvia, ho imparato che un filtro controlla un messaggio solo quando arriva e mai più.
Il problema è che spesso non leggo gli avvisi bancari fino a un paio di giorni dopo il loro arrivo, momento in cui il filtro è sparito.
IL più vecchio_di l’operatore di ricerca mi avvicina. Posso creare un filtro con esso e spuntare Applica anche il filtro alle conversazioni corrispondentima questo cancella solo ciò che corrisponde in quel momento.
Gli amministratori di Google Workspace ricevono un Eliminazione automatica di email e chat l’impostazione nella Console di amministrazione che fa esattamente quello che volevo. Tuttavia, utilizzo un account personale gratuito, quindi tale impostazione non è disponibile per me.
La maggior parte dei passaggi di pulizia di Gmail si basa sull’eliminazione collettiva, che funziona solo una volta. Volevo qualcosa che continuasse a funzionare in background senza input manuale.
Costruire la sceneggiatura
Tutto ciò di cui avevo bisogno era un’etichetta
La configurazione è composta da due parti. Un filtro segnala i tag quando arrivano e uno script elimina qualsiasi cosa con quel tag dopo alcuni giorni.
-
Crea un’etichetta in Gmail chiamata cestino automatico.
-
Crea un filtro che corrisponda ai tuoi avvisi, ad esempio “codice di verifica” nell’oggetto, e impostalo per applicare il cestino automatico etichetta.
-
Aprire script.google.com e avvia un nuovo progetto (utilizza il sito desktop per la migliore esperienza).
-
Incolla lo script qui sotto e parti DRY_RUN impostare su true e fare clic Correre.
-
Fare clic su Trigger icona dell’orologio nella barra laterale e aggiungi un trigger giornaliero basato sul tempo.
const LABEL = 'auto-trash';
const DAYS = 3;
const MAX_THREADS = 100;
const DRY_RUN = true;
function trashOldAlerts() {
const query = 'label:' + LABEL + ' older_than:' + DAYS + 'd -is:starred';
const threads = GmailApp.search(query, 0, MAX_THREADS);
if (DRY_RUN) {
threads.forEach(function (thread) {
console.log(thread.getLastMessageDate() + ' | ' + thread.getFirstMessageSubject());
});
console.log(threads.length + ' threads matched');
return;
}
if (threads.length > 0) {
GmailApp.moveThreadsToTrash(threads);
}
console.log(threads.length + ' threads moved to Trash');
}
La corrispondenza dell’indirizzo del mittente funziona meglio per gli avvisi bancari, perché le banche spesso cambiano l’oggetto tra gli avvisi relativi a carta, trasferimento e accesso.
Tuttavia, puoi scrivere la tua query in modo che corrisponda a ciò che desideri.
Questo script cerca nell’etichetta i thread più vecchi di tre giorni e li sposta nel Cestino. Modificando il GIORNI Il valore mantiene gli avvisi più a lungo, cosa che farei per gli avvisi bancari poiché fungono anche da record di spesa.
La prima esecuzione ha mostrato un avviso che Google non ha verificato l’app, il che è normale per uno script privato. Ho cliccato Avanzatoho aperto il collegamento al mio progetto e ho consentito l’accesso a Gmail.
Questo script ha un accesso approfondito al mio Gmail, poiché può leggere ed eliminare qualsiasi cosa nel mio account. Ne ho scritto ogni riga da solo e non approverei la sceneggiatura di qualcun altro senza prima averla letta.
Guardrail che ho aggiunto
La cartella Cestino è la rete di sicurezza
Uno script con accesso di eliminazione alla mia casella di posta necessita di limiti, quindi l’ho limitato a una singola etichetta. La ricerca esclude anche le discussioni speciali, quindi non toccherà nulla di ciò che ho aggiunto a Speciali.
Prima di attivare l’eliminazione, ho eseguito lo script con DRY_RUN impostato su vero. Questa modalità registra la data e l’oggetto di ogni partita senza eliminarla. Ciò ha confermato che il filtro stava catturando le email giuste.
Ogni esecuzione gestisce al massimo 100 thread, che è lo stesso limite batch per lo spostamento dei thread nel Cestino. Il primo giorno, sono bastate solo poche esecuzioni manuali per eliminare il mio arretrato.
Lo script non cancella mai nulla in modo permanente. Le email cestinate rimangono recuperabili per 30 giorni, il che mi dà il tempo di individuare un errore prima che abbia importanza.
Se temi di perdere email importanti, puoi disabilitare il trigger giornaliero ed eseguire lo script manualmente dopo aver contrassegnato come Speciale ciò che desideri conservare.
Questo approccio è ancora migliore dell’eliminazione manuale delle e-mail una dopo l’altra.
Che mese di auto-cestinazione cancellato
Conteggio e archiviazione della posta in arrivo, prima e dopo
Lo script è stato efficace fin dall’inizio, rimuovendo circa 300 vecchi avvisi nelle prime esecuzioni.
Successivamente, l’etichetta conteneva dalle 10 alle 15 e-mail in qualsiasi momento, a seconda del numero di transazioni e modifiche all’account apportate.
Lo script ha eliminato da solo circa 30 email nella prima settimana. Ciò ha influito poco sullo spazio di archiviazione poiché questi messaggi sono piccoli, ma è meglio non avere così tante email nella mia casella di posta.
Apps Script conserva un record di ogni trigger eseguito nella pagina Esecuzioni. Controllare cosa ha fatto lo script in un determinato giorno richiede alcuni secondi.
Ora apro raramente queste e-mail, poiché Gmail su Android me lo consente copia i codici di verifica direttamente dalla casella di posta. Ciò ha reso più semplice fidarsi di una finestra di tre giorni per le OTP.
Una buona soluzione per caselle di posta rumorose
Inizierei con un tipo di avviso e una finestra breve, quindi allargherei il filtro quando il test sembra buono. Gli OTP possono scadere dopo un giorno o due, mentre vale la pena conservare gli avvisi bancari per una settimana o più.
Mi aspettavo questa funzionalità da Gemelli in Gmailma finché non sarà possibile eliminare le email secondo una pianificazione, questo script rimarrà sul mio account.

