首页 > 解决方案 > Google Apps 脚本/搜索多个发件人的电子邮件

问题描述

我有以下脚本可以从 1x 人那里获取电子邮件。如何向此脚本添加更多名称,并且只显示 (a) 在我的收件箱中和 (b) 未读的电子邮件?

function to_me_only()
{
  var search = 'to:me from:person1@email.com -is:chats in:inbox -label:meonly';

  try {
    var label = GmailApp.getUserLabelByName('meonly');
    var threads = GmailApp.search(search);
    var gmailMessages = GmailApp.getMessagesForThreads(threads);

for(var i=0; i<threads.length; i++) {
  var messagesForThread = gmailMessages[i];
  for(var j=0; j<messagesForThread.length; j++) {
    var messageTo = messagesForThread[j].getTo()
    if(   messageTo.toLowerCase()=='"lastname, firstname" <firstname.lastname@company.com>'
   || messageTo.toLowerCase()=='"firstname.lastname" <firstname.lastname@company.com>'
   || messageTo.toLowerCase()=='firstname lastname <firstname.lastname@company.com>'
   || messageTo.toLowerCase()=='firstname.lastname@company.com'
   || messageTo.toLowerCase()=='<firstname.lastname@company.com>'){
      threads[i].addLabel(label);
    }
  }
}


 } catch (e) {
    console.log('Error');
    console.log(e);
  }
}

标签: google-apps-scriptgmailgmail-api

解决方案


解决方案:

您可以使用OR运算符来匹配多个术语。

label:unread to:me from: person1@email.com OR from: person2@email.com in:inbox

请记住,gmail 默认使用AND运算符,因此OR必须明确定义。

参考:

可用于 Gmail 的搜索运算符


推荐阅读