这是我的第一篇文章:)
我正在使用Google Apps脚本跟踪过去7天内未收到回复的电子邮件(基本上是跟踪我的邮件最后一封的电子邮件)。
这是这里的代码:
// This script searches Gmail for conversations where I never received a response
// and puts them in a NoResponse label
var DAYS_TO_SEARCH = 7; // look only in sent messages from last 7 days, otherwise script takes a while
var SINGLE_MESSAGE_ONLY = false; // exclude multi-message conversations where I sent the last message?
function label_messages_without_response() {
var emailAddress = Session.getEffectiveUser().getEmail();
Logger.log(emailAddress);
var EMAIL_REGEX = /[a-zA-Z0-9\._\-]+@[a-zA-Z0-9\.\-]+\.[a-z\.A-Z]+/g;
var label = GmailApp.createLabel("AwaitingResponse");
var d = new Date();
d.setDate(d.getDate() - DAYS_TO_SEARCH);
var dateString = d.getFullYear() + "/" + (d.getMonth() + 1) + "/" + d.getDate();
threads = GmailApp.search("in:Sent after:" + dateString);
for (var i = 0; i < threads.length; i++)
{
var thread = threads[i];
if (!SINGLE_MESSAGE_ONLY || thread.getMessageCount() == 1)
{
var lastMessage = thread.getMessages()[thread.getMessageCount()-1];
lastMessageSender = lastMessage.getFrom().match(EMAIL_REGEX)[0];
if (lastMessageSender == emailAddress)
{
thread.addLabel(label);
Logger.log(lastMessageSender);
}
}
}
}
目前问题是,当脚本运行时,未回复的消息会进入&#34; NoResponse&#34;标签很棒。但是,当我从不需要跟进的电子邮件中删除标签时,当脚本再次运行时,它们会再次恢复。
我的问题是:
是否有办法将标签应用于不需要跟进的邮件,然后将其添加到脚本中,以便脚本知道要排除该标签?< /强>
任何帮助都会很棒:)
由于 艾
答案 0 :(得分:0)
可能是脚本可以应用两个标签--NoResponse和Processed。您可以手动删除NoResponse标签,但仍然会保留已处理的标签。
过滤器可以修改为:
threads = GmailApp.search("in:Sent -in:Processed after:" + dateString);