Gmail ne permet pas toujours de supprimer facilement de grandes quantités d’emails correspondant à certains critères. Voici une solution rapide utilisant Google Apps Script.
- Accédez à script.google.com et créez un nouveau projet
- Copiez le code ci-dessous dans l’éditeur
- Modifiez la ligne
var searchQuery = '...'
avec vos critères de recherche - Cliquez sur ▶️ pour exécuter le script
- Autorisez l’accès à votre compte Gmail quand demandé
/**
* Script pour supprimer en masse des emails dans Gmail
*/
function deleteEmails() {
// Modifiez cette ligne avec vos critères de recherche
var searchQuery = 'from:(support@example.com) subject:logwatch';
// Nombre maximum d'emails à traiter en une fois
var batchSize = 100;
// Obtenir les threads correspondant à la recherche
var threads = GmailApp.search(searchQuery, 0, batchSize);
// Compteurs pour le suivi
var totalThreads = threads.length;
var deletedThreads = 0;
// Supprimer les threads par lots
while (threads.length > 0) {
// Suppression du lot actuel
GmailApp.moveThreadsToTrash(threads);
// Mettre à jour le compteur
deletedThreads += threads.length;
// Journaliser la progression
Logger.log('Suppression de ' + deletedThreads + ' sur ' + totalThreads + ' threads trouvés');
// Obtenir le prochain lot
threads = GmailApp.search(searchQuery, 0, batchSize);
// Petite pause pour éviter de dépasser les quotas
Utilities.sleep(1000);
}
Logger.log('Terminé. ' + deletedThreads + ' threads ont été déplacés vers la corbeille.');
}
Exemples de critères de recherche Gmail
from:newsletter@example.com
– Emails d’un expéditeur spécifiquesubject:"rappel de réunion"
– Emails avec un sujet précisolder_than:3m
– Emails de plus de 3 moishas:attachment larger:10M
– Emails avec pièces jointes de plus de 10 Molabel:social
– Emails dans une catégorie spécifique
Avantages par rapport à la suppression manuelle
- Fonctionne pour des milliers d’emails
- Pas besoin de supprimer page par page
- S’exécute en arrière-plan, libérant votre navigateur
Pour vider définitivement la corbeille après la suppression, ajoutez une deuxième fonction et exécutez-la séparément (nécessite d’activer l’API Gmail dans Services) :
function emptyTrash() {
Gmail.Users.Settings.emptyTrash('me');
Logger.log('Corbeille vidée.');
}