0

我是这里承认的新人。请多多包涵。我希望我问的是聪明的问题。如果没有,请提供帮助,以便我可以利用您的集体智慧。

我的 Google Gmail 帐户中有不需要的电子邮件。
许多与营销有关,7 天后绝对没有必要。
浏览器 Google 或 Firefox
OS WIN 7 Pro。

因此,我希望删除 7 天内分配了删除我文件夹的电子邮件,并存档其他非删除我分配。

一个提示问题的小示例脚本的代码,我发现它正在寻找一个简单的解决方案:

function cleanUp() {
  var delayDays = 7 // Enter # of days before messages are moved to trash

  var maxDate = new Date();
  maxDate.setDate(maxDate.getDate()-delayDays);

  var label = GmailApp.getUserLabelByName("delete me");
  var threads = label.getThreads();
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate)
    {
      threads[i].moveToTrash();
    }
  }
}

function archiveInbox() {
  // Every thread in your Inbox that is read, older than seven days, and not labeled "delete me".
  var threads = GmailApp.search('label:inbox is:read older_than:2d -label:"delete me"');
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToArchive();
  }
}

我的问题是:我怎么知道“删除我”正在运行?我点击运行,然后它说是,但没有任何反应,而且我的 gmail 帐户中电子邮件数量的大小是相同的。

还运行了“归档我”脚本,即使它显示它正在运行,似乎也没有发生任何事情。

4

1 回答 1

2

如果您查看以下链接,它提供了用于故障排除/调试代码的出色步骤: https ://developers.google.com/apps-script/troubleshooting

它还解释了 Shahar 和 Arun 正在讨论的内容,但更详细。

对于您的问题,您无法真正比​​较这两个日期。你应该做:

if (threads[i].getLastMessageDate()< new Date(maxDate))

干杯。

于 2013-08-15T17:39:28.960 回答