Envíar correos a suscriptores en Ghost

Ghost permite el acceso a su núcleo de una manera más directa. Las aplicaciones. Y, aunque existan las apis y los webhooks, las apps tienen acceso a más bajo nivel que cualquier configuración pueda tener. Aún dicha funcionalidad está en fase de desarrollo pero suponen muchas ventajas para la personalización de un sitio.


** Esta app ha sido probada en la versión 2.8.0 y 2.11.1 **

Manos a la obra!

Descarga el código fuente desde github y extráelo en la ruta content/apps y nómbralo como mailer.

Ejemplo del directorio de las apps.

En la base de datos del sitio, nos enfocaremos en 2 tablas.

  • apps
  • settings

Ghost usa la librería bson-objectid para los campos id, así que generamos uno.

$ node
> const obj = require('bson-objectid')
> obj.generate()
'5c3d8a028e953e169d1631f7'

También necesitaremos el id del usuario con el que publicas. Eso lo podrás hacer consultando la tabla users.

Vamos a agregar nuestro registro. Te dejo el ejemplo de una query.

INSERT INTO apps
	(id, name, slug, version, status, created_at, created_by)
VALUES
	('5c3d8a028e953e169d1631f7', 'mailer', 'mailer', '1.0', 'active', NOW(), '5c3153efd02116318c6988d8');

Bien. Nos faltan los cambios en la tabla settings.

Modificaremos los registros active_apps e installed_apps.

Aquí hay que tener mucho cuidado porque si hacemos algo mal, podemos dejar inservible nuestro sitio. Recomiendo crear una copia de seguridad desde el panel del admin de tu sitio.

Agrega la app mailer quedando de la siguiente manera.

Para hacerte la vida más fácil, te obsequio la query update.

UPDATE settings SET value='["mailer"]'
WHERE `key` = 'active_apps' OR `key` = 'installed_apps';

Sólo reinicia tu blog y estará todo funcionando.

Puedes hacer un fork al proyecto y crear tu propio diseño a la plantilla de correo.

En el próximo veremos el uso de los webhooks.

Bendiciones!