首页 > 解决方案 > 谷歌脚本不发送消息

问题描述

我写了一个谷歌脚本代码(发送特定的电子邮件),它已经工作了一段时间。但后来我在大约一个月前停止了它,现在我又需要它了。问题是代码被执行,但它没有发送任何消息。你能告诉我我的代码有什么问题吗?

function sendEmailL() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Lb'); //Sheet name
  var startRow = 2; // First row of data to process
  var numRows = 30; // Number of rows to process
  // Fetch the range of cells U:V
  var dataRange = sheet.getRange(startRow, 1, numRows, 30)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (var i in data) {
    var row = data[i];
    var emailAddress = row[20]; // First column
    var message = row[21]; // Second column
    var subject = 'Новое поступление от рекламодателя';
    MailApp.sendEmail(emailAddress, subject, message);
  }
}

标签: google-apps-scriptsendmail

解决方案


如果您没有在对话框中获得正确的数据,您需要学习如何使用开发人员工具来找出问题所在。

function sendEmailL() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Lb'); //Sheet name
  var startRow = 2; // First row of data to process
  var numRows = 30; // Number of rows to process
  // Fetch the range of cells U:V
  var dataRange = sheet.getRange(startRow, 1, numRows, 30)
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  let html='Test Data:<br />';
  for (var i;i<data.length;i++) {
    var row = data[i];
    var emailAddress = row[20]; // First column
    var message = row[21]; // Second column
    var subject = 'Новое поступление от рекламодателя';
    //MailApp.sendEmail(emailAddress, subject, message);
    html+=Utilities.formatString('<br />Row:%s-emal: %s subject: %s message: %s',i+startRow,emailAddress,subject,message)
  }
  SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(html),'Testing');
}

而且您可能应该检查getRemainingDailyQuota()以确保您没有超过每日配额


推荐阅读