Google Apps Script : envoi d’e-mails personnalisés basés sur un Google Docs modèle
Vous souhaitez mettre en place l’envoi automatique d’un mail avec un contenu personnalisé, configurable via Google Docs et Google Sheets ? Nous allons voir dans cet article comment automatiser ce moyen de communication avec un […]

Ce que vous allez découvrir
- Exemple
- Étape 1 : créer un modèle dans Google Docs
- Étape 2 : ajouter les participants dans Google Sheets
- Étape 3 : créer le script pour automatiser l'envoi des mails de convocations
- Étape 4: configurer le script
Google Apps Script : envoi d’e-mails personnalisés basés sur un Google Docs modèle
Vous souhaitez mettre en place l’envoi automatique d’un mail avec un contenu personnalisé, configurable via Google Docs et Google Sheets ?
Nous allons voir dans cet article comment automatiser ce moyen de communication avec un exemple concret.
Exemple
Une société de formation souhaite envoyer un mail de convocation personnalisé à tous ses participants.
Étape 1 : créer un modèle dans Google Docs
Il faut tout d’abord créer un Google Docs modèle avec le contenu du mail que l’on désire. Les éléments de texte variables (comme le nom du destinataire) sont à mettre entre crochets ([Nom]) afin d’être détectés plus tard par le script et remplacés par les valeurs appropriées.
L’ID du document présent dans l’URL (ici « 1kTxCdlU5_fr66cTj05RkrPjQ_GiId5xm_LLAkZ3NCSo ») doit être copié (pour être collé à l’étape 3).
Étape 2 : ajouter les participants dans Google Sheets
Ensuite, entrez les participants dans Google Sheets dans un classeur « Inscriptions » avec : leur nom, leur prénom, le sujet de leur formation, la date de début de formation et enfin leur adresse e-mail.Prévoyez une colonne dédiée avec des cases à cocher vides, qui indiquera si l’e-mail d’inscription a déjà été envoyé ou non (pour éviter les envois multiples).
Étape 3 : créer le script pour automatiser l’envoi des mails de convocations
Dans l’éditeur de script du classeur, nous allons maintenant pouvoir automatiser l’envoi des convocations.
Nous
Veuillez créer un compte pour lire la suite de cette ressource
L’accès à cette ressource se fait gratuitement en créant un compte Numerifan. Les abonnements payants donnent également accès aux cours gratuits.

Cet article est réservé aux abonnés. Pourquoi ?
Fournir tout ce contenu nous demande beaucoup de temps, des ressources et une veille permanente. Accédez à ce contenu en rejoignant notre super communauté, pour tous nous remercier 💪
Besoin d'un peu plus d'aide sur Sheets ?
Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Sheets, que ce soit pour votre entreprise ou pour vos besoins personnels !
Découvrir nos formations Sheets- Tutos connexes
- Plus de l'auteur
5
Note du cours
(1)
(0)
(0)
(0)
(0)
Bonjour,
Nous sommes une association d’Adoptés, et nous avons des cotisants/Adhérents, mais il très difficile de faire le suivi des Adhésions, nous voudrions automatiser ce système, pour qu’un mail puisse etre envoyé 30 en amonts et si besoin (de façon manuel),si date passé). Je dois vous avouez que ca semble assez simple dans votre article … en 10 min ? Ca fait 2 jours que je suis dessus et je ne m’en sort pas. Pouvez nous donner un coup demain ? Ce serait formidable !
Cet avis vous a été utile ?
Bonjour Aguirre et merci pour votre message.
c’est vrai que l’automatisation des tâches en fonction de dates peut vite devenir chronophage. Nous proposons des accompagnement à l’heure qui correspondront surement à votre besoin pour être débloqué et garder la main sur votre script. je vous invite à vous rendre ici : https://school.numericoach.fr/1h-de-coaching-g-suite
bon courage pour la suite et pour votre mission auprès des familles et des enfants.
Cet avis vous a été utile ?
Bonjour, votre sujet est intéressant, j’ai reproduit votre méthode, mais de mon coté j’ai un soucis dans cette partie :
mailBodyHTML = mailBodyHTML.replace(« [« +id+ »] »,variables[id]);
j’ai une erreur TypeError: Assignment to constant variable. (ligne 228, fichier « Code »)
Je ne vois pas ce qui bloque, si je saute cet étape l’email est bien envoyé sans modification est la case est bien mis en true.
Cet avis vous a été utile ?
Bonjour Sabrina,
Merci beaucoup pour votre message, vous avez raison, je viens de modifier l’article en conséquence, il faut initialiser mailBodyHTML avec « var » et non « const ».
Je vous laisse re-essayer et revenir vers moi en cas de problème.
Cet avis vous a été utile ?
Super ! Merci à vous cela fonctionne.
Cet avis vous a été utile ?
Bonjour, merci pour ce script.
Je rencontre un problème, je souhaiterais ajouter une pj (pdf) au mail envoyé.
Comment adapter le script afin d’avoir l’attachment ?
Cet avis vous a été utile ?
Bonjour,
Il suffit de rajouter:
const file = DriveApp.getFileById(id de votre fichier);
options[‘attachments’] = [file.getAs(MimeType.PDF)];
Et vous pouvez connaitre l’id de votre fichier en allant sur Drive, en selectionnant votre fichier et en faisant un click droit « Obtenir le lien ». Il suffit alors juste de prendre la partie en gras qui correspond à l’id du fichier: « https://drive.google.com/file/d/1D0moiUYlfaHSSUlQ7qSB4IIPY5dteJxx/view?usp=sharing »
Cet avis vous a été utile ?
Bonjour Christelle,
je suis pas du tout compétent en codage … je bidouille.
Merci pour ce script. Super efficace. J’ai même réussi a l’adapté à mes besoins.
Tout comme Zell je souhaite ajouter une PJ.
Je ne comprend juste pas ou intégré les deux lignes que vous donnez
Merci d’avance
Cet avis vous a été utile ?
Bonjour Ali,
Contente que le script convienne à vos besoins !
Il faut rajouter ces 2 lignes dans le dernier morceau de code de l’étape 3, au sein de la fonction envoiMail, par exemple après la ligne 4 où on déclare la variable options.
Cet avis vous a été utile ?
Bonjour Christelle,
Merci pour votre réponse !
Néanmoins je reçois systématiquement une erreur :
Erreur de syntaxe : SyntaxError: Invalid or unexpected token (ligne : 226, fichier : Code Mail 1.gs)
J’ai beau essayé de menue modif dans le code, ca bloque.
Cet avis vous a été utile ?
Bonjour,
Je trouve votre script vraiment Top.
Il y a quelques jours, j’ai posté sur le forum ce cas de figure « d’envois d’Emails automatiques » au départ de Sheets.
Mon script est un peu plus light mais je rencontre un petit problème que je n’arrive pas à régler.
Le script fonctionne bien, l’envoi des mails aussi mais un message d’erreur subsiste.
Voici le lien vers le forum : https://forum.thierryvanoffe.com/viewtopic.php?t=93
Si vous avez une idée…
Merci.
Cet avis vous a été utile ?