Gmail automatisk på 30 dager, sletter alle e-postmeldinger som er kastet av brukeren. Er det noen måte å endre denne standardadferden til 7 dager?

Svar

Nei, det er ingen måte å endre standard Gmail-papirkurv. Dette inkluderer å gjøre varigheten kortere eller lengre .


Du kan lage din egen søppelbøtte som gjør noe lignende, men det er litt vondt og gjør ikke det du vil. Du må legge til en tilpasset etikett annet enn å klikke på slett-knappen hver gang (Via «Etiketter» -knappen og deretter den egendefinerte papirkurven).

Da må du opprette et filter (en gang; under «Innstillinger» -> «Filtre og blokkerte adresser» -> «Opprett nytt filter») som «Har ordene» label:custom-trash older_than:7d med handlingen Delete it («Opprett filter med dette søket» -> «Ok» -> «Slett det»).

Men dette sender det bare til Gmails søppel.


For å automatiske sletting av søpla på dette tidspunktet, vil det kreve at et brukerskript åpner papirkurven (bruker document.querySelector("[href="https://mail.google.com/mail/u/0/#trash"]").click()), ved å klikke på «Tøm papirkurven nå» (bruk document.querySelector(".ya span").click()), og deretter klikke på «Ok» -knappen (ved hjelp av document.querySelector(".Kj-JD-Jl button").click()). Men fortsatt må du kjøre den med siden åpen, hva som gjør filteret ubrukelig …


TL; DR : Nei, det er ikke mulig.

Svar

Ja, det er mulig, men det krever at du oppretter et tilpasset Google Apps-skript. Slik gjør du dette i et nøtteskall:

  • Hvis du er logget på Gmail, kan du gå til https://script.google.com/ og opprett et nytt skriptprosjekt.
  • Åpne prosjektet og opprett en ny skriptfil. Sett skriptet i det (se nedenfor for et eksempel)
  • Du må gå til ressursmenyen, og deretter velge undermenyen «Avanserte Google-tjenester», og deretter aktivere alternativet «Gmail API».
  • Avanserte Google-tjenester-ruten vil fortelle deg at «Disse tjenestene må også være aktivert i Google Cloud Platform API Dashboard.» Så du må følge denne lenken og aktivere den APIen også.
  • Til slutt må du opprette minst en utløser som vil kalle skriptet ditt uansett hvilket intervall du velger (hver time, daglig osv.) , eller basert på en annen hendelse du velger.

Her er et Google Apps-skript for å slette uønskede e-poster fra forskjellige etiketter (mapper), som jeg opprettet basert på andre kilder online. Denne koden er gitt uten noen garanti overhodet – bruk på egen risiko. Misbruk av Gmail.Users.Threads.remove () -funksjonen kan føre til tap av viktige e-poster .

/* 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

Her er et Google Apps-skript jeg opprettet og kjører på daglig basis. Du kan tilpasse Gmail-søpla for å beholde e-post så lenge du vil.

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

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *