Intégrer une mailing list à un site Hugo avec rss2email et mailman
Ce tutoriel résume les étapes que j’ai suivies pour configurer une liste de diffusion des nouveaux articles d’un site Hugo par courriel. Ce n’est pas une liste complète et il peut manquer des étapes. Il s’agit d’un aide-mémoire.
Configuration du fichier RSS
- Modifier le layout
rss.xml
pour n’inclure que les contenus de type posts et non les pages - S’assurer que le
title:
défini dansconfig.yml
apparaît correctement dans le fichierindex.xml
généré par Hugo - Inclure l’image de l’article dans l’élément
<content:encoded>
du layoutrss.xml
si on veut qu’elle apparaisse dans le courriel - Si une image générique est utilisée dans le header du flux RSS, modifier le chemin pour pointer vers le logo du site en format jpeg
Configuration de mailman
- Créer une mailing list dans l’outil Cpanel de Bluehost
- Définir l’adresse de contact de la liste, par ex.
info@monsite.com
. Les messages seront envoyés à cette adresse pour diffusion. - Dans l’onglet Général changer le subject_prefix pour une courte description du site. Cela servira de préfixe dans le sujet des courriels
- Définir le courriel de l’administrateur de la liste et l’ajouter comme membre contributeur. On utilisera cette adresse pour envoyer les courriels avec rss2email.
Configuration de rss2email
L’outil rss2email est utilisé pour lire le flux RSS, identifier les nouveaux articles et envoyer un courriel à la liste diffusion.
# pkg_add rss2email
Ajouter le nouveau flux RSS avec la ligne de commande ou en modifiant le fichier de configuration ~/.config/rss2email.cfg
.
$ r2e new user@example.com
$ r2e add name-for-rss https://www.archlinux.org/feeds/packages/ e-mail-address
Par exemple:
[feed.monsite.info]
url = https://monsite.com/index.xml
from = user@monsite.com
to = info@monsite.com
smtp-username = user@monsite.com
smtp-password = abcd1234
smtp-server = monsite.com
smtp-port = 465
smtp-ssl = True
Ne pas oublier de rouler la commande suivante en premier pour ne pas bombarder les gens de tous les anciens articles:
$ r2e run --no-send
Se référer aux liens suivants pour plus d’explications:
- https://github.com/rss2email/rss2email
- https://wiki.archlinux.org/title/Rss2email
- https://www.tumfatig.net/20190513/get-your-rss-feeds-as-email/
Formulaire d’abonnement
La dernière étape qui reste est d’offrir une façon pour nos visiteurs de s’inscrire à la liste de diffusion. Obtenir le lien du formulaire d’inscription dans mailman puis créer une page abonnement.md
dans /content/
avec le code suivant.
<div class="isso-postbox"><div class="form-wrapper"><section class="auth-section">
<form action="https://monsite.com/mailman/subscribe/info_monsite.com" method="POST">
<p class="input-wrapper">Courriel:</p><p class="input-wrapper"> <input class="input-wrapper" name="email" /></p><p class="post-action"><input type="submit" value="Abonnez-moi!" /></p>
</form>
</section>
</div></div>
Par Philippe St-Jacques