Envoi mail suite au remplissage d'un formulaire

Bonjour, j'aimerai envoi un mail automatique dès que j'appuie sur le bouton ajouter. Comment Faire ?

Voici mon code pour le formulaire, que dois-je rajouter ?

Google script

function Ajout_DA() {

  const html = HtmlService.createHtmlOutputFromFile('form')
    .setWidth(300)
    .setHeight(600);
  SpreadsheetApp.getUi().showModalDialog(html, 'Ajouter une DA');

}

function ajouterLigne(tab) {
  SpreadsheetApp.getActiveSheet().appendRow(tab);
}

Html

<!DOCTYPE html>
<html>
  <head>
    <style>
      body {
        padding: 0 0.5rem; 
        color: #333;
        font-family: Roboto, Arial, sans-serif;
        overflow: hidden;
      }
      p {
        margin: 0.8rem 0 0.3rem;
      }
      .annuler {
        display: inline-block;
        margin-top: 1rem;
        font-size: 0.88rem;
        color: #888;
        cursor: pointer;
      }
      .annuler:hover {
        text-decoration: underline;
      }
      input[type="text"] {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 1rem;
        padding: 0.6rem 0.7rem;
        background: #f3f3f3;
        color: #444;
        border: none;
        font-size: 1.08rem;
        border-radius: 0.4rem;
      }
       input[type="date"] {
        display: block;
        width: 100%;
        box-sizing: border-box;
        margin-bottom: 1rem;
        padding: 0.6rem 0.7rem;
        background: #f3f3f3;
        color: #444;
        border: none;
        font-size: 1rem;
        border-radius: 0.4rem;
      }
      input[type="button"] {
        display: block;
        width: 100%;
        padding: 0.7rem 0 0.6rem;
        border: none;
        background: #001b5b;
        color: #fff;
        font-size: 1.15rem;
        cursor: pointer;
        border-radius: 0.4rem;
      }
      input[type="button"]:hover {
        background: #001b5b;
      }
    </style>
  </head>
  <body>
       <p>DIV</p>
    <input type="text" name="DIV" value="">
      <p>Date</p>
    <input type="date" name="date" value="">
    <p>DA</p>
    <input type="text" name="DA" value="">
    <input type="button" value="Ajouter"onclick="ajouter()">
    <span class="annuler" onclick="google.script.host.close()">Annuler</span>

    <script>

      function ajouter() {
        const selects = document.querySelectorAll('select'); 
        const inputs = document.querySelectorAll('input[type="text"]');
        const dates = document.querySelectorAll('input[name="date"]'); 
        let tab = [];

        for (const input of inputs)  {
                  tab.push(input.value);
        }

        for (const date of dates)  {
                  tab.push(date.value);
        }

        for (const select of selects)  {
                  tab.push(select.value);
        }

        if (tab.join('') == '') {
          alert('Le formulaire est vide !');
          return;
        }

        inputs.forEach(input => input.value = '');

        google.script.run.ajouterLigne(tab);
      }
    </script>

  </body>
</html>

Bonjour,

Vous voulez mettre des données de votre fichier dans le mail ? Juste une notification ?

Oui je voudrais renvoyer les données remplies dans le formulaire.

Essayez ceci, dans votre fonction ajouterLigne

  var mail = 'ceciestuneadressemail@veolia.com, autremail@veolia.com';
  var message = ""Bonjour""+""<p> Voici les informations contenues dans la ligne <p><p> ""+tab;
    MailApp.sendEmail({to: mail , subject: ""ceci est l'objet du mail"", htmlBody:message}) ;}"

Bonjour, au final j'ai utilisé des choses que j'avais déjà faites car les adresses mails changent.

Juste là j'ai 4 pop up qui apparaissent et j'aimerai avoir un seul formulaire, est-ce possible ?

function Ajout_DA(){

var spreadsheet = SpreadsheetApp.getActive();

const div = Browser.inputBox('Nouvelle DA',"Entrez le numéro de DIV:", Browser.Buttons.OK);
const da = Browser.inputBox('Nouvelle DA',"Entrez le numéro DA:", Browser.Buttons.OK);
const date = Browser.inputBox('Nouvelle DA',"Entrez la date:", Browser.Buttons.OK);
const four = Browser.inputBox('Nouvelle DA',"Entrez le fournisseur:", Browser.Buttons.OK);

spreadsheet.getRange('2:2').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();

spreadsheet.getRange('a2').setValue(div);
spreadsheet.getRange('B2').setValue(da);
spreadsheet.getRange('C2').setValue(date);
spreadsheet.getRange('D2').setValue(four);

spreadsheet.getRange('E2').activate();
spreadsheet.getCurrentCell().setFormula('=VLOOKUP($D2;ANNEXES!$A:$C;3;0)');

var commande =spreadsheet.getSheetByName('COMMANDE');
var Texte_mail =spreadsheet.getSheetByName('ANNEXES');
var subject = Texte_mail.getRange(4,6).getValue();
var message = Texte_mail.getRange(4,7).getValue();
var emailAddress = commande.getRange(2,5).getValue();

message = message.replace("<div>", div).replace("<date>", date).replace("<da>", da);
subject = subject.replace("<div>", div);

MailApp.sendEmail(emailAddress,subject,message);

}

Bonjour,

Oui c'est possible, avec votre 1ere solution qui créait une popup html

Rechercher des sujets similaires à "envoi mail suite remplissage formulaire"