Gmail automatiskt på 30 dagar, raderar alla e-postmeddelanden som sopats av användaren. Finns det något sätt att ändra detta standardbeteende till 7 dagar?

Svar

Nej, det finns inget sätt att ändra Gmail-papperskorgen. Det inkluderar att göra varaktigheten kortare eller längre .


Du kan skapa din egen papperskorg som gör något liknande, men det är lite av en smärta och gör inte riktigt vad du vill. Du måste lägga till en anpassad etikett annat än att klicka på radera-knappen varje gång (via knappen ”Etiketter” och sedan din anpassade papperskorgen).

Då måste du skapa ett filter (en gång; under ”Inställningar” -> ”Filter och blockerade adresser” -> ”Skapa nytt filter”) som ”Har orden” label:custom-trash older_than:7d med åtgärden Delete it (”Skapa filter med den här sökningen” -> ”Okej” -> ”Radera det”).

Men det här skickar det bara till Gmails papperskorg.


För att automatiskt radera papperskorgen vid den här tiden krävs ett användarskript för att öppna papperskorgen (med document.querySelector("[href="https://mail.google.com/mail/u/0/#trash"]").click()), klicka på knappen ”Töm papperskorgen nu” (med document.querySelector(".ya span").click()) och klicka sedan på ”Okej” -knappen (med document.querySelector(".Kj-JD-Jl button").click()). Men ändå måste du köra det med sidan öppen, vilket gör filtret värdelöst …


TL; DR : Nej, det är inte möjligt.

Svar

Ja, det är möjligt men det kräver att du skapar ett anpassat Google Apps-skript. Så här gör du i ett nötskal:

  • Om du är inloggad på Gmail kan du gå till https://script.google.com/ och skapa ett nytt skriptprojekt.
  • Öppna det projektet och skapa en ny skriptfil. Lägg in ditt skript i det (se nedan för ett exempel)
  • Du måste gå till menyn Resurser, välj sedan undermenyn ”Avancerade Google-tjänster” och aktivera sedan alternativet ”Gmail API”.
  • Avancerade Google Services-rutan säger att ”Dessa tjänster måste också vara aktiverade i Google Cloud Platform API Dashboard.” Så du måste följa den länken och aktivera det API: et också.
  • Slutligen måste du skapa minst en utlösare som kommer att anropa ditt skript vid vilket intervall du väljer (timme, dagligen osv.) , eller baserat på någon annan händelse som du väljer.

Här är ett Google Apps-skript för att ta bort oönskade e-postmeddelanden från olika etiketter (mappar), som jag skapade baserat på andra källor online. Denna kod tillhandahålls utan någon som helst garanti – använd på egen risk. Missbruk av Gmail.Users.Threads.remove () -funktionen kan leda till förlust av viktiga e-postmeddelanden .

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

Svar

Här är ett Google Apps-skript som jag skapade och körs dagligen. Du kan anpassa din Gmail-papperskorgen så att den behåller e-post så länge du vill.

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

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *