Google Mail löscht automatisch innerhalb von 30 Tagen alle vom Benutzer verworfenen E-Mails. Gibt es eine Möglichkeit, dieses Standardverhalten auf 7 Tage zu ändern?

Antwort

Nein, es gibt keine Möglichkeit, das Standardverhalten des Google Mail-Papierkorbs zu ändern. Dazu gehört auch, die Dauer zu verkürzen oder zu verlängern


Sie können Ihren eigenen Papierkorb erstellen, der etwas Ähnliches tut, aber es ist eine Art Schmerz und macht nicht wirklich das, was Sie wollen. Sie müssten ein benutzerdefiniertes Etikett hinzufügen außer jedes Mal auf die Schaltfläche „Löschen“ zu klicken (über die Schaltfläche „Etiketten“ und dann über Ihr benutzerdefiniertes Papierkorbetikett).

Dann müssten Sie einen Filter erstellen (einmalig; unter „Einstellungen“ -> „Filter und blockierte Adressen“ -> „Neuen Filter erstellen“), der „die Wörter hat“ label:custom-trash older_than:7d mit der Aktion Delete it („Filter mit dieser Suche erstellen“ -> „Okay“ -> „Löschen“).

Dies sendet es jedoch nur in den Papierkorb von Google Mail.


Um das Löschen des Papierkorbs zu diesem Zeitpunkt zu automatisieren, muss ein Benutzer-Skript den Papierkorb öffnen (mithilfe von ), klicken Sie auf die Schaltfläche „Papierkorb jetzt leeren“ (mit document.querySelector(".ya span").click()) und dann auf die Schaltfläche „Okay“ (mit document.querySelector(".Kj-JD-Jl button").click()). Aber selbst dann müssten Sie es mit geöffneter Seite ausführen, was den Filter unbrauchbar macht …


TL; DR : Nein, das ist nicht möglich.

Antwort

Ja, Es ist möglich, aber Sie müssen ein benutzerdefiniertes Google Apps-Skript erstellen. So gehts auf den Punkt gebracht:

  • Wenn Sie bei Google Mail angemeldet sind, können Sie zu und erstellen Sie ein neues Skriptprojekt.
  • Öffnen Sie dieses Projekt und erstellen Sie eine neue Skriptdatei. Fügen Sie Ihr Skript ein (siehe unten für ein Beispiel).
  • Sie müssen zum Menü Ressourcen gehen, das Untermenü „Erweiterte Google-Dienste“ auswählen und dann die Option „Google Mail-API“ aktivieren.
  • Im Bereich „Erweiterte Google-Dienste“ wird Folgendes angezeigt: „Diese Dienste müssen auch im Google Cloud Platform-API-Dashboard aktiviert sein.“ Sie müssen also diesem Link folgen und auch diese API aktivieren.
  • Schließlich müssen Sie mindestens einen Trigger erstellen, der Ihr Skript in einem beliebigen Intervall (stündlich, täglich usw.) aufruft. oder basierend auf einem anderen Ereignis, das Sie auswählen.

Hier ist ein Google Apps-Skript zum Löschen unerwünschter E-Mails aus verschiedenen Labels (Ordnern), die ich basierend auf anderen Online-Quellen erstellt habe. Dieser Code wird ohne jegliche Garantie bereitgestellt – die Verwendung erfolgt auf eigenes Risiko. Der Missbrauch der Funktion Gmail.Users.Threads.remove () kann zum dauerhaften Verlust wichtiger E-Mails führen .

/* Delete all emails from the given email address in the given label. */ function deleteEmailsFrom(fromEmailAddress, inLabel) { var queryEmailsToDelete = "from:" + fromEmailAddress + " in:" + inLabel; var permanentlyDeleteThreads = true; var pageToken; do { var threadList = Gmail.Users.Threads.list("me", { q: queryEmailsToDelete, pageToken: pageToken }); if (threadList.threads && threadList.threads.length > 0) { threadList.threads.forEach(function(thread) { Logger.log("About to delete this email thread: id: %s, snippet: %s", thread.id, thread.snippet); if (permanentlyDeleteThreads) { Gmail.Users.Threads.remove("me", thread.id); Logger.log("Deleted this email thread: id: %s, snippet: %s", thread.id, thread.snippet); } }); } pageToken = threadList.nextPageToken; } while (pageToken); } /* Delete all emails from the given email address in both Spam and Trash folders. */ function deleteSpamOrTrashEmailsFromAddress(fromEmailAddress) { deleteEmailsFrom(fromEmailAddress, "trash"); deleteEmailsFrom(fromEmailAddress, "spam"); } function deleteUnwantedSpamOrTrashEmails() { deleteSpamOrTrashEmailsFromAddress("[email protected]"); deleteSpamOrTrashEmailsFromAddress("[email protected]"); deleteSpamOrTrashEmailsFromAddress("[email protected]"); } 

Antwort

Hier ist ein Google Apps-Skript, das ich erstellt habe und das täglich ausgeführt wird. Sie können Ihren Google Mail-Papierkorb so anpassen, dass E-Mails so lange aufbewahrt werden, wie Sie möchten.

//INSTRUCTIONS // 1. Create two lables in Gmail: SYSTEM/reset & SYSTEM/moved // 2. Set how long you want to retain mail in trash on lines 31-34 (5m = 5 months) // 3. Setup a trigger to run this script at least as many times a day as emails you expect to accumulate in your trash over the time you selected (1 trigger a day = preserve up to 1000 emails in trash; 2 triggers a day = preserve up to 2000 emails in trash) //HOW IT WORKS // Deleted Emails are moved out of your trash and immediately back in, thus restarting the 30 day deletion time // Labels are used to keep track of which emails have been moved //WHY DAILY TRIGGERS ARE NEEEDED // Google limits script to edit up to 100 emails at a time function extendTrashTime() { function move(moved_label, empty_threads) { GmailApp.moveThreadsToArchive(empty_threads); GmailApp.moveThreadsToTrash(empty_threads); moved_label.addToThreads(empty_threads); } function reset(reset_label, moved_label, moved_threads) { reset_label.addToThreads(moved_threads); moved_label.removeFromThreads(moved_threads); } function empty(reset_label, reset_threads) { reset_label.removeFromThreads(reset_threads); } let moved_label = GmailApp.getUserLabelByName("SYSTEM/moved"); let reset_label = GmailApp.getUserLabelByName("SYSTEM/reset"); // CHANGE TIME TO RETAIN MAIL IN THE THREE LINES BELOW let moved_threads = GmailApp.search("in:trash newer_than:5m -label:SYSTEM/ignore label:SYSTEM/moved", 0, 100); let reset_threads = GmailApp.search("in:trash newer_than:5m -label:SYSTEM/ignore label:SYSTEM/reset", 0, 100); let empty_threads = GmailApp.search("in:trash newer_than:5m -label:SYSTEM/ignore -label:SYSTEM/moved -label:SYSTEM/reset", 0, 100); let moved_total = moved_threads.length; let reset_total = reset_threads.length; let empty_total = empty_threads.length; Logger.log("moved_total", moved_total); Logger.log("reset_total", reset_total); Logger.log("empty_total", empty_total); if (moved_total >= 0 && reset_total === 0 && empty_total > 0) { Logger.log("Phase 1: move emails & label with moved"); move(moved_label, empty_threads); } else if (moved_total > 0 && reset_total >= 0) { Logger.log("Phase 2: remove moved label and replace with reset label"); reset(reset_label, moved_label, moved_threads); } else if (moved_total === 0 && reset_total > 0) { Logger.log("Phase 3: remove reset label"); empty(reset_label, reset_threads); } else { Logger.log("No results for empty_threads query"); } } 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.