google apps script

Depuis toutes ces années de bons et loyaux services, Gmail m’est devenu totalement indispensable. A tel point que j’ai des dizaines de milliers de mails de plus de 3 ans, marqués comme non lus qui vivent encore dans ma boite.

Le problème c’est que ma boite est presque pleine, et que j’ai besoin de faire de la place… Automatiquement si possible.

Eureka, une solution existe :  Google Apps Script, qui en quelques lignes de code peut nous aider à supprimer automatiquement des emails après une période paramétrable. [Vous pourrez aussi découvrir comment archiver automatiquement des messages après un délai configurable en cliquant ici.]

A – Créer un filtre pour vos mails à supprimer

Dans un premier temps, il faudra créer un filtre contenant les mails à supprimer au bout du délai paramétrable. Ça peut être une liste de mail, d’objet de mail,…

  1. Rendez vous sur votre gmail
  2. Cliquez sur la barre de recherche en haut, et plus spécialement sur la petite flèche à la fin du champs de recherche. Cela ouvrira l’interface de recherche avancée.
  3. Ajoutez vos critères de recherche à prendre en compte dans le filtre
  4. Cliquez en bas sur « créer un filtre avec cette recherche »
  5. Sur la nouvelle popin, sélectionnez « appliquer le label », et donnez un nom au label (« AutoDelete » par exemple)
  6. Vous pourrez retrouver et éditer votre filtre en cliquant sur la roue dentée en haut à droite pour ouvrir le menu ; sélectionnant « paramètre », puis l’onglet « filtre ».

filtre google gmail

B – Créer un script Google Apps vide

  1. Rendez vous sur http://www.google.com/script/start/ et cliquez sur « start scripting »
  2. Dans la popin, cliquez sur « projet vide »
  3. Vous êtes désormais sur l’interface vous permettant de contrôler Gmail via des scripts.

C – Ajouter le bon script

Copiez collez ce code dans la partie droite de l’interface, et enregistrez (ctrl+s) :

function cleanUp() {
  var label = GmailApp.getUserLabelByName("AutoDelete");  
  if(label == null){
    GmailApp.createLabel("AutoDelete");
  } else {
    var delayDays = 20; // Enter # of days before messages are moved to trash
    var maxDate = new Date();
    maxDate.setDate(maxDate.getDate()-delayDays);
    var threads = label.getThreads();
    var nbMailToDelete = 400; // can't remove a lot of email (google script error mails)
    if (threads.length<400) nbMailToDelete = threads.length ;
    for (var i = 0; i < nbMailToDelete; i++) {
      if (threads[i].getLastMessageDate() < maxDate){
        Utilities.sleep(100);
        threads[i].moveToTrash();
      }
    } 
  }
}

D – Ajouter un déclencheur pour le script

  1. Dans le menu en haut, cliquez sur « Ressources » puis « Tous vos déclencheurs ».
  2. Ajoutez un déclencheur sur la fonction que vous venez de créer, tous les jours, à une heure donnée de la nuit. Pour ma part, il tourne toutes les 6 heures.

declencheur google apps script

E – Paramétrer le script

Pour paramétrer le code, c’est très simple :

  1. nbMailToDelete représente le nombre maximum de mails traités dans le processus d’archivage. Il faut savoir qu’au dessus de 300, vous aurez parfois des problème d’exécution remontés par Google.
  2. delayDays correspond au nombre de jour avant que les mails soient supprimés
  3. « AutoDelete » correspond au nom du filtre contenant les messages à effacer
Et voilà ! Vos mails s’effacent automatiquement après un délai. Plus jamais vous n’aurez de problème de place sur votre boite.
Vous aimez cet article ? Partagez le.

By TechRevolutions| No Comment | Outil, Tutoriaux
2