【问题标题】:Send attachment with mail using apps script使用应用程序脚本通过邮件发送附件
【发布时间】:2016-08-31 08:44:48
【问题描述】:

我正在尝试发送带有 Google Apps 脚本代码附件文件的电子邮件。该文件将获得标签。有谁知道该怎么做?在示例中,只有来自 Google Drive 的代码附件。

【问题讨论】:

  • Apps 脚本代码在服务器上运行,它无法读取用户计算机上的驱动器,. . .如果这就是你的意思。您需要使用 HTML 构建用户界面,并让用户将文件上传到云端硬盘,然后获取文件 ID,并使用它来引用文件,以便将其附加到电子邮件中。

标签: email google-apps-script google-drive-api email-attachments


【解决方案1】:

不确定这是否是您要查找的内容。我们的一位团队成员编写了此代码。它允许没有谷歌驱动器的附件。

//********************************
//GAS
//********************************

function doGet() {
  return HtmlService.createHtmlOutputFromFile('index')
    .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

function processForm(formObject) {
  var myFile = formObject.myFile;

  var FileBytes = myFile.getBytes();
  var FileType = myFile.getContentType();
  var FileName = myFile.getName();
  var FileToSend = {
    fileName: FileName,
    content: FileBytes,
    mimeType: FileType
  };
  // Logger.log(FileType);

  var FileBytes2 = [100, 97, 121, 32, 108, 97, 32, 110, 111, 105, 32, 100, 117, 110, 103, 32, 98, 101, 110, 32, 116, 114, 111, 110, 103];
  var FileToSend2 = {
    fileName: 'test222.txt',
    content: FileBytes2,
    mimeType: 'text/plain'
  };
  var FileToSend3 = {
    fileName: 'test333.txt',
    content: 'noi dung ben trong',
    mimeType: 'text/plain'
  };

  GmailApp.sendEmail('youremail@gmail.com', '6 Attachment example', '6 Please see the attached file.', {
    attachments: [FileToSend, FileToSend2, FileToSend3],
    name: '6 Automatic Emailer Script'
  });

  return FileName;
}
//******************************************** //HTML //********************************************



<!DOCTYPE html>
<html>

<head>
  <base target="_top">
  <script>
    // Prevent forms from submitting.
    function preventFormSubmit() {
      var forms = document.querySelectorAll('form');
      for (var i = 0; i < forms.length; i++) {
        forms[i].addEventListener('submit', function(event) {
          event.preventDefault();
        });
      }
    }
    window.addEventListener('load', preventFormSubmit);

    function handleFormSubmit(formObject) {
      google.script.run.withSuccessHandler(updateUrl).processForm(formObject);
    }

    function updateUrl(filename) {
      var div = document.getElementById('output');
      div.innerHTML = filename;
    }
  </script>
</head>

<body>
  <form id="myForm" onsubmit="handleFormSubmit(this)" method="post" enctype="multipart/form-data">
    <input name="myFile" type="file" multiple/>
    <input type="submit" value="Submit" />
  </form>
  <div id="output"></div>
</body>

</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多