脚本未正确转发电子邮件附件
Script not forwarding email attachments properly
我正在使用以下脚本检查我的 Gmail 收件箱中是否有我(手动或使用规则)标记为采购发票的电子邮件,并将它们自动转发到我的会计软件。
但是,.pdf 附件(发票)没有正确转发:查看转发的电子邮件,附件不是真正的 .pdf 文件(见脚本下图),我的会计软件无法访问 . pdf.
有什么问题的指导吗?
function FwdInvoices() {
var getLabel = GmailApp.getUserLabelByName('Purchase Invoice');
var setLabel = GmailApp.getUserLabelByName('Purchase Invoice/Processed');
var recipient = 'xxxxxxx@mail.autoentry.com';
var userId = "me";
var label = "Purchase Invoice/Processed";
var labelId = Gmail.Users.Labels.list(userId).labels.filter(function(e){return e.name == label})[0].id;
var threads = getLabel.getThreads();
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
var message = thread.getMessages()[0];
var messageId = message.getId()
message.forward(recipient);
thread.removeLabel(getLabel);
//thread.addLabel(setLabel) - not using this - see below why
//add label to message only (not thread - if label applied to whole thread the sent message will have label applied and show up in 'Processed' label view.
Gmail.Users.Messages.modify({"addLabelIds": [labelId]}, userId, messageId)
//thread.moveToArchive()
}
}
附件的外观如下,几乎就像是通过驱动器链接的文件而不是实际文件。如果单击它,系统会提示我 select 云 .pdf 查看器,而不是通常的即时 .pdf 预览。
使用 GmailApp 转发附件时,不会自动包含附件
但是,您可以使用 advanced options 轻松地手动包含它们。
样本:
var message = thread.getMessages()[0];
var messageId = message.getId();
var attachments = message.getAttachments();
message.forward(recipient, {attachments:attachments});
我正在使用以下脚本检查我的 Gmail 收件箱中是否有我(手动或使用规则)标记为采购发票的电子邮件,并将它们自动转发到我的会计软件。
但是,.pdf 附件(发票)没有正确转发:查看转发的电子邮件,附件不是真正的 .pdf 文件(见脚本下图),我的会计软件无法访问 . pdf.
有什么问题的指导吗?
function FwdInvoices() {
var getLabel = GmailApp.getUserLabelByName('Purchase Invoice');
var setLabel = GmailApp.getUserLabelByName('Purchase Invoice/Processed');
var recipient = 'xxxxxxx@mail.autoentry.com';
var userId = "me";
var label = "Purchase Invoice/Processed";
var labelId = Gmail.Users.Labels.list(userId).labels.filter(function(e){return e.name == label})[0].id;
var threads = getLabel.getThreads();
for (var i = 0; i < threads.length; i++) {
var thread = threads[i];
var message = thread.getMessages()[0];
var messageId = message.getId()
message.forward(recipient);
thread.removeLabel(getLabel);
//thread.addLabel(setLabel) - not using this - see below why
//add label to message only (not thread - if label applied to whole thread the sent message will have label applied and show up in 'Processed' label view.
Gmail.Users.Messages.modify({"addLabelIds": [labelId]}, userId, messageId)
//thread.moveToArchive()
}
}
附件的外观如下,几乎就像是通过驱动器链接的文件而不是实际文件。如果单击它,系统会提示我 select 云 .pdf 查看器,而不是通常的即时 .pdf 预览。
使用 GmailApp 转发附件时,不会自动包含附件
但是,您可以使用 advanced options 轻松地手动包含它们。
样本:
var message = thread.getMessages()[0];
var messageId = message.getId();
var attachments = message.getAttachments();
message.forward(recipient, {attachments:attachments});