2017-01-30 5 views
1

Я посмотрел на следующий вопрос, и он достал меня на полпути. Я могу запустить код Suyash Gandhi, и он будет считать общее количество писем с определенным ярлыком в течение всего времени. Я пытаюсь получить счет для (A) отправленных электронных писем и (B) # электронных писем, полученных ярлыком на определенную дату.Сценарий Google Apps для подсчета количества отправленных/полученных вчера сообщений электронной почты, которые имеют определенную метку, а затем сохраняют # ежедневно в электронной таблице

Google Apps Script to count number of emails received yesterday, that has certain label, then save # daily to spreadsheet

Например,

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   

Я хотел бы, чтобы запустить сценарий сказать, в полночь, чтобы сосчитать предыдущие дни по электронной почте.

ответ

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, чтобы получить отправленные и полученные сообщения электронной почты на конкретную дату.

Как использовать этот скрипт?

изменить название ярлыка в соответствии с вашей средой, а также установить переменную переменной как дату и запустить сценарий. И когда он заканчивается, проверьте журналы.

Сообщите мне, если потребуется помощь.

+0

спасибо. Я новичок в написании приложений Google и сделаю некоторые попытки настроить код, который вы предоставили, чтобы делать то, что мне нужно. Еще раз спасибо – Gene

+0

Добро пожаловать! Я предполагаю, что вы можете бороться с форматом даты, используйте для этого utilities.formatdate. –

Смежные вопросы