📜  谷歌脚本发送电子邮件 - Javascript (1)

📅  最后修改于: 2023-12-03 15:28:12.697000             🧑  作者: Mango

谷歌脚本发送电子邮件 - Javascript

如果您正在使用谷歌云服务,您可以使用谷歌脚本发送电子邮件。谷歌脚本是一种简单的编程语言,与Javascript非常相似,并与谷歌云应用集成在一起。使用谷歌脚本,您可以自动执行各种任务,如自动生成报告、从Google Drive中提取数据等,以及在此过程中发送电子邮件通知。

如何发送电子邮件

在谷歌脚本中使用Gmail类即可发送电子邮件。首先,您需要使用GmailApp类的getInboxUnreadCount方法获取未读邮件的数量,以确保您已经成功连接到Gmail。

function sendEmail() {
  var emailAddress = "recipient@email.com";
  var messageSubject = "Hello from Google Script";
  var messageBody = "This is a test email from Google Script";
 
  GmailApp.sendEmail(emailAddress, messageSubject, messageBody);
}

在上面的代码中,我们定义了recipient邮件地址,邮件主题和邮件正文,然后调用GmailApp的sendEmail方法发送邮件。该方法需要三个参数:邮箱地址、邮件主题和邮件内容。

如何发送带有附件的电子邮件

要在电子邮件中添加附件,您需要使用GmailApp的sendEmail方法中的第四个参数,来添加附件。在以下示例中,我们将在电子邮件中添加文件夹中的所有文件作为附件,文件夹的URL为 "https://drive.google.com/drive/folders/1f_awsomefolder"

function sendEmailWithAttachment() {
  var emailAddress = "recipient@email.com";
  var messageSubject = "Hello from Google Script";
  var messageBody = "This is a test email from Google Script with attachments";
  var attachmentFolderUrl = "https://drive.google.com/drive/folders/1f_awsomefolder";
 
  var files = DriveApp.getFolderById(
    getDriveFolderIdFromUrl(attachmentFolderUrl)
  ).getFiles();
 
  var attachments = [];
  while (files.hasNext()) {
    var file = files.next();
    attachments.push(file.getAs(MimeType.PLAIN_TEXT));
  }
 
  GmailApp.sendEmail(emailAddress, messageSubject, messageBody, {
    attachments: attachments,
  });
}
 
function getDriveFolderIdFromUrl(url) {
  return url.match(/[-\w]{25,}/);
}

在上面的代码中,我们定义了收件人、主题和内容,然后从Google Drive中获取文件夹中的所有文件并将它们添加到一个attachments数组中。最后,我们使用GmailApp的sendEmail方法发送电子邮件的同时添加attachments数组作为第四个参数。

总结

无论您需要发送简单的电子邮件还是带有附件的电子邮件,谷歌脚本都可以帮助您自动完成这些任务。通过使用GmailApp类,您可以编写简单的脚本来发送电子邮件通知,以及带有附件的邮件。如果您需要更复杂的邮件功能,您可能需要阅读Gmail API文档以了解更多信息。

返回的代码片段如下:

function sendEmail() {
  var emailAddress = "recipient@email.com";
  var messageSubject = "Hello from Google Script";
  var messageBody = "This is a test email from Google Script";
 
  GmailApp.sendEmail(emailAddress, messageSubject, messageBody);
}

function sendEmailWithAttachment() {
  var emailAddress = "recipient@email.com";
  var messageSubject = "Hello from Google Script";
  var messageBody = "This is a test email from Google Script with attachments";
  var attachmentFolderUrl = "https://drive.google.com/drive/folders/1f_awsomefolder";
 
  var files = DriveApp.getFolderById(
    getDriveFolderIdFromUrl(attachmentFolderUrl)
  ).getFiles();
 
  var attachments = [];
  while (files.hasNext()) {
    var file = files.next();
    attachments.push(file.getAs(MimeType.PLAIN_TEXT));
  }
 
  GmailApp.sendEmail(emailAddress, messageSubject, messageBody, {
    attachments: attachments,
  });
}

function getDriveFolderIdFromUrl(url) {
  return url.match(/[-\w]{25,}/);
}