Configurer les emails
Cenaclo n’envoie aucun email par un service de l’éditeur. Le routeur email Listmonk tourne dans votre stack, avec sa propre base sur le Postgres déjà présent, et il relaie vos messages par le serveur SMTP que vous fournissez. Les adresses de vos membres ne quittent donc jamais votre serveur.
C’est le seul réglage réellement à votre charge après l’installation : les deux parcours de déploiement démarrent sans SMTP, et Cenaclo fonctionne — mais aucun email ne part tant que vous n’avez pas branché le vôtre.
Ce qui est déjà installé
Section intitulée « Ce qui est déjà installé »Les deux parcours déploient les mêmes trois éléments :
- le job
listmonk-db-init, qui crée la baselistmonksur le Postgres de l’instance ; - le service
listmonk(imagelistmonk/listmonk:v6.0.0), joignable uniquement sur le réseau interne de la stack ; - le job
listmonk-seed, exécuté à chaque déploiement avant le démarrage du backend.
Le seed provisionne l’utilisateur d’API LISTMONK_API_USER (cenaclo_backend
par défaut) et son jeton, applique la configuration SMTP demandée, crée la liste
cenaclo-waitlist si elle manque, crée ou met à jour les modèles d’emails
transactionnels en français et en anglais, puis écrit le résultat dans un
fichier .seed.env placé sur un volume partagé. Le backend charge ce fichier au
démarrage.
Conséquence pratique : vous n’avez aucun secret d’email à recopier côté backend. Le jeton d’API est régénéré à chaque déploiement et repris automatiquement.
Fournir votre SMTP
Section intitulée « Fournir votre SMTP »Un compte SMTP transactionnel convient : Amazon SES, Mailgun, Postmark, Brevo, Scaleway Transactional Email, ou le relais SMTP de votre hébergeur. Renseignez ensuite ces variables.
| Variable | Rôle | Valeur par défaut |
|---|---|---|
LISTMONK_SEED_SMTP_MODE |
skip ne touche jamais au SMTP, external applique les variables ci-dessous |
skip en Coolify, external en Compose |
LISTMONK_SMTP_HOST |
Hôte SMTP de votre fournisseur | vide |
LISTMONK_SMTP_PORT |
Port SMTP | 587 |
LISTMONK_SMTP_USERNAME |
Identifiant SMTP | vide |
LISTMONK_SMTP_PASSWORD |
Mot de passe ou jeton SMTP | vide |
LISTMONK_SMTP_TLS_TYPE |
Chiffrement de la connexion | STARTTLS |
LISTMONK_SMTP_TLS_SKIP_VERIFY |
Désactive la vérification du certificat | 0 |
LISTMONK_FROM_EMAIL |
Expéditeur affiché, sur un domaine que vous contrôlez | Cenaclo <[email protected]> |
Laissez LISTMONK_SMTP_TLS_SKIP_VERIFY à 0. Le passer à 1 accepte
n’importe quel certificat et ouvre la porte à une interception du trafic SMTP.
Sur une ressource Coolify
Section intitulée « Sur une ressource Coolify »- Ouvrez la configuration de la ressource, onglet Environment Variables.
- Passez
LISTMONK_SEED_SMTP_MODEàexternal. - Renseignez
LISTMONK_SMTP_HOST,LISTMONK_SMTP_PORT,LISTMONK_SMTP_USERNAME,LISTMONK_SMTP_PASSWORDetLISTMONK_FROM_EMAIL. - Cliquez Deploy. Le job
listmonk-seedrejoue et applique la configuration.
En Docker Compose
Section intitulée « En Docker Compose »Renseignez les mêmes variables dans infra/compose/.env, où
LISTMONK_SEED_SMTP_MODE vaut déjà external, puis recréez la stack :
docker compose --env-file infra/compose/.env -f infra/compose/docker-compose.yml up -dÀ propos de l’interface Listmonk
Section intitulée « À propos de l’interface Listmonk »Aucun des deux parcours livrés n’expose l’interface d’administration Listmonk :
le modèle Coolify ne lui assigne pas de domaine et le Compose ne publie pas son
port sur l’hôte. C’est volontaire — cette interface donne accès aux adresses de
vos membres. Le chemin d’exploitation supporté est donc celui des variables
ci-dessus. Le compte d’administration existe malgré tout
(LISTMONK_ADMIN_USER, admin par défaut) et son mot de passe est généré par
Coolify ou fixé par LISTMONK_ADMIN_PASSWORD en Compose.
Authentifier votre domaine d’envoi
Section intitulée « Authentifier votre domaine d’envoi »Sans authentification du domaine, vos emails partent mais finissent en
indésirables, ou sont rejetés. Publiez les trois enregistrements DNS sur le
domaine utilisé dans LISTMONK_FROM_EMAIL :
- SPF — un enregistrement
TXTsur le domaine, autorisant les serveurs de votre fournisseur SMTP à émettre pour lui. - DKIM — le ou les enregistrements
TXTde signature fournis par votre service SMTP, sur le sélecteur qu’il indique. - DMARC — un enregistrement
TXTsur_dmarc.votre-domaine. Démarrez enp=nonele temps de vérifier les rapports, puis durcissez versp=quarantineoup=reject.
L’expéditeur doit rester sur un domaine que vous contrôlez. N’envoyez jamais depuis une adresse d’un domaine tiers que vous ne pouvez pas authentifier.
Les emails envoyés par Cenaclo
Section intitulée « Les emails envoyés par Cenaclo »Chaque modèle existe en français et en anglais.
- Compte et accès : lien de connexion, vérification d’adresse, réinitialisation de mot de passe, récupération d’accès administrateur.
- Notifications : mention, live démarré, rappel d’événement, résumé quotidien, résumé hebdomadaire.
- Exploitation : alerte de signalement de contenu illicite aux modérateurs, alerte de dépassement du quota de stockage.
Sans SMTP, ces envois échouent proprement : le backend démarre quand même, mais les flux qui dépendent d’un email — inscription par lien de connexion, vérification d’adresse, réinitialisation de mot de passe — restent bloqués côté utilisateur.
Diagnostiquer un email qui n’arrive pas
Section intitulée « Diagnostiquer un email qui n’arrive pas »Cenaclo journalise tous les emails transactionnels. Le backoffice
d’administration expose ce journal sur /admin/emails, avec le détail de chaque
envoi.
Statuts possibles : queued, sent, delivered, bounced, complained,
failed et broadcast_sent. La colonne de motif porte l’erreur exacte
retournée par le routeur ou par le fournisseur.
Lisez-les dans cet ordre :
- Aucune entrée dans le journal — l’action côté produit n’a pas déclenché d’envoi. Le problème est en amont de l’email.
- Statut
failed— le routeur a refusé l’envoi. Le motif indique presque toujours un SMTP absent ou des identifiants invalides. Vérifiez la sortie du joblistmonk-seedpuis les journaux du servicelistmonk. - Statut
sentmais rien reçu — le message est parti. Regardez les indésirables, puis vos enregistrements SPF, DKIM et DMARC. - Statut
bouncedoucomplained— le destinataire ou son fournisseur a rejeté le message. Le motif porte le détail.
D’autres pannes classiques des deux parcours sont recensées dans Dépannage.