Google script - отправка автоматической электронной почты на основе условий - PullRequest
0 голосов
/ 14 сентября 2018

Надеюсь, вы сможете мне помочь, я новичок в скрипте Google (и в целом в кодировании)!

Моя главная цель - автоматически отправлять электронную почту каждый раз, когда задача не являетсязаполнено более 7 дней.

вот мой лист

Подробно, мой файл должен сообщить о проблеме по заказам клиента.Таким образом, вы найдете много столбцов, но в этом случае используются только: дата возникновения проблемы (C), номер заказа (D) и причина проблемы (I, J, K, L).

В моем сценарии я хочу отправлять электронное письмо на этот адрес электронной почты (xxx@xxx.xx) каждый раз, когда проблема не решается в течение более 7 дней.Идея состоит в том, чтобы получить письмо со словами: «Будьте осторожны, проблема порядка n ° // переменной // не была решена для более чем // переменной //. Эта проблема из-за // переменной //»

Когда я запустил код, я не получил сообщения об ошибке, но я тоже не получил письмо ..

Вот мой код:

 function sendEmails() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("Envoi mail"));
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange("A2:H40");
  var data = dataRange.getValues();
  for (i in data) {
    var rowData = data[i];
    var commande = rowData[1];
    var jourretard = rowData[2];
    var raison1 = rowData[3];
    var raison2 = rowData[4];
    var raison3 = rowData[5];
    var raison4 = rowData[6];
    var execute = rowData[7]; 
    var message = 'Attention, un incident sur la commande n°' + commande + '.' + 'En attente de résolution depuis' + jourretard + '. Il est dû à' + raison1 + raison2+ raison3+ raison4+'.';
    var subject = 'Incident non-traité'; 
if (execute == "yes"){
MailApp.sendEmail('xxx@xxx.xx', subject, message);
  }
}}

Большое спасибои хорошего дня, Алекс

1 Ответ

0 голосов
/ 17 сентября 2018

Вот код, который я обновил;Я изменил: - "rowData [0]" числа - я изменил "для (var i = 0; i

Но это все ещеничего не делает (почта не получена и невозможно использовать режим отладки ..)

ScriptApp.newTrigger("sendEmails")
  .timeBased()
  .everyDays(1)
  .create();

function sendEmails() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.setActiveSheet(ss.getSheetByName("Envoi email"));
  var sheet = SpreadsheetApp.getActiveSheet();
  var dataRange = sheet.getRange("A2:G25");
  var data = dataRange.getValues();
  for (var i = 0; i < dataRange.length; i++) {
    var rowData = data[i];
    var commande = rowData[0];
    var jourretard = rowData[1];
    var raison1 = rowData[2];
    var raison2 = rowData[3];
    var raison3 = rowData[4];
    var raison4 = rowData[5];
    var execute = rowData[6]; 
    var message = 'Attention, un incident sur la commande n°' + commande + '.' + 'En attente de résolution depuis' + jourretard + '. Il est dû à' + raison1 + raison2+ raison3+ raison4+'.';
    var subject = 'Incident non-traité'; 
if (execute == "yes"){
MailApp.sendEmail('contact@xxx.x', subject, message);
  }
}}


here are my OAuth ot the project:
"https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/spreadsheets"

Если у вас есть идея, не стесняйтесь :)

У меня также есть вопрос (может показаться глупым извините, но я проверил и не сделал'не найти ..) относительно выполнения скрипта, означает ли "getActiveSpreadsheet", что скрипт не может быть выполнен с закрытым файлом?

И большое спасибо за ваше время и помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...