Automatizar envío de correos en Gmail con Google Apps Script

Automatiza emails en Gmail

En este artículo les quiero dejar una forma de automatizar el envío de correos electrónicos en Gmail mediante un pequeño script generado con Google Apps Script;  pero primero veamos qué es esta herramienta y qué podemos hacer con ella.

Google Apps Script es un lenguaje de scripting basado en Javascript que te permite interactuar con distintas aplicaciones de Google como Gmail, Analytics, Drive, etc. pero también nos permite trabajar con distintos documentos de Drive como Docs, Forms, Sheets,etc.

Lo mejor de todo es que no tenemos que instalar nada, simplemente creamos un proyecto en Drive usando nuestra cuenta de Google y rápidamente tenemos todo el entorno listo para desarrollar nuestras aplicaciones.

Preparar el proyecto

Bueno, ahora que sabemos que es Google Apps Script, veamos cómo automatizar el envío de e-mails en Gmail. Obviamente, debemos iniciar sesión con nuestra cuenta de Google en Drive, luego debemos crear un archivo de tipo “Secuencia de comandos”.

Google Apps Script

Es posible que no tengas la opción mencionada por lo que deberás agregarla presionando el botón “Conectar más aplicaciones” y buscar la opción Google Apps Script  tal como muestra la imagen siguiente.

Google Apps Script 6

Luego nos muestra una ventana donde debemos seleccionar la opción “Proyecto en blanco”.

Google Apps Script 2

Una vez hecho esto, podemos darle un nombre al proyecto y ya tenemos el entorno de desarrollo listo para trabajar.

Google Apps Script 3

Código de envío de e-mails

El código para enviar correos es el siguiente:

Es bueno aclarar que los e-mails enviados por este script tendrán como remitente la cuenta con la que fue creado.

Para probarlo basta con presionar el botón “Ejecutar” presente en la barra de herramientas, otro detalle es que se solicitarán permisos para que el script pueda realizar la tarea solicitada.

Google Apps Script 4

Automatizar envío

Finalmente, nos falta automatizarlo, para ello presionamos el botón “Activadores del proyecto” junto al botón de “Ejecutar”. Ahi debemos configurar un activador o evento que dispare nuestra función de envío de e-mails. Vamos a elegir que se dispare por tiempo, ya sea diario, semanal, mensual, etc. Una vez configurado el activador los guardamos y está listo; ya tenemos automatizado el envío de e-mails.

Google Apps Script 5

Espero que les sea útil y que les sirva de punto de partida para hacer mas cosas con Google Apps Script; y recuerden que si tienen algún script interesante pueden compartirlo aquí en el sitio.

Ah! y no te olvides de leer mi artículo nuevo! Cómo  mejorar tu productividad usando Apps Script.

Créditos de fotografía principal: ntr23 via photopin cc

GD Star Rating
loading...
Automatizar envío de correos en Gmail con Google Apps Script, 9.8 out of 10 based on 6 ratings

Related Posts

26 Comments

  1. Jordi
    Mayo 12, 2014 at 8:13 am

    Espectacular Juan, funciona de lujo!

    Una pregunta, si quisieramos añadir un adjunto, hay alguna manera de poder hacerlo?

    Muchas gracias!

  2. Juan
    Mayo 13, 2014 at 10:50 pm

    Hola Jordi, existe un ejemplo excelente en la documentacion oficial de Google, aqui te dejo el enlace: mails con adjunto
    Espero que te sirva, saludos.

  3. Arturo
    Agosto 8, 2014 at 2:14 pm

    Muchísimas gracias Juan, muy útil tu ejemplo.
    ¡Saludos!

  4. Sergio
    Octubre 1, 2014 at 7:40 pm

    Excelente ejemplo, ¡muchas gracias por el aporte!.

  5. Montserrat
    Noviembre 12, 2014 at 6:12 pm

    Hola,
    Gracias por tu post.
    Se pueden enviar mensajes a una lista de usuarios, sin que aparezca el mail?
    muchas gracias
    Saludos cordiales
    Montserrat

  6. Juan
    Noviembre 16, 2014 at 8:54 pm

    Hola, en la función sendMail puedes usar un 4to parámetro indicando una lista de emails ocultos (campo BBC):

    te recomeindo que veas la Referencia a la API por mas opciones.
    saludos.

  7. julian
    Mayo 11, 2015 at 4:24 pm

    Hola, que tal? Quise probar la aplicacion y despues la desinstale.. hice los pasos y funciono el envio automatico, ahora lo que pasa es que no dejo de recibir el mail que automatice. Ya borre el archivo script y sigo recibiendo, alguien sabe como detener el envio?

  8. Carlos
    Junio 20, 2015 at 8:30 am

    Hola crack!!
    Lo primero darte las gracias por el gran trabajo que haces.

    Tengo una duda , sería posible reenviar un correo sin que aparezca el remitente?
    Es decir que aparezca como remitente la dirección que reenvía ?
    Seria también con script?
    Como??
    Gracias.

  9. Julián
    Julio 1, 2015 at 7:50 pm

    Buenisimo!!!
    Gracias, recuerden que para enviar a varios destinatarios deben separar con ,

    muchas gracias

  10. Jesus Meneses
    Noviembre 14, 2015 at 3:50 pm

    Buenas tardes amigo Benitez.

    Quisiera consultarte acerca de un punto que me interesa resolver.

    Como administrador de un condominio, genero mensualmente un recibo en excel, en realidad se convierten en 64 archivos con la misma información basica pero cada uno representando un apartamento con nombre de propietario diferente.

    Deseo enviar automaticamente correos con los archivos generados a cada dirección de propietario.

    Esto es posible?

    Agradecido.

  11. Mauricio Corral
    Noviembre 23, 2015 at 2:07 pm

    Estupendo script Juan, tienes un ejemplo de envío a la Lista de correos de uno en uno, esto a fin de prevenir la detección de Spam ? Saludos

  12. Juan Benitez
    Noviembre 23, 2015 at 5:36 pm

    Hola Mauricio, estoy preparando un articulo a raíz de la pregunta anterior de Jesús Meneses que creo te será de ayuda. En unos días lo publico y les aviso.

    saludos, Juan.

  13. Martin
    Noviembre 30, 2015 at 8:44 pm

    Muchas gracias capo,
    me sirvió de mucho, una pregunta se puede adjuntar archivos que estén en tu pc no en el google drive?

  14. Juan Benitez
    Diciembre 2, 2015 at 4:21 pm

    Hola Martin, lo que consultas no se puede hacer según tengo entendido. Desde Google Script sólo se puede adjuntar archivos del Drive.

  15. Aratzeli
    Diciembre 30, 2015 at 10:29 am

    Muchas gracias por la informacion. Me sirvio mucho. Pero lo que me gustaría hacer es conectar con una BD de la que obtener los usuarios a los que le voy a mandar el correo. ¿Tienes algo asi?
    Gracias

  16. Juan Benitez
    Diciembre 31, 2015 at 1:27 pm

    Hola Aratzeli, te dejo un enlace que te puede servir https://developers.google.com/apps-script/guides/jdbc .
    Si hay mas lectores interesados en conectar Apps Script con Mysql por ejemplo puedo escribir un articulo.
    Saludos.

  17. Andres
    Diciembre 31, 2015 at 9:56 pm

    Hola Juan, te consulto; necesito enviar un mail todos los días con un archivo adjunto (es un .mp3 que los tengo numerados) a todos los contactos que tengo; me gustaría que se envíen en forma oculta; eso lo ya lo probé y funciona bien, pero te consulto porque son casi 100 contactos que tengo……muchas gracias!

  18. Andres
    Enero 1, 2016 at 3:24 am

    Hola Juan,te consulto porque quiero enviar un mail en forma automática, es un mail diario y con un adjunto (archivo .mp3), cada día es un archivo diferente que los tengo enumerados; también necesito enviarlos a todos mis contactos de gmail, que son cerca de 100…..
    Gracias!
    Saludos

  19. Juan Benitez
    Enero 6, 2016 at 10:41 pm

    Hola Andres te respondí en el otro articulo… http://www.tecnopedia.net/software/automatizar-envio-de-correos-en-gmail-con-google-apps-script/

    Sólo ten en cuenta los límites de Gmail para enviar a los 100 contactos.

    saludos, Juan.

  20. Robert Tamayo Castro
    Mayo 1, 2016 at 8:53 pm

    Hola me parece excelente, lo estoy probando, pero me dice que el método Session.getTimeZone() es obsoleto, que use una opcion diferente. que otro método puedo usar. gracias

  21. alejandro
    Mayo 20, 2016 at 3:40 am

    hola bueno tengo un formulario donde pido correo y nombre como hago para conectarlo al scrip y que le envie correos a todos los que estan en la hoja de calculo que genera el formulario?, o cuando entre un nuevo usuario

  22. Tairon R
    Julio 20, 2016 at 11:48 pm

    Hola Juan, es muy interesante tu articulo.

    Por otro lado, sabes si es posible que desde un formulario puedas adjuntar archivos y que a su vez estos archivos se guarden en Drive?

    De antemano gracias.

  23. José
    Septiembre 26, 2016 at 2:32 pm

    Hola, realice paso a paso y me funciono, muchas gracias. Consulte esta herramienta para poder generar los correos de felicitaciones del personal de oficina con el que trabajo. Como puedo agregar multiples fechas con los distintos correos, es decir que el primero de cada mes, ya tenga programado todos los correos de felicitaciones de los compañeros de trabajo programados en el envio automático. 

  24. Aldrin
    Septiembre 29, 2016 at 3:00 am

    Hola que tal 

    es muy interesante todo este tema de los mail´s automaticos. 

    Prodrias ayudarme a comprender este codigo para adjuntar archivos?¡ mi archivo es un exel que tengo en mi cuenta de DRIVE pero no logro adjuntar el archivo dado que no comprendo como realizar el adjunto-

     // Send an email with a file from Google Drive attached as a PDF.  

    // aqui me lanza el error: No se ha encontrado ningún elemento con la ID proporcionada o no tienes permiso para acceder a él. —>>>

    var file = DriveApp.getFileById('1234567890abcdefghijklmnopqrstuvwxyz');  

    <<—

     

    GmailApp.sendEmail('mike@example.com', 'Attachment example', 'Please see the attached file.', {     attachments: [file.getAs(MimeType.PDF)],      

    name: 'Automatic Emailer Script'  });  

  25. Aldrin
    Septiembre 29, 2016 at 3:08 am

    Hola que tal, interesante todo esto de la automatizacion de mail´s

    Quisiera saber si puedes ayudarme a la comprension del codigo para adjuntar archivos.

     

    dado que no comprendo, un erro que me lanza en un codigo que compratiste con anterioridad aqui.

     

    el codigo es el siguiente.

     

  26. diego
    Noviembre 24, 2016 at 2:35 pm

    cuando termino me lanza este errro por fvor ayudarme

     //usamos la API de Gmail para enviar el mail.
      GmailApp.sendEmail(xxxxx@gmail.com, dsdsd, sdsdsd);
    }

     

    Falta ")" detrás de la lista de argumentos. (línea 16, archivo "Código")

Leave A Comment

Security Code:

Leer más
BlackBerry Playbook y Ubuntu
BlackBerry PlayBook y Ubuntu: como compartir archivos por WI-FI

En este artículo vamos a ver como compartir archivos entre una Blackberry Playbook y Ubuntu, en este caso usaremos la...

Cerrar