微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 gmail 脚本一次附加多个图像下面是一个附加图像的工作脚本示例

如何解决如何使用 gmail 脚本一次附加多个图像下面是一个附加图像的工作脚本示例

我正在尝试设置包含一些数据的 Google 表格以通过电子邮件发送图像。我有下面的代码可以发送单个图像附件,但如果可能的话,我想一次发送多个图像。如何更改下面的代码以处理多个图像?

 function emailImage(){
  var EMAIL_SENT = "EMAIL_SENT";

   var sheet = SpreadsheetApp.getActiveSheet();
    var startRow = 2;
    var numRows = sheet.getLastRow();
   // Fetch the range of cells
   var datarange = sheet.getRange(startRow,1,numRows,5)  
   var data = datarange.getValues(); 

  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var subject = row[1];       // Second column
    var message = row[2];       // Third column
    var image = UrlFetchApp.fetch(row[3]).getBlob();   // Fourth column
    var emailSent = row[4];     // Fifth column
    if (emailSent != EMAIL_SENT) {  // Prevents sending duplicates
      MailApp.sendEmail(emailAddress,subject,message,{attachments: [image]});
      sheet.getRange(startRow + i,5).setValue(EMAIL_SENT);
      // Make sure the cell is updated right away in case the script is interrupted
      SpreadsheetApp.flush();
    }
  }
}

解决方法

这只是帮助您的一个片段:

  var image1 = UrlFetchApp.fetch(row[3]).getBlob();
  var image2 = 'However you wish to get it';
  var options = { attachments: [] }; 
  option.attachments.push(image1);
  option.attachments.push(image2);
  MailApp.sendEmail(emailAddress,subject,message,options);
,

在@MetaMan 的帮助下,我终于能够完成这项工作......

function emailImage(){
 var EMAIL_SENT = "EMAIL_SENT";

   var sheet = SpreadsheetApp.getActiveSheet();
    var startRow = 2;
    var numRows = sheet.getLastRow();
   // Fetch the range of cells
   var dataRange = sheet.getRange(startRow,1,numRows,6)  
   var data = dataRange.getValues(); 

  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0];  // First column
    var subject = row[1];       // Second column
    var message = row[2];       // Third column
    var image1 = UrlFetchApp.fetch(row[3]).getBlob();
    var image2 = UrlFetchApp.fetch(row[4]).getBlob();
    var emailSent = row[5];     // Fifth column
    if (emailSent != EMAIL_SENT) {  // Prevents sending duplicates
      MailApp.sendEmail(emailAddress,{attachments: [image1,image2]});
      sheet.getRange(startRow + i,6).setValue(EMAIL_SENT);
      // Make sure the cell is updated right away in case the script is interrupted
      SpreadsheetApp.flush();
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。