Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 脚本未正确转发电子邮件附件_Google Apps Script_Gmail_Email Attachments - Fatal编程技术网

Google apps script 脚本未正确转发电子邮件附件

Google apps script 脚本未正确转发电子邮件附件,google-apps-script,gmail,email-attachments,Google Apps Script,Gmail,Email Attachments,我正在使用以下脚本检查我的Gmail收件箱中是否有我(手动或按规则)标记为采购发票的电子邮件,并将它们自动转发到我的会计软件 但是,.pdf附件(发票)转发不正确:查看转发的电子邮件,附件不是真实的.pdf文件(请参见下面的脚本图像),我的会计软件无法访问.pdf文件 关于哪里出了问题有什么指导吗 function FwdInvoices() { var getLabel = GmailApp.getUserLabelByName('Purchase Invoice'); var set

我正在使用以下脚本检查我的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()    
         
  }
   
}
函数FwdInvoices(){
var getLabel=GmailApp.getUserLabelByName(“采购发票”);
var setLabel=GmailApp.getUserLabelByName(“采购发票/已处理”);
var受体xxxxxxx@mail.autoentry.com';
var userId=“me”;
var label=“采购发票/已处理”;
var labelId=Gmail.Users.Labels.list(userId).Labels.filter(函数(e){returne e.name==label})[0].id;
var threads=getLabel.getThreads();
对于(var i=0;i
下面是附件的外观,几乎就像是一个通过驱动器链接的文件,而不是实际的文件。如果单击它,会提示我选择cloud.pdf查看器,而不是通常的immediate.pdf预览

使用GmailApp转发附件时,不会自动包含附件 但是,您可以轻松地使用手动将它们包括在内

样本:

var message=thread.getMessages()[0];
var messageId=message.getId();
var attachments=message.getAttachments();
转发(收件人,{attachments:attachments});
使用GmailApp转发附件时,不会自动包含附件 但是,您可以轻松地使用手动将它们包括在内

样本:

var message=thread.getMessages()[0];
var messageId=message.getId();
var attachments=message.getAttachments();
转发(收件人,{attachments:attachments});