1

我正在尝试制作我自己的 Boomerang 版本,这是一个脚本,可以在用户指定的稍后时间将电子邮件返回到您的收件箱。

我正在使用 Google Apps 脚本,除了无法将电子邮件返回到收件箱顶部外,一切正常。我尝试使用相关脚本转发电子邮件,但无济于事。

有什么想法吗?


这是我尝试过的代码的一些示例(没有一个产生我正在寻找的结果):

测试1:

  messages = GmailApp.getMessagesForThreads(threads);
  for (var i = 0 ; i < threads.length; i++) {
      messages[i][0].reply("<b>This message has been moved to the top of your inbox per your request. Please take action soon.</b>", {
        replyTo: "desiredEmail@gmail.com"
      });
  }

测试 2:

  messages = GmailApp.getMessagesForThreads(threads);
  for (var i = 0 ; i < threads.length; i++) {
      forward("desiredEmail@gmail.com", {
         htmlBody: "<b>This message has been moved to the top of your inbox per your request. Please take action soon.</b>",
         name: "ServAce85",
         replyTo: "desiredEmail@gmail.com",
         from: "desiredEmail@gmail.com",
         subject: "Re: " + messages[i].getSubject()

      });
   }

测试 3:

  messages = GmailApp.getMessagesForThreads(threads);
  for (var i = 0 ; i < threads.length; i++) {          
       messages[i][0].forward("desiredEmail@gmail.com", {
         subject: messages[i][0].getSubject()
       });
  }

测试 4:

function moveEmail(threadsToMove) {
  var  threads = threadsToMove;
  var  messages = GmailApp.getMessagesForThreads(threads);
  for (var i = 0 ; i < threads.length; i++) {
    messages[i][0].forward(Session.getActiveUser().getEmail(), {
        subject: "Re: " + messages[i][0].getSubject(),
          htmlBody: "<b>This message has been moved to the top of your inbox per your request. Please take action soon.</b></n>" + Session.getActiveUser().getEmail() + "</n>" + messages[i][0].getBody()
      });
    GmailApp.sendEmail(Session.getActiveUser().getEmail(), "Re: " + messages[i][0].getSubject(), messages[i][0].getPermalink());
  }
}
4

2 回答 2

1

这似乎对我有用:

function moveEmail() {
  var  threads = GmailApp.getInboxThreads(0, 2); // Change to what you want the threads to be
  var  messages = GmailApp.getMessagesForThreads(threads);
  for (var i = 0 ; i < threads.length; i++) {
      messages[i][0].forward("CHANGEEMAIL@GMAIL.COM", {
          htmlBody: "<b>This message has been moved to the top of your inbox per your request. Please take action soon.</b></n>" + messages[i][0].getBody()
      });
   }
}
于 2013-10-16T05:24:39.563 回答
0

我来这里是为了寻找类似于暂停收件箱的解决方案。

做了这个:

1) 在 Gmail 中创建一个过滤器,这样每封新邮件都会绕过收件箱并被标记为您创建的自定义标签。

2)为以下谷歌脚本功能制作时间触发器:

function moveTheMails(){
  var label0 = GmailApp.getUserLabelByName("Custom Label/Sublabel if wanted");
  var threads = label0.getThreads();
  for (var i = 0; i < threads.length; i++) {
    threads[i].moveToInbox();
    threads[i].removeLabel(label0);
  }
}

瞧,取决于您的时间触发器,您的新邮件会在自定义时间发送到您的收件箱。作为 gmail-filter 我使用: from:(-{a@b.com OR c@d.com}) to:(me1@my.com OR me2@my.com) from 中的地址被排除在 (-) 中过滤器使来自该人的邮件直接发送到收件箱中。

于 2020-05-12T13:47:13.943 回答