Tenía esto funcionando antes, sin problemas, sin embargo, desde que puse un filtro para eliminar todos los hilos con más de 1 correo electrónico, ahora aparece el error que no es una función. Elimino el filtro y todavía aparece el error, no estoy seguro de qué ha causado que esto se rompa por completo en mí.
function extractEmails() { var htmlBody = getEmailHtml(); var labelName = "auto-reply-incoming"; // get all email threads that match label var receivedSearchQuery = "label:"+labelName+" -is:sent"; var threads = GmailApp.search(receivedSearchQuery, 0, 500); threads.forEach ((t, i) => { let messages = t.getMessages(); let name = messages.getFrom(); let messageCount = t.getMessageCount(); if (messageCount > 1) { label.removeFromThread(t); } if (messageCount <= 1) { message.reply("Hi " +name+" \n" + "insert text here"); } }); };eliminó accidentalmente parte del script, se corrigió con el siguiente código:
messages.forEach ((m, j) => { let name = m.getFrom(); m.reply("Hi " +name+" \n" + "insert text here"); });Reemplazar
let name = messages.getFrom();por
let name = messages[0].getFrom(); Lo anterior porque getFrom() es un método de Class GmailMessage pero los messages son una matriz.
Referencia