Automatizando la limpieza de Gmail
![Automatizando la limpieza de Gmail](/images/20161014_promociones_05.jpg)
Si eres de los que realiza compras en internet, no te importa recibir ofertas, usas Gmail como gestor de correo electrónico y usas la pestaña “Promociones” creo que este artículo te va a interesar.
El problema
Haciendo una estimación aproximada, creo que recibo un correo electrónico cada menos de dos horas de las tiendas y servicios online que utilizo. Estos son mensajes que van directamente a la pestaña “Promociones” de Gmail por lo que no me molestan con continuas notificaciones.
Para mi, todos estos son mensajes de segunda categoría, es decir, no pasa nada si alguno se queda sin leer y no los leo a diario. Por esto tienden a acumularse y la mayoría de ellos cuando los lees ya no tienen relevancia puesto que suelen ser promociones temporales. Me resulta muy fácil acumular cientos de mensajes en esta pestaña y de vez en cuando tengo que perder tiempo en borrar los antiguos. Para ello utilizo un filtro que me busque todos los mensajes de la pestaña promociones con mas de diez días en la bandeja de entrada, los selecciono y los borro.
Cierto es que esta operación supone un gasto de tiempo pequeño, pero me pregunto… ¿Podrá automatizarse esto? Pues si, y de una forma bastante sencilla usando Google Apps Script. Tan sencillo como entrar en Google Drive y crear un nuevo “Google Apps Script”.
Aparece un nuevo proyecto en blanco en el que incluiremos la siguiente función:
function limpiar_propaganda() {
var filtro = GmailApp.search('category:promotions older_than:10d');
for (var i = 0; i < filtro.length; i++) {
filtro[i].moveToTrash();
}
}
Por otro lado tengo definida un par de reglas en la configuración de gmail para los correos “menos importantes” que se pueden borrar sin ningún problema pasados diez días después de su recepción y que etiquetará como “notificarme”.
Ahora sólo resta añadir un segundo bucle “for” en el script para busque los mensajes de correo con la etiqueta “notificarme” y una antigüedad mayor de diez días para proceder a eliminarlos. De esta forma el script completo quedará como lo siguiente.
function limpiar_propaganda() {
var filtro = GmailApp.search('category:promotions older_than:10d');
for (var i = 0; i < filtro.length; i++) {
filtro[i].moveToTrash();
}
var filtro = GmailApp.search('label:notificarme older_than:10d');
for (var i = 0; i < filtro.length; i++) {
filtro[i].moveToTrash();
}
}
Lo guardamos, le damos nombre y fijamos los activadores del proyecto activo a una ejecución por hora o lo que cada uno considere adecuado.
A partir de ahora y de forma automática, cada hora se borrarán los correos con promociones o la etiqueta “notificarme” de más de diez días de antigüedad.