, ,

Organiser votre messagerie Gmail avec Google Apps Script

Fatigué de retrouver tous les matins une boîte de réception en désordre ? Vous manquez des e-mails importants parce qu’ils sont enfouis sous des tonnes de mails en copie ? Si vous utilisez Gmail, vous savez à quel point il peut être difficile de garder le contrôle de votre boîte de réception. Heureusement, il existe une solution puissante et flexible : Google Apps Script. Cet article vous guide à travers l’utilisation d’un script pour organiser automatiquement vos e-mails.

Qu’est-ce que Google Apps Script ?

Google Apps Script est une plateforme de développement basée sur le cloud qui vous permet d’automatiser des tâches et de créer des applications personnalisées avec les outils Google Workspace, tels que Gmail, Google Sheets et Google Drive. Vous pouvez écrire du code JavaScript pour interagir avec ces applications et créer des solutions personnalisées pour vos besoins.

Organiser sa messagerie Gmail avec un script

Un utilisateur a récemment demandé s’il existait un moyen de mieux organiser sa messagerie Gmail, en séparant les e-mails qui lui sont adressés personnellement de ceux où il est simplement en copie. La réponse est oui, et c’est assez simple à faire avec Google Apps Script.

Voici un script que vous pouvez utiliser pour organiser automatiquement vos e-mails Gmail :

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
/**
* @fileoverview Ce script Apps Script permet d'organiser les emails Gmail en séparant les emails personnels des emails en copie,
* en traitant différemment les emails lus et non lus.
* @name Organisation Messagerie Personnelle vs Copie (Lus/Non Lus)
* @namespace OrganisationMessagerie
* @version 1.2
* @auteur Fabrice Faucheux
*/
/**
* Fonction principale qui organise les emails.
*/
function organiserMessagerie() {
try {
// Définir les libellés.
const libellePersonnelNonLu = GmailApp.getUserLabelByName("# 1.Moi (Non Lu)") || GmailApp.createLabel("# 1.Moi (Non Lu)");
const libellePersonnelLu = GmailApp.getUserLabelByName("# 1.Moi (Lu)") || GmailApp.createLabel("# 1.Moi (Lu)");
const libelleCopieNonLu = GmailApp.getUserLabelByName("# 2.Copie (Non Lu)") || GmailApp.createLabel("# 2.Copie (Non Lu)");
const libelleCopieLu = GmailApp.getUserLabelByName("# 2.Copie (Lu)") || GmailApp.createLabel("# 2.Copie (Lu)");
// Récupérer les threads.
const threads = GmailApp.getInboxThreads();
threads.forEach(thread => {
const messages = thread.getMessages();
messages.forEach(message => {
const estDestinataireDirect = message.getTo().includes(Session.getActiveUser().getEmail());
const estEnCopie = message.getCc().includes(Session.getActiveUser().getEmail());
const estNonLu = message.isUnread();
if (estDestinataireDirect) {
estNonLu ? libellePersonnelNonLu.addToThread(thread) : libellePersonnelLu.addToThread(thread);
} else if (estEnCopie) {
estNonLu ? libelleCopieNonLu.addToThread(thread) : libelleCopieLu.addToThread(thread);
}
});
});
} catch (erreur) {
Logger.log("Une erreur est survenue : " + erreur);
}
}
/** * @fileoverview Ce script Apps Script permet d'organiser les emails Gmail en séparant les emails personnels des emails en copie, * en traitant différemment les emails lus et non lus. * @name Organisation Messagerie Personnelle vs Copie (Lus/Non Lus) * @namespace OrganisationMessagerie * @version 1.2 * @auteur Fabrice Faucheux */ /** * Fonction principale qui organise les emails. */ function organiserMessagerie() { try { // Définir les libellés. const libellePersonnelNonLu = GmailApp.getUserLabelByName("# 1.Moi (Non Lu)") || GmailApp.createLabel("# 1.Moi (Non Lu)"); const libellePersonnelLu = GmailApp.getUserLabelByName("# 1.Moi (Lu)") || GmailApp.createLabel("# 1.Moi (Lu)"); const libelleCopieNonLu = GmailApp.getUserLabelByName("# 2.Copie (Non Lu)") || GmailApp.createLabel("# 2.Copie (Non Lu)"); const libelleCopieLu = GmailApp.getUserLabelByName("# 2.Copie (Lu)") || GmailApp.createLabel("# 2.Copie (Lu)"); // Récupérer les threads. const threads = GmailApp.getInboxThreads(); threads.forEach(thread => { const messages = thread.getMessages(); messages.forEach(message => { const estDestinataireDirect = message.getTo().includes(Session.getActiveUser().getEmail()); const estEnCopie = message.getCc().includes(Session.getActiveUser().getEmail()); const estNonLu = message.isUnread(); if (estDestinataireDirect) { estNonLu ? libellePersonnelNonLu.addToThread(thread) : libellePersonnelLu.addToThread(thread); } else if (estEnCopie) { estNonLu ? libelleCopieNonLu.addToThread(thread) : libelleCopieLu.addToThread(thread); } }); }); } catch (erreur) { Logger.log("Une erreur est survenue : " + erreur); } }
/**
* @fileoverview Ce script Apps Script permet d'organiser les emails Gmail en séparant les emails personnels des emails en copie,
* en traitant différemment les emails lus et non lus.
* @name Organisation Messagerie Personnelle vs Copie (Lus/Non Lus)
* @namespace OrganisationMessagerie
* @version 1.2
* @auteur Fabrice Faucheux
*/

/**
* Fonction principale qui organise les emails.
*/
function organiserMessagerie() {
  try {
    // Définir les libellés.
    const libellePersonnelNonLu = GmailApp.getUserLabelByName("# 1.Moi (Non Lu)") || GmailApp.createLabel("# 1.Moi (Non Lu)");
    const libellePersonnelLu = GmailApp.getUserLabelByName("# 1.Moi (Lu)") || GmailApp.createLabel("# 1.Moi (Lu)");
    const libelleCopieNonLu = GmailApp.getUserLabelByName("# 2.Copie (Non Lu)") || GmailApp.createLabel("# 2.Copie (Non Lu)");
    const libelleCopieLu = GmailApp.getUserLabelByName("# 2.Copie (Lu)") || GmailApp.createLabel("# 2.Copie (Lu)");

    // Récupérer les threads.
    const threads = GmailApp.getInboxThreads();

    threads.forEach(thread => {
      const messages = thread.getMessages();

      messages.forEach(message => {
        const estDestinataireDirect = message.getTo().includes(Session.getActiveUser().getEmail());
        const estEnCopie = message.getCc().includes(Session.getActiveUser().getEmail());
        const estNonLu = message.isUnread();

        if (estDestinataireDirect) {
          estNonLu ? libellePersonnelNonLu.addToThread(thread) : libellePersonnelLu.addToThread(thread);
        } else if (estEnCopie) {
          estNonLu ? libelleCopieNonLu.addToThread(thread) : libelleCopieLu.addToThread(thread);
        }
      });
    });
  } catch (erreur) {
    Logger.log("Une erreur est survenue : " + erreur);
  }
}

Comment ça marche ?

Ce script Google Apps Script fait le travail pour vous. Voici comment il fonctionne :

  1. Définition des libellés : Le script commence par définir (ou créer, s’ils n’existent pas) les libellés Gmail que nous utiliserons pour organiser les e-mails :
    – #1.Moi (Non Lu)
    – #1.Moi (Lu)
    – #2.Copie (Non Lu)
    – #2.Copie (Lu)
  2. Récupération des e-mails : Le script récupère tous les fils de discussion de votre boîte de réception Gmail.
  3. Traitement des e-mails : Le script parcourt chaque fil de discussion et chaque message individuel. Pour chaque message, il vérifie :
    – Si vous êtes un destinataire direct (dans le champ « À »).
    – Si vous êtes en copie (dans le champ « CC »).
  4. Application des libellés : En fonction des résultats de ces vérifications, le script applique le libellé approprié au fil de discussion. Par exemple, si vous êtes un destinataire direct et que le message n’a pas été lu, le script applique le libellé « #1.Moi (Non Lu) ».
  5. Gestion des erreurs : Le script inclut une gestion des erreurs de base pour enregistrer les erreurs éventuelles dans le journal.

Comment utiliser ce script ?

Voici les étapes à suivre pour utiliser ce script :

  1. Ouvrez Google Apps Script :
    – Allez sur script.google.com.
    – Cliquez sur « + Nouveau projet ».
  2. Collez le code :
    – Copiez le code JavaScript ci-dessus.
    – Collez-le dans l’éditeur de script.
  3. Autorisez le script :
    – Cliquez sur l’icône « Exécuter ».
    – Vous serez invité à autoriser le script à accéder à votre compte Gmail. Cliquez sur « Autoriser ».
  4. Définissez un déclencheur :
    – Cliquez sur l’icône en forme d’horloge (« Déclencheurs »).
    – Cliquez sur « + Ajouter un déclencheur ».

Personnalisation du script

Vous pouvez personnaliser ce script en fonction de vos besoins. Par exemple, vous pouvez :
– Modifier les noms des libellés.
– Ajouter d’autres critères de filtrage (par exemple, par expéditeur, par sujet).
– Déplacer automatiquement les e-mails vers des dossiers spécifiques au lieu d’appliquer des libellés.

N’hésitez pas à adapter le script à votre flux de travail spécifique.

Les avantages d’une boîte de réception bien organisée

En utilisant un script comme celui-ci, vous pouvez :
– Gagner du temps en triant automatiquement vos e-mails.
– Vous assurer de ne jamais manquer un e-mail important qui vous est adressé personnellement.
– Améliorer votre productivité globale.

Dites adieu au chaos de votre boîte de réception et bonjour à une messagerie Gmail organisée et efficace !