Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

239
Views
¿Cómo puedo enviar múltiples correos electrónicos a diferentes personas en aplicaciones?
function reminder() { var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet() var data = sh.getDataRange().getValues() var d = new Date().getTime(); for (var i=1;i<data.length;i++){ if (data[i][4]<=new Date(d+7*24*60*60*1000) && data[i][4]>=new Date(d+5*24*60*60*1000) && data[i][6]==''){ MailApp.sendEmail({to:data[i][3], subject: 'Reminder Process Update Required in 1 week', htmlBody: 'Hello '+data[i][2]+', the process page for <b>'+data[i][1]+'</b> is due for review in 1 week. Please review the content and contact the Process team before its due date if amendments are required.' }) sh.getRange(i+1,7).setValue('sent') } else if (data[i][4]<=new Date(d+30*24*60*60*1000) && data[i][4]>=new Date(d+28*24*60*60*1000) && data[i][5]==''){ MailApp.sendEmail({to:data[i][3], subject: 'Reminder Process Update Required in 1 month', htmlBody: 'Hello '+data[i][2]+', the process page for <b>'+data[i][1]+'</b> is due for review in review in 1 month. Please review the content and contact the Process Mapping team before its due date if amendments are required.' }) sh.getRange(i+1,6).setValue('sent') } } }

Por lo tanto, actualmente está enviando un correo electrónico a "datos [i] [3]". También me gustaría agregar hasta 2 destinatarios más a los que enviaría un correo electrónico junto con lo que hay allí, pero también si estos campos se dejan en blanco, solo debería enviar el correo electrónico. al campo que se rellena.

Aquí hay un enlace a la demostración de la hoja y el script: https://docs.google.com/spreadsheets/d/1Qw8WefbVkS-AQXi1CcZ0z2CL-P0oNSZYqeT40oVF6go/edit?usp=sharing

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Creo que su objetivo es el siguiente.

  • Desea utilizar las direcciones de correo electrónico de los destinatarios de los valores de las columnas "D" a "F".
  • En su secuencia de comandos, está utilizando las columnas "A" a "G". En este caso, la dirección de correo electrónico es la columna "D". Pero en su pregunta, las direcciones de correo electrónico son las columnas "D" a "F". Y desea utilizar las columnas "A" a "I". Es decir, agregó 2 columnas al script que se muestra.

En este caso, ¿qué tal la siguiente modificación?

Guión modificado:

En esta modificación, los valores de las columnas "D" a "F" se utilizan como las direcciones de correo electrónico de los destinatarios. Cuando los valores de las columnas "D" a "F" no son valores, MailApp.sendEmail no se ejecuta. Y, para su nueva estructura de hoja de cálculo, se modificó el índice de cada fila en el bucle for.

 function reminder() { var sh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = sh.getDataRange().getValues(); var d = new Date().getTime(); for (var i = 1; i < data.length; i++) { var recipients = data[i].slice(3, 6).filter(String).join(","); if (recipients == "") continue; if (data[i][6] <= new Date(d + 7 * 24 * 60 * 60 * 1000) && data[i][6] >= new Date(d + 5 * 24 * 60 * 60 * 1000) && data[i][7] == '') { MailApp.sendEmail({ to: recipients, subject: 'Reminder Process Update Required in 1 week', htmlBody: 'Hello ' + data[i][2] + ', the process page for <b>' + data[i][1] + '</b> is due for review in 1 week. Please review the content and contact the Process team before its due date if amendments are required.' }); sh.getRange(i + 1, 9).setValue('sent'); } else if (data[i][6] <= new Date(d + 30 * 24 * 60 * 60 * 1000) && data[i][6] >= new Date(d + 28 * 24 * 60 * 60 * 1000) && data[i][7] == '') { MailApp.sendEmail({ to: recipients, subject: 'Reminder Process Update Required in 1 month', htmlBody: 'Hello ' + data[i][2] + ', the process page for <b>' + data[i][1] + '</b> is due for review in review in 1 month. Please review the content and contact the Process Mapping team before its due date if amendments are required.' }); sh.getRange(i + 1, 8).setValue('sent'); } } }

Nota:

  • Este script modificado supone que su script de visualización funciona para la Hoja de cálculo de las columnas "A" a "G". Tenga cuidado con esto.
  • Este script modificado es para su hoja de cálculo de muestra. Cuando cambió la estructura de la hoja de cálculo, es posible que no se pueda usar este script. Así que tenga cuidado con esto.

Referencia:

  • enviarCorreo(mensaje)
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!