Envoyer un mail en partant d'un google sheet ou/et d'un google docs

Bonsoir,

Et oui, encore moi.

Mon projet de réservation de salles avance de plus en plus, mais une fois de plus, je bloque.

J'explique :

A partir de mes feuilles précédentes, j'ai crée une nouvelle feuille grâce à un Query en utilisant la fonction Where qui fait que cette feuille ne contient qu'une ligne d'informations. (La cellule A1 contient l'ID qui me permet de faire mon Where dans mon Query). Je n'ai pas suffisamment de demandes pour faire quelque chose de plus complexe. Pour chaque demande, je vérifie les disponibilités et donc l'envoi du mail doit se faire demande par demande d'où la ligne unique dans cette feuille.

Elle a plusieurs cellules dont deux d'adresse mail et quelques autres petits trucs.

Je veux envoyer un mail à l'adresse mail et en copie caché, m'envoyer également le mail à l'adresse CCI.

Ce mail a pour but de prévenir la personne qui a fait la demande de réservation que celle-ci est accepté (au cas où elle doit être refusée car la salle est indisponible, je contacte directement le demandeur par téléphone pour trouver une solution avec lui donc je n'ai pas besoin d'envoyer un mail).

Il faut donc que le texte de mail soit "correct" et non juste un "OK reserv". Je n'ai cependant pas besoin d'une mise ne forme super nickel, un texte simple suffit.

J'ai fait différentes recherches sur internet et j'avais trouvé une solution où je devais partir d'un google docs. Ma macro actuelle crée donc ce google docs. Je ne veux pas l'envoyer en pièce jointe mais bien dans le texte même du mail.

La suite des explications pour l'envoie de ce mail est devenue franchement imbuvable pour mon niveau. Le script faisait plus de 260 lignes sans beaucoup d'explications avec des conditions, des envois de mails en groupe, utilisation d'un déclencheur en fonction d'une date, etc. Je suis bien incapable de le modifier pour qu'il fonctionne dans mon cas beaucoup plus simple.

Du coup, je ne sais pas s'il faut passer par un google docs ou si je peux directement créer le corps de mon mail à partir de ma feuille ACCEPTATION.

En fait, le but est d'aller dans ma feuille ACCEPTATION, vérifier que les infos soient correctes (cette partie c'est bon). Puis en allant dans le menu "MAIL / ENVOI MAIL" pour lequel j'ai fait un script, lancer la machine. Pour le moment, ça crée uniquement mon Docs (au besoin, je supprime cette partie si elle n'est pas utilise). Je voudrais surtout qu'il m'envoie le mail sur le modèle du docs existant, soit en passant par ce Docs, soit directement en le créant à partir de ma feuille ACCEPTATION.

Je créer un petit fichier "Testmail" que je partage mais une fois de plus, il est simplifié. J'ai d'autres informations à rajouter dans le mail d'où l'utilisation d'un script. C'est bien sûr le principe que je veux comprendre, après j'adapte…

Je partage également le modèle "MailAccept" à partir duquel je fabrique pour le moment le mail pour chaque envoie.

https://docs.google.com/document/d/1GiGu1uGpwgDuo4-DU8tYtIQYqVsrJ-lMuC5f-Uf-1zw/edit?usp=sharing

https://docs.google.com/spreadsheets/d/10xZo2yNGCrdv__eJGInk-HIv2ahGTyBDgtU14gL5zvs/edit?usp=sharing

Merci de m'avoir lu et pour votre aide

Co

Bonjour,

sois court la prochaine fois, quel roman !

et surtout évite d'aller voir les délires de 260 lignes pour écrire un mail ! cela se fait simplement par

MailApp.sendEmail(emailAddress, subject, message, {
  htmlBody: message,
  cc: 'internal1@email.com',
  bcc: 'internal2@email.com'
});
function envoyerEmail(email,objet,texte) {
  MailApp.sendEmail({to:email,
  subject: objet, 
  htmlBody: texte})
};

je vais regarder comment l'adapter à ton cas ...

Voici

J'ai mis le texte dans le script, mais on peut le remettre dans un document séparé si tu préfères.

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu('MAIL')
    .addItem('👉  ENVOI MAIL', 'creationMailaccept')
    .addToUi();
}

function creationMailaccept() {
  var ss = SpreadsheetApp.getActive();
  var sh = ss.getSheetByName('ACCEPTATION')

  var Nomfichier = sh.getRange('B3').getValue();
  var Prenom_Nom = sh.getRange('C3').getValue();
  var Salle = sh.getRange('D3').getValue();
  var Periode = sh.getRange('E3').getValue();
  var Objet = sh.getRange('F3').getValue();
  var Email = sh.getRange('G3').getValue();

  var message = texte
    .replace('{Nomfichier}', Nomfichier)
    .replace('{Prenom_Nom}', Prenom_Nom)
    .replace('{Salle}', Salle)
    .replace('{Periode}', Periode)
    .replace(/\n/g,'<br>')

  MailApp.sendEmail(Email, Objet, message, {
    htmlBody: message
  });
}

const texte = `
Bonjour {Prenom_Nom},

Vous avez effectué une demande de réservation pour la {Salle}.

Pour {Periode}.

Si vous souhaitez avoir de plus amples informations, annuler ou modifier votre réservation, merci de contacter le 00.00.00.00.00 ou envoyer un mail à l'adresse suivante : reservation@gmail.com.

Cordialement

La commission réservation des salles
`

attention à bien tout copier, y compris l'accent grave en toute dernière ligne !

Parfait

Merci

Co

Rechercher des sujets similaires à "envoyer mail partant google sheet docs"