Gmail插件:将电子邮件另存为.eml到本地目录

时间:2018-03-22 11:09:04

标签: google-apps-script gmail-addons

尝试构建一个简单的功能,在执行时将打开的电子邮件保存为.eml到本地计算机。

使用以下代码,电子邮件将保存为original_msg.txt

在Chrome设置中,您可以强制打开“另存为”对话框并将其默认为.eml,这很好,但问题是当您执行脚本时会打开一个空白标签,即使在你的下载已经完成。

我正在考虑以某种方式关闭标签,或改变我接近此任务的方式。

Code.gs

function saveEmail(e) {
  // Activate temporary Gmail add-on scopes, in this case so that the
  // open message metadata can be read.
  var accessToken = e.messageMetadata.accessToken;
  GmailApp.setCurrentMessageAccessToken(accessToken);

  // Build URL to open based on a base URL and the message ID.
  var messageId = e.messageMetadata.messageId;
  var url = "https://mail.google.com/mail/u/0?view=att&th=" + messageId + "&attid=0&disp=comp&safe=1&zw";
  return CardService.newUniversalActionResponseBuilder()
      .setOpenLink(CardService.newOpenLink()
          .setUrl(url))
      .build();
}

appscript.json

{
  "oauthScopes": [
    "https://www.googleapis.com/auth/gmail.addons.execute",
    "https://www.googleapis.com/auth/gmail.addons.current.message.metadata"
  ],
  "gmail": {
    "name": "Save Email",
    "logoUrl": "https://www.example.com/hosted/images/2x/my-icon.png",
    "universalActions": [{
        "text": "Save Email",
        "runFunction": "saveEmail"
      }],
    "version": "TRUSTED_TESTER_V2"
  }
}

0 个答案:

没有答案