Maison > interface Web > js tutoriel > Script Apps - Énumérez toutes les newsletters remplissant votre Gmail. Le désabonnement sélectif est devenu facile

Script Apps - Énumérez toutes les newsletters remplissant votre Gmail. Le désabonnement sélectif est devenu facile

Linda Hamilton
Libérer: 2025-01-27 00:33:09
original
194 Les gens l'ont consulté

Apps Script - List all the newsletters filling up your Gmail. Selective unsubscribing got easy


Vous vous noyez dans des newsletters Gmail débordantes ? Si le filtrage des liens de désabonnement est une solution connue, cet article s'attaque à un problème plus complexe : gérer efficacement un grand nombre d'abonnements à la newsletter existante.

Le défi

Le volume des newsletters souscrites peut devenir écrasant. Examiner et se désabonner manuellement de chacun est fastidieux. L'objectif ici n'était pas de supprimer les anciens e-mails, mais de créer une liste simplifiée d'expéditeurs de newsletter actuels et uniques pour un désabonnement ciblé. Gmail lui-même n'a pas de solution simple.

La solution : Google Apps Script

Google Apps Script a fourni la réponse. Cet outil puissant vous permet d'écrire du code pour interagir avec divers services Google, en automatisant les tâches répétitives. Avec environ 100 abonnements à la newsletter sur différentes plateformes, ce script s'est avéré inestimable pour réduire la liste aux seuls abonnements essentiels.

Voici un guide étape par étape pour reproduire cette solution :

  1. Créer une feuille Google : Cela stockera la liste générée des expéditeurs de newsletter.
  2. Accès Apps Script : Dans votre feuille Google, accédez à "Extensions" > "Script d'applications."
  3. Écrivez le script : Le script ci-dessous récupère les adresses e-mail uniques des expéditeurs de newsletter de Gmail, ainsi que leurs noms, et les organise soigneusement dans la feuille de calcul.
  4. Enregistrer et exécuter : Enregistrez le script, donnez-lui un nom descriptif et exécutez la fonction main. Autorisez le script à accéder à votre Gmail et Google Sheets.
  5. Vérifier et se désabonner : La feuille de calcul sera renseignée avec des adresses e-mail uniques. Utilisez cette liste pour vous désabonner des newsletters indésirables dans Gmail.

Répartition du script :

Le script comprend deux fonctions principales :

  • main() : Cette fonction appelle _getUniqueMailingListSenders().
  • _getUniqueMailingListSenders() : Cette fonction prend trois paramètres :
    • searchOption : la requête de recherche Gmail (par exemple, list:() pour les newsletters générales).
    • title : Le titre à ajouter aux colonnes de la feuille de calcul.
    • clearSheet : Un booléen pour déterminer s'il faut effacer la feuille existante.

La fonction alors :

  1. Récupère tous les fils de discussion correspondant aux critères de recherche.
  2. Utilise un JavaScript Set pour collecter des adresses e-mail d'expéditeur uniques.
  3. Extrait les noms des expéditeurs à l'aide d'expressions régulières.
  4. Stocke les adresses e-mail et les noms dans un Map.
  5. Ajoute dynamiquement des colonnes à la feuille Google, y compris un horodatage.
  6. Écrit les données uniques de l'expéditeur dans la feuille de calcul.
  7. Enregistre le processus dans le journal d'exécution d'Apps Script pour le débogage.

Code complet :

<code class="language-javascript">function _getUniqueMailingListSenders(
  searchOption,
  title,
  clearSheet = true,
) {
  const threads = GmailApp.search(searchOption);
  const senders = new Set();
  threads.forEach(thread => {
    const messages = thread.getMessages();
    messages.forEach(message => {
      senders.add(message.getFrom());
    });
  });

  const emailData = new Map();
  senders.forEach((sender) => {
    const emailMatch = sender.match(/<([^>]+)>/);
    const email = emailMatch ? emailMatch[1] : sender;
    const name = sender.replace(emailMatch ? emailMatch[0] : '', '').trim();
    if (!emailData.has(email)) {
      emailData.set(email, name);
    }
  });

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  if (clearSheet) {
    sheet.clear();
  }
  const lastColumn = sheet.getLastColumn();
  const emailColumn = lastColumn + 1;
  const nameColumn = lastColumn + 2;
  const currentDate = new Date().toLocaleDateString();

  sheet.getRange(1, emailColumn).setValue(`${title} - Email - ${currentDate}`);
  sheet.getRange(1, nameColumn).setValue(`${title} - Name - ${currentDate}`);

  let row = 2;
  emailData.forEach((name, email) => {
    console.log(`Adding data on column (${emailColumn}, ${nameColumn}) and row ${row}: `, {email, name});
    sheet.getRange(row, emailColumn).setValue(email);
    sheet.getRange(row, nameColumn).setValue(name);
    row++;
  });
}

function main() {
  _getUniqueMailingListSenders(
    'list:()',
    'Unique Email Senders',
    false,
  );
}</code>
Copier après la connexion

Conclusion

Google Apps Script offre une solution puissante pour gérer les abonnements aux e-mails volumineux. Ce script simplifie le processus, permettant un examen et un désabonnement efficaces des newsletters indésirables. Explorez Apps Script pour découvrir d'autres opportunités d'automatisation potentielles.

Connectez-vous avec moi sur :

  • Site Internet
  • LinkedIn
  • GitHub
  • X (Twitter)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal