Alte Gmail-Mails automatisch löschen und die Synchronisierung beschleunigen
Ein Gmail-Konto, das seit Jahren genutzt wird, enthält leicht mehr als 500.000 Nachrichten. Genau diese Menge macht Thunderbird, Outlook oder Smartphone-Clients so langsam: Jeder Client muss das gesamte Postfach indexieren und synchronisieren, was Bandbreite, Speicher und Akku kostet. Nachrichten Tag für Tag von Hand zu löschen, ist langsam und fehleranfällig.
Warum ein riesiges Postfach die E-Mail-Clients ausbremst
Desktop- und mobile Clients halten eine lokale Kopie des Postfachs. Je mehr Threads existieren, desto länger dauert die erste Synchronisierung, desto größer wird die lokale Datenbank und desto häufiger bricht die Verbindung ab. Gmail selbst bleibt flott, IMAP-Clients nicht. Die praktische Lösung: nur aktuelle Mails behalten, etwa die letzten 90 Tage, und alles Ältere entfernen.
Ein Stapel-Aufräumskript in Google Apps Script
Google Apps Script erledigt das Aufräumen kostenlos für Sie. Öffnen Sie script.google.com, erstellen Sie ein neues Projekt und fügen Sie den untenstehenden Code ein. Bearbeiten Sie das Array domains und tragen Sie Ihre Adressen oder Domains ein, denn nur Mails dieser Absender werden angefasst. Das Skript sucht Threads, die älter als 90 Tage sind, verschiebt sie in kleinen Stapeln in den Papierkorb und stoppt, bevor das Ausführungslimit von sechs Minuten erreicht ist. Jeder Thread bleibt 30 Tage im Papierkorb wiederherstellbar.
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);
}Zusätzliche Tipps und eine Sicherungskopie
Exportieren Sie Ihr Postfach vor dem Start mit Google Takeout, um eine lokale Kopie zu behalten. Testen Sie das Skript zuerst mit einer engen Suchanfrage und erweitern Sie sie danach. In Thunderbird können Sie das Abonnement des Ordners Alle Nachrichten kündigen und die IMAP-Synchronisierung auf Kopfzeilen oder die letzten Tage begrenzen, denn beides reduziert Verzögerungen sofort.
Lassen Sie uns zusammenarbeiten
Benötigen Sie weitere Informationen, Hilfe bei Ihrem Projekt oder zur Entwicklung einer Idee?
Ob einfache Frage, kurzer Zweifel oder ein 5-Minuten-Chat, schreib mir einfach—es kostet nichts und ich helfe immer gerne. Ich liebe es, Probleme zu verstehen, kreative Lösungen zu finden und mich auf einfache, zuverlässige und unkomplizierte Ideen zu konzentrieren, die sich schnell umsetzen lassen.
Kontaktiere mich →