Enviar boletines por correo electrónico a través de la línea de comandos con el cartero

Si desea comenzar un nuevo boletín de noticias por correo electrónico, o encontrar una mejor manera de enviar su boletín de noticias existente, hay muchas herramientas para usted. Hay MailChimp y muchos otros servicios de correo electrónico en línea, así como herramientas integradas en aplicaciones de Office como Word y Outlook's Mail Merge y una característica similar con los nuevos complementos de Google Docs. Pero si estás acostumbrado a codificar tus propios sitios y usar el terminal, hay una mejor opción: la aplicación de terminal Postman.

En este tutorial, le mostraré cómo usar efectivamente a Postman para enviar sus boletines electrónicos a través de cualquier servidor SMTP: su propio servidor o cuenta de correo electrónico, o servicios como Amazon SES o Mandrill. Cubriremos la creación de una lista básica de destinatarios, la creación de una plantilla de correo electrónico básica, las diferentes opciones de envío de correo y, finalmente, el aspecto que tendrá un ejemplo completo. Con esos ejemplos de bloques de construcción en su haber, podrá enviar cualquier boletín de correo electrónico de la forma que desee..

Empezando con el cartero

Este tutorial asumirá que se siente cómodo al instalar el soporte para el lenguaje de programación go en el entorno de su sistema operativo y al establecer un par de variables de entorno relacionadas con la ruta.

Le mostraré brevemente cómo poner esto en funcionamiento en su Mac, pero consulte la documentación a la que he vinculado anteriormente antes de continuar, y tenga en cuenta que puede hacerlo funcionar siguiendo pasos similares en cualquier computadora Linux, y con un poco más de esfuerzo. en una PC con Windows.

Instalación en OS X

Un requisito previo para la instalación en OS X es homebrew. Por favor, lea la documentación y la configuración de homebrew antes de seguir adelante..

Ahora que tiene Homebrew all setup y actualizado, ejecute el comando brew para instalar go. Te mostraré toda la salida que deberías ver a continuación..

[chadhs @ mac ~] $ brew install go ==> Descargando https://downloads.sf.net/project/machomebrew/Bottles/go-1.2.2.mavericks.bottle.tar.gz ####### ################################################## ############### 100.0% ==> Verter go-1.2.2.mavericks.bottle.tar.gz ==> Advertencias A partir de la versión 1.2, se requiere un GOPATH válido para usar el comando 'go get': http://golang.org/doc/code.html#GOPATH 'go vet' y 'go doc' son ahora parte de go.tools sub repo: http://golang.org/ doc / go1.2 # go_tools_godoc Para obtener 'go vet' y 'go doc' ejecutar: go get code.google.com/p/go.tools/cmd/godoc go get code.google.com/p/go.tools / cmd / vet Es posible que desee agregar la ubicación de instalación basada en GOROOT a su PATH: export PATH = $ PATH: / usr / local / opt / go / libexec / bin La finalización de Bash se ha instalado en: / usr / local / etc La finalización de /bash_completion.d zsh se ha instalado en: / usr / local / share / zsh / site-functions ==> Summary 🍺 /usr/local/Cellar/go/1.2.2: 3981 archivos, 115M

Ahora que tienes instalado el soporte, vamos a configurar nuestro entorno..

[chadhs @ mac ~] $ mkdir $ HOME / go [chadhs @ mac ~] $ export GOPATH = $ HOME / go [chadhs @ mac ~] $ export PATH = $ PATH: $ GOPATH / bin

Para continuar usando Postman u otras utilidades que requieren ir, debemos hacer que esta configuración de entorno sea persistente. Deberá agregarlos al archivo rc o de perfil de su shell que se carga al iniciar una nueva sesión de terminal. Todavía tengo que unirme a las filas de la gente de zsh a tiempo completo, así que esto es lo que pongo en mi .bashrc después Se define PATH.

exportar GOPATH = $ HOME / go export export PATH = $ PATH: $ GOPATH / bin

Ahora instalemos cartero usando go.

[chadhs @ mac ~] $ go get github.com/zachlatta/postman

Ejecute el comando postman después de que se complete la instalación, para verificar que haya hecho todo correctamente. Deberías ver la siguiente salida..

[chadhs @ mac ~] $ postman Postman es una utilidad para enviar correos electrónicos por lotes. Uso: cartero [banderas] Banderas: -attach adjuntar una lista de archivos separados por comas -c número de solicitudes concurrentes para tener -csv ruta a csv de la lista de contactos -debug imprimir correos electrónicos a stdout en lugar de enviar -html ruta de plantilla html -password smtp contraseña puerto de puerto del servidor smtp correo electrónico del remitente para enviar desde el servidor url del servidor smtp tema del correo electrónico ruta de la plantilla de texto -usuario usuario smtp

Creando una lista básica de destinatarios

Lo siguiente que necesita es una lista de contactos para enviar su correo electrónico. Para nuestro ejemplo, deberá crear un archivo de texto en blanco llamado recipients.csv. En ese archivo de texto, ingresará "Correo electrónico, Nombre, Tipo" en la primera línea, y luego todos sus contactos siguiendo ese formato, uno por línea. Asegúrese de guardar el archivo una vez que haya terminado de verificar que todo se haya ingresado correctamente.

Correo electrónico, Nombre, Escriba chadhs @ example.com, Chad Stovern, Human info @ techcraft.example.com, Techcraft Workshop, Robot cstovern @ work.example.com, Chad Wokerson, Human

Creando plantillas básicas de correo html y texto

Ahora que ha creado su lista de destinatarios de correo electrónico, hagamos dos plantillas de correo electrónico que contengan nuestro mensaje. Una plantilla será una versión html y la otra será una versión de texto para hacer felices a los geeks de texto sin formato como yo. Siéntase libre de desviarse de copiar y pegar mis ejemplos exactos a continuación. Juegue con la redacción y donde incluya las entradas especiales ".Nombre" y ".Type. Esas entradas son "variables" que completarán el nombre y el tipo de su lista de contactos de recipients.csv.

Aquí es sobre cómo debería verse su versión html:

Hola, .Nombre el .Type!

Nos gustaría aprovechar esta oportunidad para felicitarlo por ser presentado como uno de nuestros principales 25 clientes .Type!

Haga clic aquí para reclamar su recompensa GRATIS

Sinceramente,
Robot de marketing falso

Aquí es aproximadamente el aspecto que debería tener su versión de texto simple:

Hola, .Nombre el .Type! Nos gustaría aprovechar esta oportunidad para felicitarlo por ser presentado como uno de nuestros 25 principales clientes .Type. Haga clic aquí para reclamar su Recompensa GRATUITA: http://rewards.example.com/freeoffer Atentamente, Robot de marketing falso

Enviando opciones a considerar

Ahora que tiene todas las piezas requeridas ensambladas, hay una pieza más que debe considerar antes de comenzar a enviar el correo. Para propósitos de tutoría, usar su cuenta de Gmail u otra cuenta personal para enviar correo está bien. Cuando pongas esto en práctica "en el mundo real" querrás sopesar algunas opciones.

Como mínimo, asegúrese de enviar correo desde la cuenta que desea que la gente vea cuando reciba su mensaje. Podría pensar en un consejo mucho peor que tener una dirección especial de [email protected] o [email protected] para enviar dichos mensajes. La otra cosa a considerar es los límites de correo electrónico impuestos por su proveedor. Puede haber límites en la cantidad de direcciones de correo electrónico externas diferentes que puede enviar en un período particular de 24 horas. Si su lista es de 500 o menos, es probable que esté bien usando su servicio de correo electrónico actual para enviar una campaña semanal por correo electrónico. Si desea hacer mucho más que esto utilizando al cartero como herramienta, consideraría seriamente un servicio como sendgrid, Amazon SES o Mandrill para enviar sus correos electrónicos. Simplemente regístrese para obtener una cuenta con cualquiera de los servicios respectivos y use la configuración de su servidor con el cartero..

Recopilación de algunos detalles técnicos

La última pieza del rompecabezas es recopilar cierta información sobre la cuenta de correo que va a utilizar para enviar su correo electrónico. Necesitarás conocer los siguientes artículos:

  • dirección de correo electrónico
  • nombre del servidor (por ejemplo: smtp.example.com)
  • puerto del servidor (por ejemplo: 587)
  • nombre de usuario (generalmente su dirección de correo electrónico)
  • contraseña

Necesitará estos valores a mano antes de continuar y enviar correo electrónico..

Poniendolo todo junto

Ahora tomemos todo nuestro trabajo y hagamos una prueba en vivo. Ejecute el mismo ejemplo que tengo a continuación, sustituyendo su propia información en lugar de la mía. Asegúrese de elegir una línea de asunto con sonido sólido que coincida con el contenido de su mensaje, pero que no emita sirenas en la cabeza de un usuario para buscar el botón Eliminar directamente. Está buscando las palabras mágicas "Destinatario del correo electrónico X de X ..." para que aparezcan, confirmando su éxito. Si el cartero simplemente se cuelga indefinidamente o si ve otro error, asegúrese de revisar la configuración del servidor de correo electrónico (usuario, contraseña, servidor, puerto) nuevamente para detectar cualquier error y luego ejecute nuevamente el cartero..

[chadhs @ mac cartero] $ postman -html template.html -text template.txt -csv recipients.csv -sender "Chad Stovern "-subject" ¡Un regalo GRATIS por ser nuestro cliente! "-server smtp.example.com -port 587 -user [email protected] -password" nice-try-not-my-password "Recibí un correo electrónico con el destinatario 3 de 3 ... 

Si todo funcionó en la línea de comandos, espere a que lleguen los correos electrónicos. Sabrá que siguió nuestro ejemplo correctamente si obtiene el mismo contenido de correo electrónico, pero los campos de nombre y tipo se completaron adecuadamente con los valores de su destinatario lista.


Ejemplo de correo electrónico generado a través del cartero

Y otro ejemplo, usando el mismo correo electrónico personalizado para otro destinatario:

Ejemplo de correo electrónico generado a través del cartero

Conclusión

Con esos ejemplos de bloques de construcción en tu haber, las posibilidades son ilimitadas. Ahora puede dedicar tiempo a crear algunas plantillas reutilizables que posee y controla, fuera de cualquier servicio de marketing alojado. Le recomiendo que visite el diseño web de Tuts + para obtener algunas grandes ideas sobre cómo comenzar a construir y embellecer esas plantillas..

Si tiene más preguntas sobre el uso del cartero o está atascado y al final de su cuenta; Déjame saber abajo en los comentarios. Como siempre, gracias por leer!