Descargo de responsabilidad


No podemos ser responsables de ningún daño que pueda resultar de las descargas, instalación, almacenamiento o uso de software, scripts o contenido de nuestro sitio web.

Tenga en cuenta que, por defecto, Gmail nunca elimina mensajes de su bandeja de entrada. Los archiva.
Como resultado, no es raro alcanzar el límite de espacio disponible, incluso cuando acaba de eliminar todos sus mensajes.


Gmail los coloca, no en una sección "Archivos", sino en "Todo el correo". Esto resulta en una carpeta que contiene todos los mensajes buenos, además de todos los mensajes eliminados.
¡Y afronte eso!

Cuando solo tiene unas pocas páginas, podría ser manejable. Pero si está alcanzando el límite predeterminado de 15GB, es porque tiene que ordenar cientos de miles de mensajes.

Para remediar esto, necesitaremos automatizar la eliminación de nuestros mensajes archivados. Y vamos a usar jQuery.

Primero, necesitamos entender cómo detectar un mensaje archivado de uno que todavía está en nuestra bandeja de entrada. Es bastante simple, Gmail coloca la carpeta en la que está clasificado, justo antes del asunto. Entonces, si un mensaje no tiene una carpeta, es un mensaje archivado y, por lo tanto, necesita ser eliminado.

"> image


Mientras que los correos electrónicos archivados no tienen uno.

"> image-1

Aquí están los pasos de nuestro script:

  1. Injectar jQuery en la página
  2. Ir a la página que contiene todos los mensajes
  3. Detectar el número de mensajes por página y el número total de mensajes para extrapolar la paginación
  4. Recorrer todas las páginas, para seleccionar mensajes archivados y eliminarlos.

Para inyectar JavaScript, abrimos la consola y ejecutamos esto:

var jquery_injection = document.createElement('script');
jquery_injection.setAttribute('src','https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js');
document.head.appendChild(jquery_injection);

Espere unos segundos para que la página termine de cargar la biblioteca y luego proceda al siguiente paso.

console.log('Display all message (including archive)');
window.location.href=GM_SESSION_PATH+'#all';

setTimeout(() => { 
    var msg_total=$('div.G-atb .Dj span.ts').eq(2).html(); 
    var msg_per_page= $('div.G-atb .Dj span.ts').eq(1).html();
    var nb_page=parseInt(msg_total.replace(/\s/g, ''))/parseInt(msg_per_page.replace(/\s/g, ''));
    nb_page=Math.ceil(nb_page);
    console.log('Found '+nb_page+' pages');
    console.log('Start cycling through pages');
    setTimeout(() => { 
        Gmail_go_to_page(nb_page);
    }, 1000);
 
}, 1000);
 
function Gmail_go_to_page(page)
{
    console.log('deleting page : '+page);
 
    if(page >= 0 ){
        window.location.href=GM_SESSION_PATH+'#all/p'+page;
        setTimeout(() => { 
            Gmail_delete_archive(page);}, 5000);
    }
     
}
 
function Gmail_delete_archive(page)
{
    console.log('deleting messages');
    document.head.appendChild(jquery_injection);
    $('.UI table[role=grid]:visible').eq(0).find('tr').each(function(i,e){
        if($(e).find('.at').length==0){
            $(e).find('ul[role=toolbar] li').eq(1).trigger('click');
		console.log('.');
        }
 
    });
    if(page-1 >= 0 ){
        setTimeout(() => { Gmail_go_to_page(page-1);}, 10000);
    }else{
        console.log('Cycling ended !!');
    }
 
}

Una vez completado el ciclo, se muestra el mensaje "Ciclado terminado".

"> image-2