Envoyer des rappels par e-mail avant les rendez-vous stockés dans une feuille de calcul Google Sheets
Voici un exemple de script que vous pouvez utiliser pour envoyer des rappels par e-mail avant les rendez-vous stockés dans une feuille de calcul Google Sheets. Cet exemple est issue d'une demande de rappel à envoyer par un garagiste à ses clients.
function envoiEmailDeRappel() {
var classeur = SpreadsheetApp.getActiveSpreadsheet();
var feuille = classeur.getSheetByName("Rendez-vous");
var dataRange = feuille.getDataRange();
var data = dataRange.getValues();
var feuilleRappel = classeur.getSheetByName("Rappels");
var now = new Date();
for (var i = 1; i < data.length; i++) {
var row = data[i];
var date = new Date(row[0]);
var time = new Date(row[1]);
var datetime = new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());
var email = row[2];
var travaux = row[3];
if (datetime.valueOf() - now.valueOf() <= 86400000) { // Envoi d'un rappel 24 heures avant le rendez-vous
var subject = "Rappel : Votre rendez-vous au garage automobile est dans 24 heures";
var dateString = date.toLocaleDateString('fr-FR', {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'});
var timeString = time.toLocaleTimeString('fr-FR', {hour12: false});
var message = "<html><body>Bonjour,<br><br>Ceci est un rappel pour votre rendez-vous au garage automobile (" + travaux + ") prévu le <b>" + dateString + "</b> à <b>" + timeString + "</b>.<br><br>Si vous avez besoin d'annuler ou de reporter votre rendez-vous, veuillez nous contacter dès que possible.<br><br>Cordialement,<br><br>Le garage automobile</body></html>";
MailApp.sendEmail(email, subject, '', {htmlBody: message});
feuilleRappel.appendRow([date, time, email]);
}
}
}