Combinación de correo desde Google Apps
¿Quién no se ha enfrentado en algún momento de su vida a hacer el envío de un número importante de correos electrónicos, a partir de un documento base que incluya pequeños cambios que personalicen dichos envíos? Este es el caso típico en el cual es necesario enviar notificaciones o invitaciones personalizadas a un gran número de personas en un contexto particular, en las suites de oficina de escritorio, esta función es conocida como “Mail Merge” o Combinación de Correo y permite de una forma muy efectiva generar cartas o documentos personalizados para realizar envíos.
Al usar Google Apps como herramienta de comunicación y productividad, veremos como aplicar esta funcionalidad de combinación de correo, usando un pequeño script desarrollado en Google Script. Al tener integradas las herramientas de Google Apps, es posible aplicar la combinación de correo y aprovecharla para enviar los correos electrónicos personalizados.
Imagínese que usted trabaja en el Fondo de Empleados de su empresa, desde el inicio de su creación se usa Google Apps (y Spreadsheets) para generar el estado de cuenta de cada uno de los asociados, en el afán de mejorar los servicios de información, el Gerente desea enviar por correo electrónico dicho estado a cada uno de ellos de manera periódica. El Gerente conociendo su destreza en Google Apps le encomienda la tarea de desarrollar este envío, usted recuerda que esta tarea es posible realizarla usando el concepto de combinación de correo y acepta el reto.
A continuación seguiremos la receta para generar la combinación de correo usando Gmail, Spreadsheets (Hojas de cálculo) y Google Script para resolver esta tarea.
Ingredientes:
1 Hoja de cálculo que contenga la información de los asociados (incluido el correo electrónico y demás información específica del estado de cuenta).
1 Template o documento base que contiene los textos del formato del estado de cuenta.
1 Script para realizar la combinación y el respectivo envío.
Preparación:
Lo primero que hay que preparar es la hoja de cálculo donde está almacenada la información de cada asociado (o información que varía), no olvide nombrar la hoja como “Estados”.
Como queremos ejecutar el envío cuantas veces sea necesario, hemos adicionado una columna a la hoja para registrar el estado del envío (llamada “Envío mes”).

Como lo muestra la imagen, tenemos la información correspondiente para cada uno de los asociados. Luego de esto debemos preparar el template que enviaremos, en este punto, es necesario tener en cuenta que habrá dos tipos de información: la información fija (información que no varía como el título, textos explicativos, etc.) y la información específica (información que varía de acuerdo al asociado (nombre, apellido, cuota, etc.) Para este último tipo de información utilizaremos el concepto de “Reemplazables” que son cadenas de texto marcadas de forma única dentro del template que corresponden a los espacios donde se reemplazará la información que varía (identificados de la siguiente forma |*nombre*|). Para mayor claridad presento a continuación el template que usaremos:

Una vez el script se ejecute, tomará el template y reemplazará cada uno de los reemplazables con los valores cargados desde la hoja de cálculo. Es necesario resaltar que se utilizaron los mismos nombres del encabezado de la hoja de cálculo para nombrar los reemplazables. El template puede ser construido en formato texto o en html que resulta muy conveniente para incluir imágenes u otros recursos haciéndolo más atractivo.
Por último, pasamos a preparar el script correspondiente. En términos generales el script abre la hoja de cálculo, carga el template, recorre una a una las filas de la hoja y si la celda correspondiente a envío está vacía, carga los datos del asociado, los reemplaza en el template, realiza el envío y marca el envío como ok (es decir guarda un ok en la celda correspondiente a “Envio mes”). En este punto creamos el script en la hoja de cálculo, seleccionando >Tools (Herramientas) y >Script editor (Secuencia de comandos):

En el editor, crear el proyecto que contendrá el script y el template, a través de File > New Project y seleccionar SpreadSheet.
En la pestaña de Code.gs incluimos el código del script y salvamos el proyecto con un nombre representativo. A continuación podemos ver el código asociado al script:
Luego es necesario crear el html del template. A través de File > New > Html file se crea un nuevo archivo asociado al proyecto que contendrá el html (lo llamaremos Estado.html):
El código del script como el html del template lo puede descargar desde este enlace.
Para facilitar la ejecución del envío es posible crear un botón dentro de la hoja de cálculo asociado al script (vea el video de explicación para asociar la ejecución de un script a un botón) y así realizar el envío (ésta es tan solo una de las formas que provee Google Scripts para ejecutar fácilmente los scripts.)
Cuando se ejecuta el script, éste despliega en una pequeña ventana el número de correos que envió. Al final de todo el ejercicio, cada asociado recibe un correo con la información correspondiente:
Así termina la receta para hacer la combinación de correo usando Google Apps, usted puede adaptar este mecanismo y el script para hacer los envíos según su necesidad. Por favor recuerde y tenga en cuenta que Google Apps tiene una limitación para el envío de correos de forma diaria (hasta 500 correos diarios para cuentas gmail de consumidor y Google Apps Standard ó 2000 correos para Google Apps for Business).
Jorge Forero
Google Apps Certified Deployment Specialist
jorge@eforcers.com
Eforcers S.A.