按删除时间取消删除Gmail电子邮件和/或按删除时间排序垃圾邮件

时间:2019-01-29 15:21:52

标签: google-apps-script gmail last-modified recycle-bin undelete

Gmail最令人讨厌的事情之一是,您无法按删除电子邮件时的垃圾分类。因此,如果您不小心删除了一封电子邮件,错过了“撤消”窗口,并且您不记得是哪封电子邮件,查找电子邮件的唯一方法就是逐一处理垃圾箱。

反正是否有按删除邮件的顺序对它们进行排序或按上次删除的邮件对它们进行查找?

我现在的解决方案包括使用每小时运行一次的Google Apps脚本来标记垃圾箱中当前月,日和小时的未标记电子邮件。这样,我就可以最小化需要搜索的内容。

// find all emails in trash that DON'T have the trashed_timestamps tag
var trashedEmailsThatAreNotTagged = GmailApp.search("in:trash -label:trashed_timestamps");

// only if we have emails that need to be processed
if(trashedEmailsThatAreNotTagged.length)
{
    // get the month, day, and hour of right now
    var now = Utilities.formatDate(new Date(), "EST", "MM dd HH").split(" ");

    // tag those e-mails with the month, day, and hour
    GmailApp.getUserLabelByName("trashed_timestamps/month-" + now[0]).addToThreads(trashedEmailsThatAreNotTagged);
    GmailApp.getUserLabelByName("trashed_timestamps/day-" + now[1]).addToThreads(trashedEmailsThatAreNotTagged);
    GmailApp.getUserLabelByName("trashed_timestamps/hour-" + now[2]).addToThreads(trashedEmailsThatAreNotTagged);

    // add the main label so next time this code runs we can exlude these e-mails
    GmailApp.getUserLabelByName("trashed_timestamps").addToThreads(trashedEmailsThatAreNotTagged);
}

我最终得到的是垃圾桶中标记如下的电子邮件:

  • trashed_timestamps month-01 day-28 hour-19 ...
  • trashed_timestamps month-01 day-28 hour-09 ...
  • trashed_timestamps month-01 day-27 hour-22 ...
  • trashed_timestamps month-01 day-29 hour-01 ...

虽然这有效,但它很hacky,看起来也不是很优雅。是否有更好的方法来完成我要执行的任务-能够查看何时删除电子邮件,以便我可以取消删除意外删除的电子邮件。

1 个答案:

答案 0 :(得分:0)

我对这个问题的回答是避免使用“删除”按钮,而改用“存档”。当您“存档”时,您可以使用“搜索”搜索任何已删除的gmail。