首页 > 解决方案 > 带有附件问题的电子邮件

问题描述

我是这个脚本的新手,所以我环顾四周,找到了一些满足我需求的脚本。我目前正在尝试自动发送每月通讯,并且不断收到以下错误:

例外:无效参数:附件(第 16 行,文件“宏”)

代码如下:

函数发送电子邮件(){

var startRow = 1;
var numRows = 2;
var dataRange = sheet.getRange(startRow, 1, numRows, 2)
var file = DriveApp.getFilesByName("Current Newsletter.pdf");
var data = dataRange.getValues();

for (i in data) {
   var row = data[i];
   var emailAddress = row[0];  // First column
   var message = "Dear "+ row[1] + "," + '\n\n' + "Please find attached, the latest update from [redacted].";
   var subject = "IAA Monthly Update";
   MailApp.sendEmail(emailAddress, subject, message, {attachments: [file]});
  }
}

标签: emailgoogle-apps-scriptgoogle-drive-apiemail-attachments

解决方案


根据文档,您在使用 MailApp 时无法发送带有附件的电子邮件。相反,您需要使用 GmailApp。

以下是使用 GmailApp 得出解决方案的示例:

 // Send an email with a file from Google Drive attached as a PDF.
var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');

GmailApp.sendEmail('mike@example.com', 'Attachment example', 'Please see the attached file.', {
    attachments: [file.getAs(MimeType.PDF)],
    name: 'Automatic Emailer Script'
});

推荐阅读