Gmail automáticamente en 30 días, elimina todos los correos electrónicos enviados a la papelera por el usuario. ¿Hay alguna forma de cambiar este comportamiento predeterminado a 7 días?

Respuesta

No, no hay forma de cambiar el comportamiento predeterminado de la papelera de Gmail. Eso incluye acortar o alargar la duración .


Puedes crear tu propia papelera que haga algo similar, pero es un poco molesto y no hace realmente lo que quieres. Tendrías que agregar una etiqueta personalizada además de hacer clic en el botón eliminar cada vez (a través del botón «Etiquetas» y luego su etiqueta de papelera personalizada).

Entonces «tendría que crear un filtro (una vez; en» Configuración «->» Filtros y direcciones bloqueadas «->» Crear nuevo filtro «) que» tenga las palabras «label:custom-trash older_than:7d con la acción Delete it («Crear filtro con esta búsqueda» -> «Okay» -> «Eliminarlo»).

Pero esto solo lo envía a la papelera de Gmail.


Para automatizar la eliminación de la papelera en este punto, se necesitaría un script de usuario para abrir la carpeta de basura (usando document.querySelector("[href="https://mail.google.com/mail/u/0/#trash"]").click()), haz clic en el botón «Vaciar papelera ahora» (usando document.querySelector(".ya span").click()), luego haz clic en el botón «Aceptar» (usando document.querySelector(".Kj-JD-Jl button").click()). Pero aún así tendría que ejecutarlo con la página abierta, lo que hace que el filtro sea inútil …


TL; DR : No, no es posible.

Responder

Sí, es posible, pero requiere que cree un script de Google Apps personalizado. A continuación se explica cómo hacerlo, en pocas palabras:

  • Si ha iniciado sesión en Gmail, puede ir a https://script.google.com/ y cree un nuevo proyecto de secuencia de comandos.
  • Abra ese proyecto y cree un nuevo archivo de secuencia de comandos. Ponga su secuencia de comandos en él (vea un ejemplo a continuación)
  • Deberá ir al menú Recursos, luego seleccionar el submenú «Servicios avanzados de Google», luego habilitar la opción «API de Gmail».
  • El panel Servicios avanzados de Google le indicará que «Estos servicios también deben estar habilitados en el Panel de API de Google Cloud Platform». Así que tendrás que seguir ese enlace y habilitar esa API también.
  • Finalmente, tendrás que crear al menos un disparador que llamará a tu script en el intervalo que elijas (por hora, diario, etc.) o en función de algún otro evento que elija.

Aquí hay una secuencia de comandos de Google Apps para eliminar correos electrónicos no deseados de varias etiquetas (carpetas), que creé en base a otras fuentes en línea. Este código se proporciona sin garantía alguna; utilícelo bajo su propio riesgo. El uso inadecuado de la función Gmail.Users.Threads.remove () podría provocar la pérdida permanente de correos electrónicos importantes .

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

Respuesta

Aquí hay una secuencia de comandos de Google Apps que creé y ejecuto a diario. Puede personalizar la papelera de Gmail para retener los correos electrónicos todo el tiempo que desee.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *