Gmail 邮件的复杂 FROM 条件
Complex FROM condition for Gmail messages
我必须根据以下基于发件人字段的复杂查询移动到垃圾邮件 Gmail 邮件:
var qyr = '{from:(*@mail.ru -sender1@mail.ru -sender2@mail.ru -sender3@mail.ru )' +
' from:(*@yandex.ru)}';
var threads = GmailApp.search(query=qyr, start=0, max=500)
for (var i = 0; i < threads.length; i++) {
GmailApp.moveThreadToSpam(threads[i]);
}
但此代码无法正常工作。
如果我只留下第一行(使用 mail.ru)或第二行(使用yandex.ru) 单独它工作正常。当我将它们结合起来时,它只获取 mail.ru 消息。
根据 operator manual,如果我想让 OR
合乎逻辑,我应该明确地放置 OR
或在大括号内设置两个 FROM
。带有直接 OR
的变体也不起作用 。
我做错了什么?
我在 Apps 脚本问题跟踪人员的帮助下解决了这个问题。
我在连接中缺少 spaces。此外,切换到单个 from
子句使查询更加简洁。
上面语句的正确形式应该是这样的:
var qyr = '{from: ' +
' ((@mail.ru ' +
' -sender1@mail.ru -sender2@mail.ru -sender3@mail.ru) ' +
' OR ' +
' (@yandex.ru -sender1@yandex.ru) ' +
' )} ';
我必须根据以下基于发件人字段的复杂查询移动到垃圾邮件 Gmail 邮件:
var qyr = '{from:(*@mail.ru -sender1@mail.ru -sender2@mail.ru -sender3@mail.ru )' +
' from:(*@yandex.ru)}';
var threads = GmailApp.search(query=qyr, start=0, max=500)
for (var i = 0; i < threads.length; i++) {
GmailApp.moveThreadToSpam(threads[i]);
}
但此代码无法正常工作。
如果我只留下第一行(使用 mail.ru)或第二行(使用yandex.ru) 单独它工作正常。当我将它们结合起来时,它只获取 mail.ru 消息。
根据 operator manual,如果我想让 OR
合乎逻辑,我应该明确地放置 OR
或在大括号内设置两个 FROM
。带有直接 OR
的变体也不起作用 。
我做错了什么?
我在 Apps 脚本问题跟踪人员的帮助下解决了这个问题。
我在连接中缺少 spaces。此外,切换到单个 from
子句使查询更加简洁。
上面语句的正确形式应该是这样的:
var qyr = '{from: ' +
' ((@mail.ru ' +
' -sender1@mail.ru -sender2@mail.ru -sender3@mail.ru) ' +
' OR ' +
' (@yandex.ru -sender1@yandex.ru) ' +
' )} ';