繁体   English   中英

Google Apps 脚本创建重复的任务

[英]Google Apps Script creates duplicate tasks

使用标签和过滤器,我为所有收到的邮件设置了一个标签。此代码 1. 生成电子邮件收据,生成并发送它 // 2. 生成一个以用户名作为标题、日期、电子邮件的 html 链接的任务,以及电子邮件作为笔记我正在仪表板上工作,并创建了以下脚本。 但是,它似乎没有刷新。 我不断收到从我收到的电子邮件中生成的任务和电子邮件,并从中删除了标签。


function EmailReceiptFunction(){
let receiptsub = "Email Receipt"; 
let receiptbody ="I've received your email!";
let lbltxt = 'zzCogEmail'; // cog= zzCogEmail intro=zzIntroEmail
let tlid_txt = 'tasklistid'; //
var rpljunk = ['Listerservecrap','othercrap','reply@aplace.com','"','"','>'];  //things I need to remove from the sender

var label = GmailApp.getUserLabelByName(lbltxt);  // Log the subject lines of the threads labeled with MyLabel
var threads = label.getThreads();

  For (var i = 0; i < threads.length; i++) { 
    var message = threads[i].getMessages()[i];  //get the message at index i of label array 
    var mydate = message.getDate();
    let a_name = message.getFrom();
    let mysub = message.getSubject();
    var mybody = message.getPlainBody();
    let myid = message.getHeader("Message-ID"); //this gets the messages id

    if (mysub.includes('TODAYS EMAIL CHECK')){  //This is supposed to eliminate the email that prints out my daily agenda of how to check my email
      message.removeLabel(label);
      }else if(mysub.includes(receiptsub)){
      message.removeLabel(label);
      }else{

        for (var s = 0; s < 10; s++){  //myAgenda.length, replaces double spaces and carriage returns in email body
          var mybody = mybody.replace(/\n|
          myid = myid.replace('\>','');
          myid = myid.replace('\<','');
          myid = 'https://mail.google.com/mail/u/0/?tab=wm#search/rfc822msgid:' + myid; //this creates a link in tasks to the email
          let tasknotes = mydate + '\n\n' + myid + '\n\n' + mybody;
            for (var r = 0; r < rpljunk.length; r++){
              a_name = a_name.replace(rpljunk[r],'');
               }
          a_name = a_name.replace('<',' - '); 
          let indexaname = a_name.split('-');
         var  j = indexaname.length - 1; 
          let mysender = indexaname[j]; //sets the last line of the array to string variable mysender
          var pos = mysender.lastIndexOf('@');
            if (mysender.includes('dontacceptemailfromme@gmail.com')){
              message.markRead();
              } else if(mysender.includes('dontacceptemailfromme@sc.edu')) {       
              message.markRead();
             } else if(mysender.includes('dontaccepteemailfromotherme')) {       
             message.markRead();
             }else if(pos < 4) {      
            message.markRead();
             } else {
    GmailApp.createDraft(mysender, receiptsub, receiptbody);
    var draft = GmailApp.getDrafts()[0]; // The first draft message in the drafts folder
    var msg = draft.send(); // Send it
   // Logger.log(tasknotes);
      var taskListId = tlid_txt; //tasklist id for CogRec
      var task = {
         title: mysender,
         notes: tasknotes,
         };
          //Adds a task with the email in this code created in IntroRec
         var taskListId = tlid_txt; 
         task = Tasks.Tasks.insert(task, taskListId);
         Logger.log(task);
         
      }  
 threads[i].removeLabel(label);
 threads[i].refresh();
  }
  }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM