google-apps-script - 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);
}
}
解决方案
解决方案:
您可以使用OR
运算符来匹配多个术语。
label:unread to:me from: person1@email.com OR from: person2@email.com in:inbox
请记住,gmail 默认使用AND
运算符,因此OR
必须明确定义。
参考:
推荐阅读
- bots - 我已经在一个不和谐的机器人上工作了至少一个星期,就在今天,我的笑话命令开始说无效的语法
- apache-kafka - Flink:binlog到多个DTO的转换以及flink中的转换方法
- bash - 使用 catimg 并排显示两件事(如在 neofetch 中)
- r - R 或 ArcMap 是否可以生成带有英国地址的地图?
- python - 如何像 Python 2 允许的那样将字节连接到 str?
- android - 在 android studio 4.1.1 中创建 android 库模块时如何设置 byteCode 级别?
- visual-studio - 当我尝试使用多维块或网格时,结果数组的一部分出现零
- laravel - 如何有效地使用 Laravel Repository 模式绑定
- .net-core - 具有单个导航属性的多个(可选)一对一关系
- c# - 如何使用 yield return readlineAsync() 实现取消