【问题标题】:Alternative way to identify messages in Gmail Inbox识别 Gmail 收件箱中邮件的替代方法
【发布时间】:2015-05-08 04:25:39
【问题描述】:

我目前正在使用 var label = GmailApp.getUserLabelByName("Delete Me");

识别 Gmail 收件箱中我想要删除的线程(如果它们达到特定年龄)。我使用的方法取决于为消息设置为“删除我”的过滤器,我想知道是否可以直接在我的脚本中列出我想删除的发件人。

谢谢,

【问题讨论】:

  • 对于性能问题,在您的 gmail 中使用此标签(验证发件人等)的过滤器可能比在脚本中实现此逻辑更好。这也将为您提供更大的灵活性,因为您将能够轻松地进行例外处理(手动添加或删除此标签的线程)。

标签: class google-apps-script gmail


【解决方案1】:

虽然,我同意 Henrique 的说法,但是,如果您必须从脚本中过滤和删除线程,一种方法是使用 search query 函数并删除所有显示为该查询的结果。

按用户搜索: var threads = GmailApp.search('from:username@mail.com', 10, 10);

按日期搜索: var threads = GmailApp.search('before:04/05/2015', 10, 10);

然后将threads 传递给我的删除函数。

编辑:

如果您希望根据当前日期计算日期,您可以执行以下操作:

var d = new Date();
d.setDate(d.getDate() - 20);
var searchTxt = "before:"+d;
var threads = GmailApp.search(searchTxt, 10, 10);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2018-08-09
    • 1970-01-01
    相关资源
    最近更新 更多