将文件附加到邮件并发送

时间:2015-09-18 17:05:58

标签: email google-apps-script gmail

我有以下代码,它尝试发送附有.pdf文件的邮件。此.pdf位于我的Google云端硬盘中。

var files = DriveApp.getFilesByName('file_test.pdf');
GmailApp.sendEmail(email, subject, message, {attachments:files[0]});

我发现“getFilesByName”返回一个数组,这就是我使用文件[0]的原因,但它仍然无效。我不知道如何调试它,所以当我测试我的代码时,我能够发送邮件,但我收到它没有附加文件。

1 个答案:

答案 0 :(得分:1)

当您使用getFilesByName时,您正在接收FileIterator,因此您应该使用hasNext()和next()函数来检索您的文件。

var files = DriveApp.getFilesByName('file_test.pdf');
if(files.hasNext()){
  var file = files.next();
  GmailApp.sendEmail(email, subject, message, {attachments:file});
}

在GmailApp文档中,他们使用文件上的getAs()函数将其作为PDF返回,在您的情况下,这可能是必需的,也可能不是必需的。

请参阅:

https://developers.google.com/apps-script/reference/gmail/gmail-app#sendEmail(String,String,String,Object)

https://developers.google.com/apps-script/reference/drive/drive-app