sábado, 2 de junio de 2018

Mandar correo

Google script puede ser muy potente ya que desde un código se pueden utilizar todos los servicios de Google: Hojas de cálculo, documentos, correo, carpetas, calendar, etc...

Gracias a esto podemos hacer que una función, por ejemplo, coja datos de un formulario, los mezcle con los de una hoja de datos y mande por correo un documento convertido a pdf.

En este artículo me voy a limitar a la parte de mandar correos.

Un correo simple

Tan sencillo como utilizar la clase MailApp (También tenemos GmailApp, pero está mas orientada a las funciones de Gmail y no las necesitamos aquí)

var correo_responsable = 'alguien@educacion.navarra.es'
MailApp.sendEmail(correo_responsable, 'Informe de mantenimiento', 'Aquí está el informe del aviso de mantenimiento')
Normalmente, la variable de correo viene del formulario o de una lista de correos que tenemos en la hoja de cálculo y, si utilizamos un bucle, podemos enviar varios correos a la vez

Un correo con formato


Para que el mensaje del correo enviado pueda tener saltos de línea, estilos de letra, etc.. necesitamos crear una variable tal que así:


  var opciones= { htmlBody: contenido_email}

El código quedaría así:
var contenido_email = 'Aquí está el informe del aviso de mantenimiento' 
  var opciones= { htmlBody: contenido_email}
MailApp.sendEmail(correo_responsable, 'Informe de mantenimiento',contenido_email, opciones)

Como veis sacamos el mensaje de la línea de MailApp y lo definimos en una variable que le hemos puesto el nombre de contenido_email. También hemos definido la variable opciones y la hemos metido como cuarto argumento en MailApp.

Al definir en opciones el argumento htmlBody podemos utilizar todas las etiquetas de html para dar formato al mensaje, por ejemplo:

var contenido_email= 'Aquí está el informe del aviso de mantenimiento<br>El plazo para contestar es de <b><font color="blue">10 días</font></b>' 

El correo quedaría así:


 Aquí está el informe del aviso de mantenimiento
El plazo para contestar es de 10 días 


En opciones hemos utilizado htmlBody: pero tenemos otras que también son interesantes, como: (copiadas de la página: https://developers.google.com/apps-script/reference/mail/mail-app)

attachmentsBlobSource[]an array of files to send with the email
bccStringa comma-separated list of email addresses to BCC
bodyStringthe body of the email
ccStringa comma-separated list of email addresses to CC
htmlBodyStringif set, devices capable of rendering HTML will use it instead of the required body argument; you can add an optional inlineImages field in HTML body if you have inlined images for your email
inlineImagesObjecta JavaScript object containing a mapping from image key (String) to image data (BlobSource); this assumes that the htmlBody parameter is used and contains references to these images in the format <img src="cid:imageKey" /> (see example)
nameStringthe name of the sender of the email (default: the user's name)
noReplyBooleantrue if the email should be sent from a generic no-reply email address to discourage recipients from responding to emails; this option is only possible for G Suite accounts, not Gmail users
replyToStringan email address to use as the default reply-to address (default: the user's email address)
subjectStringthe subject of the email
toStringthe address of the recipient

No hay comentarios:

Publicar un comentario

Crear PDF horizontal

El código que vamos a mostrar aquí no ha sido creado por nosotros, sino que lo hemos encontrado en Internet. Objetivo: Publicar una pesta...