我看了下面的问题,它让我走了一半。我可以运行Suyash Gandhi的代码,它将统计具有特定标签的电子邮件总数。我正在尝试计算(A)发送的电子邮件数量和(B)按标签收到的特定日期的电子邮件数量。
例如,
Label Date #Received #Sent
Test 1/1/2017 2 4
Test 1/2/2017 2 4
Test 1/3/2017 2 4
Test 1/4/2017 2 0
Test 1/10/2017 2 8
Vs what the code currently does:
Label Date Count
Test 1/10/2017 30
我想在午夜时运行脚本来计算前几天的电子邮件。
答案 0 :(得分:1)
我已经提出了这个脚本,希望它有所帮助。
var labelName = "purgeMailTest";
var theDate ="2017-01-28";
function myFunction()
{
var dayOfMonth = theDate.split("-");
var nextDayOfMonth = parseInt(dayOfMonth[2])+1;
var nextDate = dayOfMonth[0]+"-"+dayOfMonth[1]+"-"+nextDayOfMonth;
var sentCount = 0, receivedCount = 0;
//Sent count
var sentSearchQuery = "label:"+labelName+" before:"+nextDate+" after:"+theDate+" is:sent";
var threads = GmailApp.search(sentSearchQuery, 0, 500);
for(var i=0; i<threads.length; i++)
{
sentCount = sentCount + threads[i].getMessages().length;
}
Logger.log(theDate +":"+sentCount+" sent");
//Received count
var receivedSearchQuery = "label:"+labelName+" before:"+nextDate+" after:"+theDate+" -is:sent";
var threads = GmailApp.search(receivedSearchQuery, 0, 500);
for(var i=0; i<threads.length; i++)
{
receivedCount = receivedCount + threads[i].getMessageCount();
}
Logger.log(theDate +":"+receivedCount+" received");
}
总结:
我只是使用gmail搜索过滤器来获取特定日期的已发送和已接收电子邮件。
如何使用此脚本?
根据您的环境更改标签名称,并将 theDate 变量设置为您想要的日期并运行脚本。完成后,检查日志。
如果需要进一步的帮助,请告诉我。