如何通过脚本将附件添加到 GMail

How to add a attachment into GMail per script

我创建了以下脚本来将文件添加到 GMail:

function mySendEMail(NIDMail) {
  var mySubject = "This is only a Test";
  var myURL = DriveApp.getFileById(NIDMail).getUrl();
  var myBody = "Hello World,\n\n";
  myBody = myBody + "dddddddddddd\n";

  var file = DriveApp.getFileById(NIDMail);

  MailApp.sendEmail("xxxxx@googlemail.com", mySubject, myBody, {
     attachments: [file.getAs(MimeType.PDF)],
     })
}

使用此脚本,我可以添加每个 PDF 文件,但是如何将每个 Link 的附件添加到 GoogleDrive(就像使用 GDrive-Symbol)?

问候

我相信您正在尝试在电子邮件组合中复制 “使用驱动器插入文件” 的行为,其中附件是 link Google驱动器而不是文件的可下载版本。

此功能尚不适用于 sendEmail 的附件,但您可以使用 htmlBody (documentation) 作为 sendEmail 的参数并添加可点击的图像或文本作为元素。这将自动在电子邮件的附件部分包含一个驱动器 URL(类似于 'Insert file using Drive')。

示例电子邮件:

这是我用来生成上面示例电子邮件的代码片段:

function mySendEMail() {
  var NIDMail = "xxxxxxxxxx";
  var mySubject = "This is only a Test";
  var myURL = DriveApp.getFileById(NIDMail).getUrl();
  var myBody = "Hello World,\n\n";
  var gdriveLogo = "https://firebasestorage.googleapis.com/v0/b/drive-assets.google.com.a.appspot.com/o/Asset%20-%20Drive%20Lockup.png?alt=media"
  var html_body = "<p>This is a test email</p>"
                  + "<br>"
                  + "<p>(Test Document)</p>"
                  + "<br>"
                  + "<a href='" + myURL + "'>"
                  + "<img src='" + gdriveLogo + "' width='130' height='50'>"
                  + "</a>";

  MailApp.sendEmail({
    to: "xxxxxemailxxxxxx", 
    subject: mySubject, 
    htmlBody: html_body
  });
}