Newsletters en Elixir sans serveur d'envoi intégré
Keila est un outil de newsletters open source écrit en Elixir, sur le framework Phoenix. On y compose des campagnes pour ses listes de contacts et on y crée des formulaires d'inscription à intégrer sur un site. Une instance auto-hébergée n'envoie rien par elle-même : chaque expéditeur passe par un serveur SMTP, AWS SES, Sendgrid, Mailgun ou Postmark. Pour une petite newsletter, le README propose d'envoyer depuis sa propre boîte mail ; pour un projet plus gros, par l'un de ces services. Le site présente Keila comme une alternative open source à Mailchimp et Brevo, et son éditeur la vend aussi en version hébergée, Keila Cloud.
listmonk envoie lui aussi par des serveurs SMTP externes, depuis un seul binaire Go adossé à PostgreSQL, et son site ne renvoie qu'à des hébergeurs tiers sans lien avec le projet. BillionMail prend l'autre voie : il se présente comme un serveur de messagerie doublé d'une plateforme d'e-mailing.
Le comparatif des outils de newsletter auto-hébergés détaille ce que chaque outil gère lui-même et ce qu'il laisse au relais SMTP.
Formulaires sous captcha et segments selon le comportement
- Plusieurs façons d'écrire : éditeur par blocs, Markdown, texte brut ou MJML. Depuis la 0.30.0, les modèles s'écrivent aussi en HTML, et un modèle MJML, HTML ou texte brut peut déclarer des emplacements (
<keila-content>) que l'on remplit dans l'éditeur ou par l'API. Liquid personnalise le contenu pour chaque contact. - Formulaires d'inscription protégés : captcha hCaptcha ou Friendly Captcha, double opt-in, et e-mail de bienvenue depuis la 0.19.0. Un lien de confirmation ou de désinscription cliqué moins de trois minutes après l'envoi n'agit qu'après une action JavaScript automatique ou un second clic.
- Segments selon le comportement : depuis la 0.18.0, un segment filtre les contacts d'après leurs interactions avec les campagnes passées, et chaque campagne envoyée peut avoir un lien d'archive publique.
- Suivi désactivable : d'après le site de Keila, les statistiques ne recueillent que le nécessaire, et le suivi se coupe entièrement.
- API de contacts, de campagnes et de messages transactionnels : la 0.30.0 a ajouté l'envoi de messages unitaires (
POST /messages), la prévisualisation sans envoi et la gestion des modèles.
Seule l'offre Cloud fournit l'envoi géré
L'envoi géré n'existe que sur l'offre hébergée. Keila Cloud ajoute Send with Keila, le service d'envoi de l'éditeur, que la documentation des expéditeurs réserve aux clients de keila.io. Une instance auto-hébergée envoie par un SMTP ou par l'un des quatre services cités, configurés avec ses propres comptes. Keila Cloud tourne sur une infrastructure européenne, en Allemagne et en France, et l'éditeur contresigne un accord de traitement des données (DPA) au sens du RGPD, proposé en anglais et en allemand.
Keila Cloud est facturé au volume d'envoi, sans offre gratuite. Six formules vont de 8 € par mois pour 2 000 e-mails à 256 € pour 250 000. Toutes comptent contacts et projets sans limite, et laissent le choix entre Send with Keila et son propre serveur d'envoi. La page des tarifs explique l'absence d'offre gratuite : Keila y est « une petite entreprise autofinancée » qui ne vendra jamais les données de ses clients.
AGPL-3.0, sauf le code de Keila Cloud. Keila est sous AGPL version 3 « ou (à votre choix) toute version ultérieure », hors logo et dossier extra/. Ce dossier rassemble le code propre à Keila Cloud : facturation, comptes, Send with Keila. Depuis la 0.18.0, il est publié à titre informatif : son README interdit de l'utiliser, de le modifier ou d'en distribuer une version modifiée, comme d'écrire une extension propriétaire équivalente. Pour le reste du code, qui expose une version modifiée en service réseau doit en publier les sources.
Auto-hébergée, Keila tourne en conteneur avec PostgreSQL. La documentation d'installation ne cite qu'une dépendance à l'image pentacent/keila : une base PostgreSQL. La configuration exige DB_URL, une SECRET_KEY_BASE d'au moins 64 caractères et un serveur SMTP pour les e-mails système. Les fichiers téléversés restent sur le disque local (./uploads par défaut). Derrière un reverse proxy, les WebSockets doivent passer, ce qui demande une configuration dédiée sous nginx. L'inscription est ouverte par défaut et se ferme avec DISABLE_REGISTRATION=true. Le fichier Compose du dépôt se dit fait pour les tests locaux, pas pour la production, et aucun besoin en mémoire n'est chiffré.
Keila est encore en 0.x, avec un développeur principal. La 0.30.3 est sortie le 6 septembre 2026, neuvième version de l'année, après près de dix mois sans version entre la 0.17.1 (mars 2025) et la 0.18.0 (janvier 2026). La 0.30.0 a changé le rendu des campagnes MJML (Liquid s'exécute désormais avant MJML) et a migré d'elle-même les campagnes concernées. Un développeur signe 1 234 des 1 388 commits de la branche principale. Les tests A/B et les automatisations marketing restent sur la feuille de route du site.
