我只找到这个解决方案https://ctrlq.org/code/20132-gmail-api-send-mail-attachments但它并不有效,因为文件下载到本地,然后作为附件发送。
bytes: Utilities.base64Encode(file.getBlob().getBytes())
请参阅应用程序脚本文档中提供的示例
来自Gmail的附件。这是一个常规的
Blob
,除了它具有比调用更快的额外getSize()
方法getBytes()
.长度,不计入Gmail读取定额
// Logs information about any attachments in the first 100 inbox threads.
var threads = GmailApp.getInboxThreads(0, 100);
var msgs = GmailApp.getMessagesForThreads(threads);
for (var i = 0 ; i < msgs.length; i++) {
for (var j = 0; j < msgs[i].length; j++) {
var attachments = msgs[i][j].getAttachments();
for (var k = 0; k < attachments.length; k++) {
Logger.log('Message "%s" contains the attachment "%s" (%s bytes)',
msgs[i][j].getSubject(), attachments[k].getName(), attachments[k].getSize());
}
}
}
要了解有关Gmail APIUsers.messages.attachments
方法的更多信息,请参阅此处。