Informer vos contacts de vos nouvelles coordonnées avec Google Apps Script
Vous avez sans doute déjà dû informer vos contacts d’un changement de numéro de téléphone ou d’adresse. Plutôt que de le faire manuellement, vous pouvez automatiser cette tâche grâce à Google Apps Script. Ce script permet d’envoyer un email personnalisé à chaque contact, avec un fichier vCard (VCF) en pièce jointe contenant vos coordonnées à jour.
Dans cet article, nous allons vous montrer comment créer un script qui :
- Envoie un email personnalisé à chaque contact.
- Joint un fichier vCard à chaque email, facilitant la mise à jour des contacts.
Pourquoi utiliser un fichier vCard ?
Le format vCard, largement utilisé pour l’échange d’informations de contact, simplifie l’importation de ces données. Vos contacts peuvent ainsi importer directement vos coordonnées dans leurs téléphones ou logiciels de messagerie, sans avoir à les saisir manuellement. Cela réduit le risque d’erreurs et rend le processus beaucoup plus rapide.
Fonctionnement du script
Le script Google Apps Script extrait les contacts depuis une feuille Google Sheets. Ensuite, il envoie un email personnalisé à chaque destinataire, en y joignant un fichier vCard (VCF) contenant vos informations actualisées. De plus, une colonne “Statut” permet de suivre les envois et d’éviter de renvoyer le même email.
Le code à adapter
Voici un exemple de script que vous pouvez personnaliser :
function envoyerEmails() { // Ouvre le Google Sheets actif const feuille = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // Récupère toutes les données de la feuille const donnees = feuille.getDataRange().getValues(); // Détermine l'index de la colonne "Statut" (dernière colonne) const statutColIndex = donnees[0].length - 1; let emailCount = 0; const dailyLimit = 90; // Limite quotidienne d'envoi // Parcourt chaque ligne à partir de la ligne 2 (pour ignorer l'en-tête) donnees.slice(1).forEach((ligne, index) => { if (emailCount >= dailyLimit) { return; // Arrête d'envoyer des emails si la limite est atteinte } const [prenom, email, statut] = ligne; // Vérifie si le statut est déjà "Envoyé" pour éviter de renvoyer if (email && statut !== "Envoyé") { const sujet = 'Mise à jour de mes coordonnées'; // Le contenu HTML de l'email avec un texte simple const messageHtml = ` <html> <head> <style> body { font-family: Arial, sans-serif; background-color: #f9f9f9; color: #333; margin: 0; padding: 20px; } .container { background-color: #fff; padding: 20px; margin: 0 auto; border: 1px solid #ddd; max-width: 800px; text-align: left; } p { font-size: 14px; line-height: 1.6; color: #555; } .footer { font-size: 14px; color: #777; margin-top: 20px; } </style> </head> <body> <div class="container"> <p>Bonjour ${prenom},</p> <p>Je voulais t'informer que j'ai mis à jour mes coordonnées.</p> <p>Je te remercie de bien vouloir mettre à jour ma fiche dans tes contacts.</p> <p>Je joins un fichier VCF avec mes informations à jour.</p> <div class="footer"> À bientôt,<br> <strong>Nom Prénom</strong> </div> </div> </body> </html>`; // Création du contenu du fichier VCF (vCard) anonymisé const vcfContent = ` BEGIN:VCARD VERSION:3.0 N:Nom;Prénom;;Mr.; FN:Nom Prénom TEL;TYPE=cell,voice:+33123456789 EMAIL;TYPE=home:email@example.com ADR;TYPE=home:;;Adresse;Ville;;CodePostal;Pays BDAY:1970-01-01 REV:${new Date().toISOString()} END:VCARD`; // Création d'un fichier blob pour le fichier VCF const vcfFile = Utilities.newBlob(vcfContent.trim(), 'text/vcard', `Contact_Nom_Prenom.vcf`); // Envoie de l'email avec le format HTML MailApp.sendEmail({ to: `${prenom} <${email}>`, subject: sujet, htmlBody: messageHtml, name: "Nom Prénom", // Ajout du nom complet comme expéditeur attachments: [vcfFile] }); // Mise à jour du statut dans la feuille de calcul (colonne "Statut") feuille.getRange(index + 2, statutColIndex + 1).setValue("Envoyé"); emailCount++; // Incrémente le compteur d'emails envoyés } }); }
Explication du code
Le script commence par ouvrir la feuille Google Sheets active et par récupérer les données de chaque contact. À chaque ligne, si l’email n’a pas encore été envoyé, le script génère un email personnalisé et y joint un fichier vCard avec les informations de contact à jour. Ensuite, le statut est mis à jour pour éviter l’envoi multiple.
Recommandations supplémentaires
Avant d’envoyer les emails à l’ensemble de vos contacts, il est recommandé de tester le script avec un petit groupe. Cela vous permet de vérifier que tout fonctionne correctement. Par ailleurs, veillez à tester la compatibilité du fichier vCard sur différents appareils (Android, iOS, etc.). Enfin, n’oubliez pas de respecter les quotas d’envoi d’emails quotidiens imposés par Google.
L’atelier informatique vous accompagne dans vos projets technologiques en vous proposant des tutoriels et des solutions pour optimiser vos tâches quotidiennes.