From d6bb04c6da1e5511da2676456a966002684c58d9 Mon Sep 17 00:00:00 2001 From: glevy Date: Sat, 28 Jun 2025 19:34:01 +0200 Subject: [PATCH] Linting 2 --- howto/mail_all.md | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/howto/mail_all.md b/howto/mail_all.md index cacc5ea..a4981a5 100644 --- a/howto/mail_all.md +++ b/howto/mail_all.md @@ -9,7 +9,9 @@ et aussi afin de t'épargner l'envoi manuel de centaines de mails tout en permettant de les personnaliser, des anciens membres du Crans ont écrit un script pour envoyer des mails à tous les adhérents. -Il se trouve [ici](https://gitlab.crans.org/nounous/scripts/-/blob/master/mail/mail_all.py) (en principe cloné dans `/usr/scripts/mail`). +Il se trouve +[ici](https://gitlab.crans.org/nounous/scripts/-/blob/master/mail/mail_all.py) +(en principe cloné dans `/usr/scripts/mail`). Ce script utilise le moteur de templates Jinja pour personnaliser les mails et nécessite une instance de Re2o. @@ -17,7 +19,7 @@ et nécessite une instance de Re2o. Pour le faire fonctionner, c'est assez simple. Tout d'abord, allons lire le menu d'aide. -``` +```bash ---> ./mail_all.py --help usage: mail_all.py [-h] [-f RECIPIENTFILE] [-t TEMPLATE] [-s SENDER] [-a] [-A] (--doit | -p) @@ -54,7 +56,7 @@ Pour cela rien de plus simple, il te suffit de remplir les destinaires dans un fichier, une ligne par destinataire et de le donner comme option à `-f`. Comme le précise le menu d'aide, trois formats sont disponibles. Par exemple : -``` +```bash Prénom;Nom;@crans.org ``` @@ -63,7 +65,7 @@ vont être fournis au template du mail. Il te suffit de rajouter un JSON contenant dans ses clés les nouvelles variables, cf l'exemple ci-dessous. -``` +```bash Prénom;Nom;@crans.org;{"pseudo":"","humeur":"bonne"} ``` @@ -93,7 +95,8 @@ avec l'option `-a`. Il est nécessaire de spécifier un template de mail, via un chemin relatif au dossier courant. L'architecture d'un dossier template ressemble à ça : -``` + +```bash Dossier_Template ├── body │   ├── en @@ -107,19 +110,25 @@ Dossier_Template └── X-Mailer └── fr ``` + Dans le sous-dossier body, tu peux spécifier deux langues : `en` et `fr`. Pour rajouter des langues, il faut changer un peu le script coeur, `mail.py`. Tous les fichiers sont des templates Jinja et ont accès aux variables définies dans mail_all. + * `Prénom` : Le prénom du destinataire, ou la chaîne vide. * `Nom` : Le nom du destinataire, ou la chaîne vide. * `To` : L'email du destinatire. -* `mailer` : L'user agent. Par défaut il vaut "Un MA du crans a personalisé ce message à la main pour toi" +* `mailer` : L'user agent. +Par défaut il vaut "Un MA du Crans a personalisé ce message +à la main pour toi" * Toute autre variable que tu aurais envie de définir. -Voici un peu plus de détails sur ce dossier de templates. +Voici un peu plus de détails +sur ce dossier de templates. -* A priori, `X-mailer` n'est pas à modifier et devrait juste contenir un fichier `fr` contenant `{{mailer}}`. +* A priori, `X-mailer` n'est pas à modifier et devrait juste +contenir un fichier `fr` contenant `{{mailer}}`. * De même, `To` ne devrait pas être modifié et contient `{{To}}`. * `From` contient le champ from du mail à envoyer. Tu peux mettre ce que tu veux. * `Subject/fr` est comme son nom l'indique le fichier définissant le sujet du mail. Il est aussi personnalisable à l'aide de variables, comme tous les autres fichiers Jinja. @@ -142,10 +151,16 @@ Puis lance le script avec les options suivantes. ./mail_all.py -s 'bureau@crans.org' -A -t AGO_2020 -p ``` -* L'option `-s` permet de préciser une adresse qui va recevoir les bounces. Tu veux ici une mailing list privée, comme respbats (par défaut) ou bureau. +* L'option `-s` permet de préciser une adresse qui va +recevoir les bounces. +Tu veux ici une mailing list privée, +comme `respbats` (par défaut) ou `bureau`. * L'option `-A` permet de dire que je veux envoyer ce mail à tous les adhérents. * L'option `-t` est pour préciser le template du mail. -* L'option `-p` me permet de faire une prévisualisation et de simuler l'envoi des mails. Cette option est de toute façon nécessaire (sauf si tu forces l'envoi du mail). +* L'option `-p` me permet de faire une prévisualisation +et de simuler l'envoi des mails. +Cette option est de toute façon nécessaire +(sauf si tu forces l'envoi du mail). :warning: Les consignes sont répétées pour une bonne raison.