La configuration des envois courriels depuis Castopod se fait dans le fichier de configuration .env. Ce fichier est situé à la racine de l’installation de Castopod sur le serveur. Si tu utilises la plateforme Yunohost, tu peux accéder au bon endroit avec les bonnes permissions en utilisant le terminal de l’utilisateur castopod comme suit:
sudo yunohost app shell castopod
Cette configuration est essentielle lorsqu’on utilise le mode Premium qui permet de créer des abonnements à des podcasts privés.
Lorsqu’on ajoute un nouveau courriel d’abonnement, un jeton unique est généré et est envoyé par courriel. Pour ce faire, on utilise un serveur de relais SMTP externe pour ne pas tomber dans le spam, car c’est rare que nos fournisseurs d’hébergement infonuagique ont des adresses IP de bonne réputation.
Les paramètres à configurer sont comme suit. Nous allons utiliser Google comme exemple, comme c’est un fournisseur de courriel fréquent dans les petites entreprises.
Pour utiliser le service SMTP de Google, il faut créer un mot de passe d’application. L’URL pour le faire est https://myaccount.google.com/apppasswords. Ce mot de passe a les mêmes permissions que ton compte Google, alors il faut faire attention de ne pas le partager nulle part ailleurs que dans le fichier de configuration .env de l’application.
Le reste de la configuration à faire dans le fichier est comme suit. Je te conseille d’utiliser l’éditeur nano si tu n’as pas l’habitude de la ligne de commande. Dans l’éditeur nano, tu peux utiliser la souris pour sélectionner et copier du texte. Tu peux aussi coller du texte à la position du curseur. Mais tu ne peux pas effacer du texte ni déplacer le curseur. Toutes les autres opérations se font avec le clavier.
nano .env
Voici le contenu à modifier dans la section Email configuration
# Configuration des paramètres SMTP pour Castopod
email.fromEmail="ton-email@domaine-smtp.com"
email.fromName="Ton nom de podcast"
email.SMTPHost="smtp.gmail.com"
email.SMTPPort="587"
email.SMTPUser="ton-email@gmail.com"
email.SMTPPass="ton-mot-de-passe-d-application"
email.SMTPCrypto="tls"
Voici l’explication de chaque paramètre :
email.fromEmail: Adresse email utilisée comme expéditeur. Doit correspondre au domaine utilisé chez ton fournisseur SMTP (ex: Gmail, Outlook, etc.)email.fromName: Nom affiché comme expéditeur dans les emails reçus par tes abonnésemail.SMTPHost: Adresse du serveur SMTP de ton fournisseur (ex:smtp.gmail.compour Gmail,smtp.outlook.compour Outlook)email.SMTPPort: Port de connexion au serveur SMTP. Le port587est utilisé avec le chiffrement TLSemail.SMTPUser: Nom d’utilisateur ou adresse email complète pour l’authentification SMTPemail.SMTPPass: Mot de passe d’application généré depuis ton fournisseur de courrielemail.SMTPCrypto: Type de chiffrement utilisé.tlsest le standard pour les connexions sécurisées modernes
Pour enregistrer un fichier dans nano et quitter, il faut faire Control+o, Entrée, Control+x.
Attention, il n’y a pas de “précédent” sur un système Linux. Toute modification est permanente.
Une fois que tu enregistres, il faut réinitialiser PHP et NGINX. Ce doit être fait avec un utilisateur root ou avec les permissions sudo, donc si tu es connecté avec un utilisateur d’application comme castopod, tu dois sortir avec exit.
sudo systemctl restart php8.2-fpm.service
sudo systemctl restart nginx
Tu peux maintenant envoyer des courriels aux utilisateurs Premium de ton podcast.