Configurar correos en Ghost
TLDR: Creé mi primera página web para mi marca personal y me faltó configurar el correo electrónico. Son 2 tipos de envío de correo que usa Ghost: 1) emails transaccionales para registrarse en el portal o solicitud de correo para reinicio de contraseña (a través de SMTP), y 2) emails de marketing para el envío de newsletter (a través de una API para correos masivos -bulk-). Intenté configurar Mailgun como se recomienda en la documentación, pero me salté un detalle y como tampoco quiero hacer mucho énfasis en el Newsletter, elegí AWS SES como proveedor de envío de correos y sólo dejé configurado los envíos transaccionales.
¿Mailgun o AWS SES?
Al momento de levantar un portal de Ghost, una parte fácil de dejar de último es la elección de proveedor de envío de correos, entonces ¿qué significa esto?. Recuerda que tu portal tiene la opción de crear usuarios para suscriptores o recibir un Newsletter apenas un post haya sido publicado.
La documentación de Ghost favorece Mailgun y explica que es muy fácil crear una cuenta, por lo que inicialmente elegir esta opción suena muy fácil, y más cuándo te menciona que tiene una suscripción de "pay-as-you-go", la cual cobra por cada correo enviado. Y adicional suma al hecho de que Mailgun no cobra cuando la factura es menor a $ 0.50 en USD, por lo que podemos decir que tenemos alrededor de 600 envíos de correos de forma gratuita.
Pero parte de esta información, para hoy 18 de abril de 2024, está un poco desactualizada.
Actualmente no hay forma de elegir el plan "pay-as-you-go", o no aparece entre las opciones de plan, por lo que se debe empezar desde el más económico de $ 35.00 para una capacidad máxima de 50,000 correos, lo cual no es gratis como podemos leer.
Esto hace que Mailgun no suene tan favorable. Y como por ahora el envío de Newsletter no es primordial, podemos obviarlo y configurar algún servicio para sólo los correos transaccionales, lo cuál se explica más adelante.
Por lo que respondiendo a esta pregunta: si quieres enviar todo tipo de correos, transaccionales y de marketing, configura Mailgun (incluso en la última sección te explico como crear una cuenta "pay-as-you-go" actualmente), y si solo necesitas para el manejo de usuarios, solo correos transaccionales, entonces configura AWS SES, o Gmail, o Mailchimp, o cualquier otro servicio que desees.
Pero, ¿qué son correos transaccionales y qué son correos de marketing?
La administración de usuarios creados con el correo electrónico requiere enviar información privada para verificar la dirección o enviar un email para cambiar la contraseña con algún token. Este tipo de comunicación son correos transaccionales y es parte vital de cualquier portal.
Cuando queremos enviar emails con una vista o invitación a leer el último post, información privada que es sólo para ciertos miembros, o simplemente enviar un correo para publicidad, a esto se le llama correo de marketing.
Ghost solo permite el servicio de Mailgun para el envío de correos de marketing, y tienen varias razones explicadas en su portal, y el TLDR: Mailgun usa mecanismos para evitar que los servidores de correos sean clasificados como spam.
Entonces, ¿cómo configuro AWS SES?
Una vez decidido es simplemente entrar a nuestra cuenta de AWS, ir a la sección de SES (Simple Email Service) y registrar nuestro dominio. En el post pasado explicaba el uso de AWS Route 53 y la adquisición del dominio a través de Namecheap. Como la configuración de los servidores de Namecheap apunta a los servidores de AWS, específicamente hacia los de Route 53, registrar el dominio en AWS SES es muy fácil, sobre todo porque al ser servicios de Amazon, de una vez los datos de los servidores y demás son registrados de forma automática.
Una vez registrado, es sólo esperar que se haya verificado el dominio y listo, ya tenemos esta parte configurada, ya podemos enviar correos de parte de jorgetech.dev. Ahora nos queda probar, pero para eso, tenemos que verificar una cuenta de correo electrónico.
AWS SES también permite verificar correos electrónicos, comprobar que nos pertenece y enviar mensajes con el correo verificado como destinatario, pero esta no es la razón de verificar el correo. Resulta que al registrar tu dominio, este aún continúa estando en un ambiente de Sandbox, o de pruebas, y solo es posible enviar correos a direcciones autorizadas o verificadas. Es más un tema de seguridad que otra cosa, y la forma de salir de este ambiente y transformarlo a uno de producción, es haciendo la solicitud a AWS. Recuerda que esto sube los topes de tus mensajes.
Teniendo registrado el dominio y con correo electrónico (puede ser uno personal), podemos enviar correos de prueba para verificar que todo está funcionando como debería. Una vez todo parece ir bien, lo que falta es solicitar salir del ambiente Sandbox.
Abrir un caso en AWS para salir de ambiente Sandbox
Esta parte es la más "personal", y digo personal, porque es un correo que una persona debe verificar y autorizar, o eso parece.
Mientras estás en el Dashboard de SES puedes ver un cartel azul aparecer indicando abrir un caso solicitando la salida del ambiente Sandbox. En el caso, se debe seleccionar si el uso del correo es para transacciones o para marketing. La idea es colocar una descripción de para qué vas a usar el correo, cómo piensas manejar la distribución de correos, cómo vas a manejar los usuarios, que proceso tienes para cuando un usuario no quiere recibir correos o el famoso botón de "unsubscribe" y demás.
Una vez creado este caso o ticket, te llegarán correos con la apertura de tu caso y probablemente te pidan más detalles. Una vez transcurra un tiempo entre 24 y 48 horas, te responderán con los términos y condiciones y la aprobación de la salida de ambiente Sandbox.
A partir de aquí, puedes eliminar tu correo personal como verificado y volver a probar desde SES. Sólo queda pendiente la configuración Ghost.
Configuración de correo en Ghost
Acá es sencillo, es ingresar a la instancia EC2 a través de SSH y buscar el archivo de configuración de ghost para cambiar algunos valores. Este documento está en la dirección /opt/bitnami/ghost/config.production.json
y en el portal de Bitnami puedes encontrar más información de configuración.
Recuerda que este es el archivo JSON de configuración de Ghost para varias opciones, como las credenciales de la base de datos o la url de la página.
Luego, puedes ir al portal administrativo de Ghost e intentar ingresar al portal administrativo, dar click en el botón de "Forgot password" y esperar que el correo de reinicio de contraseña llegue tu bandeja, y listo: ya tienes configurado tu sistema de correo en Ghost.
¿Y cómo hago para crear una cuenta Mailgun con el plan "pay-as-you-go"?
Listo, entonces queremos crear una cuenta en Mailgun, pero no queremos pagar por un plan por una capacidad máxima de mensajes, sino pagar por lo que usamos. Tener disponible 50,000 mensajes para alguien que está empezando es demasiado.
En el portal de Ghost indica que se puede obtener una cuenta "pay-as-you-go", pero no indica exactamente cómo.
Alguien ya indicó en los foros de Ghost que no es posible abrir una cuenta y seleccionar la opción de pagar a medida que se usa, y preguntando qué opciones habían, se le respondió como hacer para obtener este plan: al momento de crear una nueva cuenta, llenar el formulario del método de pago, seleccionar un mes de prueba gratis, usar el servicio por unos días y luego darse de baja del plan, por lo que automáticamente la plataforma te asigna en el plan de "pay-as-you-go". De esta forma no se cobra por ningún plan y puedes usar el servicio pagando por los mensajes que envíes, pero si estos son menos de aproximadamente 600, puede que no se te facture al respecto.
En este enlace tienes toda la información del caso y las respuestas que estamos mencionando.
El error que cometí fue que creé la cuenta directamente y ya no me es posible seleccionar una prueba por un tiempo o trial, por lo que debo cancelar mi cuenta, esperar un tiempo y volverla a crear con la opción de prueba, usarla unos días (antes del corte) y luego cancelar la suscripción para que se me asigne el plan que deseo.
En resumen, el portal ya se encuentra habilitado para suscribirse. Por los momentos no tengo un plan de Newsletter o secciones exclusivas para miembros, pero si deseo añadir esto en un futuro, dependiendo de como vayan las cosas.
Si tienes alguna duda de cómo hacer alguno de estos pasos, déjame saber y con seguridad podemos resolverlo. !Feliz día!