Envoyer des emails directement depuis Google Sheets peut simplifier vos tâches administratives et vous faire gagner du temps. Cet article va vous guider pas à pas pour configurer un script Google Apps Script qui enverra des emails à partir de vos feuilles de calcul en utilisant SMTP. Vous verrez des exemples de code, la configuration SMTP, et la personnalisation de votre script pour répondre à différents cas d’usage.
Table des Matières
- Introduction à Google Apps Script
- Configuration SMTP pour Envoyer des Emails
- Créer un Script de Base pour Envoyer un Email
- Récupérer les Données depuis Google Sheets
- Personnalisation du Corps de l’Email
- Tester et Automatiser votre Script
Introduction à Google Apps Script
Google Apps Script est un langage de script basé sur JavaScript, conçu pour automatiser des tâches sur Google Workspace. Il peut vous aider à manipuler des données dans Google Sheets et à exécuter des actions telles que l’envoi d’emails.
En utilisant Apps Script, vous pouvez :
- Créer des automatisations pour des tâches répétitives
- Envoyer des notifications par email directement depuis une feuille de calcul
- Intégrer des fonctionnalités avancées via des scripts personnalisés
Cet article vous montrera comment configurer un script pour envoyer des emails en utilisant les données présentes dans vos feuilles de calcul Google Sheets.
Configuration SMTP pour Envoyer des Emails
Pour envoyer des emails via SMTP dans Google Apps Script, vous avez besoin des paramètres SMTP de votre fournisseur d’email. SMTP (Simple Mail Transfer Protocol) permet d’envoyer des emails via des serveurs de messagerie. Voici comment configurer cela.
Étape 1 : Récupérez vos Informations SMTP
- Serveur SMTP : Chaque fournisseur a ses propres paramètres SMTP. Par exemple :
- Gmail : smtp.gmail.com
- Outlook : smtp-mail.outlook.com
- Yahoo : smtp.mail.yahoo.com
- Port : 587 (TLS) ou 465 (SSL)
- Nom d’utilisateur : Votre adresse email complète
- Mot de passe : Le mot de passe de votre compte email (ou un mot de passe d’application si nécessaire)
Étape 2 : Configurez le Script pour Utiliser SMTP
Avant de commencer, vous devez ajouter une bibliothèque Apps Script qui prend en charge l’envoi d’emails SMTP, car Apps Script utilise normalement son propre système d’envoi d’emails.
- Allez dans Bibliothèque sous Ressources.
- Ajoutez l’ID de bibliothèque :
1hF5iR5Bv0WTF9w7O3sBd_P8ynEqbY5Xb7uN4Cav-Mhs
pour activer la bibliothèque SMTPApp.
Créer un Script de Base pour Envoyer un Email
Avec la configuration SMTP en place, vous pouvez maintenant créer un script de base pour envoyer un email simple. Ce script utilise les informations que vous avez configurées pour envoyer l’email.
function envoyerEmailSMTP() {
const email = "exemple@domaine.com"; // Adresse de l'expéditeur
const destinataire = "destinataire@domaine.com"; // Adresse du destinataire
const sujet = "Test de l'envoi d'email via SMTP";
const message = "Bonjour, ceci est un test de Google Apps Script utilisant SMTP.";
const options = {
auth: {
user: "votre_adresse@domaine.com",
pass: "votre_mot_de_passe"
},
host: "smtp.votreFournisseur.com",
port: 587, // Utilisez 465 si votre SMTP nécessite SSL
secure: false, // Définissez à true si vous utilisez SSL
};
SMTPApp.sendEmail(destinataire, sujet, message, options);
}
Ce code envoie un email à une adresse spécifique en utilisant vos informations SMTP.
Récupérer les Données depuis Google Sheets
Pour envoyer des emails en masse, vous voudrez peut-être récupérer des données directement depuis Google Sheets. Supposons que vos données d’email se trouvent dans la colonne A de votre feuille.
Exemple de Code pour Récupérer des Emails depuis une Feuille
Le script suivant envoie un email à chaque adresse listée dans la colonne A :
function envoyerEmailsDepuisSheet() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Feuille1");
const range = feuille.getRange("A2:A" + feuille.getLastRow());
const emails = range.getValues().flat();
emails.forEach(email => {
envoyerEmailSMTP(email, "Votre Sujet", "Message personnalisé ici");
});
}
Ce script collecte toutes les adresses email à partir de la colonne A et envoie un email à chaque adresse.
Personnalisation du Corps de l’Email
Pour un impact plus personnalisé, vous pouvez inclure des informations spécifiques au destinataire dans chaque email.
Exemple de Personnalisation
Imaginons que la colonne B contienne le prénom du destinataire. Voici comment personnaliser chaque email :
function envoyerEmailsPersonnalises() {
const feuille = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Feuille1");
const range = feuille.getRange("A2:B" + feuille.getLastRow());
const data = range.getValues();
data.forEach(row => {
const email = row[0];
const prenom = row[1];
const message = `Bonjour ${prenom},\n\nCeci est un message personnalisé !`;
envoyerEmailSMTP(email, "Votre Sujet Personnalisé", message);
});
}
Ce script utilise le prénom de chaque destinataire pour personnaliser le corps de l’email.
Tester et Automatiser votre Script
Pour vous assurer que votre script fonctionne correctement, effectuez quelques tests et planifiez l’exécution automatique du script.
Tester votre Script
- Allez dans Exécuter > Fonction et sélectionnez
envoyerEmailsDepuisSheet
ouenvoyerEmailsPersonnalises
. - Si c’est la première exécution, Google vous demandera l’autorisation d’accès.
Automatiser avec un Déclencheur
Pour automatiser l’envoi d’emails :
- Allez dans Éditeur de script > Déclencheurs.
- Ajoutez un déclencheur pour que votre script s’exécute à une heure précise (quotidienne, hebdomadaire, etc.).
Tableau Récapitulatif
Fonctionnalité | Description |
---|---|
Configuration SMTP | Définir les informations SMTP pour l’envoi d’emails |
Script de base | Script de base pour envoyer un email unique |
Récupération des emails | Récupérer des emails depuis une feuille Google Sheets |
Personnalisation | Ajouter des informations personnalisées dans l’email |
Automatisation | Planifier l’exécution automatique du script |
Avec cet outil en place, vous pouvez désormais envoyer des emails à vos contacts depuis Google Sheets sans effort supplémentaire. Profitez-en pour simplifier vos tâches de communication et gagner du temps!