Gmail verwijdert automatisch binnen 30 dagen alle e-mails die door de gebruiker zijn weggegooid. Is er een manier om dit standaardgedrag te wijzigen in 7 dagen?

Antwoord

Nee, er is geen manier om het standaardgedrag van Gmail-prullenbak te wijzigen. Dat houdt ook in dat de duur korter of langer wordt .


Je kunt je eigen prullenbak maken die iets soortgelijks doet, maar het is nogal vervelend en doet niet echt wat je wilt. Je zou een aangepast label moeten toevoegen anders dan elke keer op de verwijderknop te klikken (via de knop “Labels” en vervolgens je aangepaste prullenbaklabel).

Dan “zou je een filter moeten maken (een keer; onder” Instellingen “->” Filters en geblokkeerde adressen “->” Nieuw filter maken “) dat” Heeft de woorden “label:custom-trash older_than:7d met de actie Delete it (“Filter maken met deze zoekopdracht” -> “Oké” -> “Verwijderen”).

Maar hierdoor wordt het alleen naar de prullenbak van Gmail gestuurd.


Om het verwijderen van de prullenbak op dit punt te automatiseren, zou een gebruikersscript nodig hebben om de prullenbak te openen (met document.querySelector("[href="https://mail.google.com/mail/u/0/#trash"]").click()), klik op de knop “Prullenbak nu legen” (met document.querySelector(".ya span").click()) en klik vervolgens op de knop “Oké” (met document.querySelector(".Kj-JD-Jl button").click()). Maar zelfs dan nog “zou je het moeten draaien met de pagina open, wat het filter onbruikbaar maakt …


TL; DR : Nee, het is niet mogelijk.

Antwoord

Ja, het is mogelijk, maar hiervoor moet u een aangepast Google Apps-script maken. Hier is hoe u dit in een notendop doet:

  • Als u bent aangemeld bij Gmail, gaat u naar https://script.google.com/ en maak een nieuw scriptproject.
  • Open dat project en maak een nieuw scriptbestand. Plaats uw script erin (zie hieronder voor een voorbeeld)
  • U moet naar het menu Bronnen gaan, vervolgens het submenu “Geavanceerde Google-services” selecteren en vervolgens de optie “Gmail API” inschakelen.
  • In het deelvenster Geavanceerde Google-services staat dat “Deze services ook moeten zijn ingeschakeld in het Google Cloud Platform API-dashboard.” Je zult dus die link moeten volgen en die API ook moeten inschakelen.
  • Ten slotte moet je ten minste één trigger maken die je script oproept met elk gewenst interval (elk uur, dagelijks, enz.) , of gebaseerd op een andere gebeurtenis die u kiest.

Hier is een Google Apps-script om ongewenste e-mails te verwijderen van verschillende labels (mappen), die ik heb gemaakt op basis van andere online bronnen. Deze code wordt geleverd zonder enige garantie – gebruik op eigen risico. Misbruik van de Gmail.Users.Threads.remove () -functie kan leiden tot permanent verlies van belangrijke e-mails .

/* 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]"); } 

Answer

Hier is een Google Apps-script dat ik heb gemaakt en die ik dagelijks gebruik. U kunt uw Gmail-prullenbak aanpassen om e-mails zo lang te bewaren als u wilt.

//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"); } } 

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *