Apps Script не отправляет электронную почту с помощью MailApp.sendEmail () - PullRequest
0 голосов
/ 04 апреля 2020

У меня есть код, в котором, когда я выбираю флажок в столбце «N», он должен отправить электронное письмо. Он проходит через предупреждения pass1, pass2 и pass3, но после этого ничего. Это сработало, когда я попытался запустить сценарий в редакторе сценариев, заменив переменные selRow и selCol жестко запрограммированным числовым значением.

function onEdit(e) {

  var selRow = e.range.getRow();
  var selCol = e.range.getColumn();

  var activeWS = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Active');
  var closeWS = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Closed');

  if(activeWS.getRange(selRow, selCol).getValue() == true && selCol == 14){

    SpreadsheetApp.getUi().alert('pass 1');

    // Fetch the email address
    var emailAddress = 'sample@gmail.com';
    var subjPart = activeWS.getRange(selRow, 2).getValue();

    SpreadsheetApp.getUi().alert('pass2');

    // Send Alert Email.
    var message = 'Please visit www.sample.com to view the latest project ready for Cap Out';
    var subject = 'Roofing Project ' + subjPart + 'is ready for Cap Out';
    SpreadsheetApp.getUi().alert('pass3');
    MailApp.sendEmail(emailAddress , subject, message);

    SpreadsheetApp.getUi().alert('Email sent');

  }

}

Есть идеи?

1 Ответ

0 голосов
/ 06 апреля 2020

Чтобы решить вашу проблему, я хотел бы предложить использовать устанавливаемый триггер события OnEdit. При запуске функции onEdit в качестве простого триггера возникает ошибка на MailApp.sendEmail, поскольку в этом случае требуется авторизация.

В качестве важного пункта, пожалуйста, переименуйте имя функции в onEdit другим. Благодаря этому можно избежать дублирования выполнения функции. Например, когда onEdit установлен в качестве устанавливаемого триггера события OnEdit, при редактировании ячейки onEdit запускается как простым триггером, так и устанавливаемым триггером. Поэтому в этом случае необходимо переименовать имя функции из onEdit в другое. Это можно увидеть на этом отчете .

Ссылки:

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