btc

BTCClicks.com Banner

viernes, 28 de abril de 2017

Postal La alternativa a Sendgrid



Cada vez es más común que las empresas utilicen sus propios servidores de correo y que implementen email marketing, personalmente creo que una de las herramientas que mejor se adapta a la hora de realizar estas labores es Sendgrid, pero lamentablemente es privativa. Una alternativa a Sendgrid que he testeado desde hace un par de días es Postal, un servidor de correo de código abierto con características muy interesante y que se puede instalar fácilmente en nuestro servidor web.

Postal es una herramienta de código abierto, desarrollada en Ruby, Php y Node por el equipo de aTech Media y que nos permite tener un servidor de correo con amplias características en cualquier plataforma o servidor web.

Esta herramienta es una excelente alternativa a SendGrid, Mailgun o incluso el menos popular Postmark, originalmente fue creada para cubrir las necesidades básicas del equipo de aTech pero luego fue liberado para el uso de todos los usuarios.

La herramienta posee una interfaz bastante agradable y ha sido testeado por más de 6 meses, además cuenta con una api sencilla que nos permitirá realizar envíos y recepción de correos de forma más automática.

Una variedad de capturas de la aplicación seguramente dará una explicación más a detalle de las característica de este excelente servidor de correo de código abierto.








¿Cómo instalar Postal?

Antes de instalar Postal necesitamos tener instalado Ruby, MySQL, RabbitMQ, Node.js y git, luego debemos seguir los siguientes pasos:

Crear la database correspondiente y prepararla para el buen funcionamiento de Postal
mysql -u root -p

Debemos crear la database postal, debes reemplazar la ip local de tu servidor y también la XXX por la contraseña que desee.

CREATE DATABASE `postal` CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON `postal`.* TO `postal`@`127.0.0.1` IDENTIFIED BY "XXX";

Permita que un usuario en especifico tenga acceso a todas las bases de datos con prefijo postal-.

GRANT ALL PRIVILEGES ON `postal-%` . * to `postal`@`%`  IDENTIFIED BY "XXX";

Cree un host virtual RabbitMQ con los siguientes comandos:

sudo rabbitmqctl add_vhost /postal
sudo rabbitmqctl add_user postal XXX
sudo rabbitmqctl set_permissions -p /postal postal ".*" ".*" ".*"

Prepare su distro para ejecutar postal

sudo useradd -r -m -d /opt/postal -s /bin/bash postal

Instale dos dependencias necesarias y que pocos proyectos necesitan:

sudo gem install bundler
sudo gem install procodile

Clone el código fuente en el directorio adecuado con el siguiente comando:

sudo -u postal git clone https://github.com/atech/postal /opt/postal/app

Podemos crear un enlace simbolico para acceder a postal desde cualquier directorio, con el siguiente comando

sudo ln -s /opt/postal/app/bin/postal /usr/bin/postal

Instale las dependencias de Ruby que necesita Postal para poder ejecutarse.

postal bundle /opt/postal/app/vendor/bundle

Ejecute la configuración inicial de la herramienta con el siguiente comando:

postal initialize-config

Inicialice la database de postal y registre su instalación para que tenga https:

postal initialize

Registrando nuestra key de lets encrypt

postal register-lets-encrypt youremail@example.com

Ejecute su servidor de postal y comience a disfrutar:
postal start