首页 > 解决方案 > Google Apps 脚本 - Gmail - 是否可以将邮件作为附件转发?

问题描述

使用 Google Apps Script Google Workspace 服务可以将消息作为附件转发,而不仅仅是此处所述的普通转发 - https://developers.google.com/apps-script/reference/gmail/gmail-message#转发收件人

编辑:我需要这个来处理当前查看的消息。与此类似的东西:

function onGmailMessageOpen(e) {
  const message = GmailApp.getMessageById(e.messageMetadata.messageId);
  message.forward("abc@def.com");
}

onGmailMessageOpencontextualTrigger 函数在哪里。

标签: google-apps-script

解决方案


您不能仅使用 Google Apps 脚本直接将邮件作为附件转发

作为一种解决方法,我建议您使用额外的服务和以下代码:

function forwardAsAttachment() {
  var messageRaw = Gmail.Users.Messages.get("email@example.com", "IDexample", {format: "raw"});

  var message = Utilities.newBlob(messageRaw.raw, "message/rfc822", "Subject");
  
  MailApp.sendEmail("recipient@example.com", "Title", "Body", {
    attachments: [message]
  });
}

首先,我将 Gmail API 服务添加到项目中并检索所需的消息以获取 RAW 消息。

然后我创建了一个格式为 RFC822 的 Blob,这是服务所期望的原始消息,然后发送格式化和base64URL 编码的消息。

参考


推荐阅读