Postal: La alternativa a Sendgrid que todos deberíamos probar
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.
¿Qué es Postal?
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
Conclusiones sobre Postal
El artículo Postal: La alternativa a Sendgrid que todos deberíamos probar aparece primero en Postal: La alternativa a Sendgrid que todos deberíamos probar.