Linting 2
parent
0822e5fd43
commit
d6bb04c6da
|
@ -9,7 +9,9 @@ et aussi afin de t'épargner l'envoi manuel de centaines de mails
|
||||||
tout en permettant de les personnaliser,
|
tout en permettant de les personnaliser,
|
||||||
des anciens membres du Crans ont écrit un script pour
|
des anciens membres du Crans ont écrit un script pour
|
||||||
envoyer des mails à tous les adhérents.
|
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
|
Ce script utilise le moteur de templates Jinja pour personnaliser les mails
|
||||||
et nécessite une instance de Re2o.
|
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.
|
Pour le faire fonctionner, c'est assez simple.
|
||||||
Tout d'abord, allons lire le menu d'aide.
|
Tout d'abord, allons lire le menu d'aide.
|
||||||
|
|
||||||
```
|
```bash
|
||||||
---> ./mail_all.py --help
|
---> ./mail_all.py --help
|
||||||
usage: mail_all.py [-h] [-f RECIPIENTFILE] [-t TEMPLATE] [-s SENDER] [-a] [-A]
|
usage: mail_all.py [-h] [-f RECIPIENTFILE] [-t TEMPLATE] [-s SENDER] [-a] [-A]
|
||||||
(--doit | -p)
|
(--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`.
|
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 :
|
Comme le précise le menu d'aide, trois formats sont disponibles. Par exemple :
|
||||||
|
|
||||||
```
|
```bash
|
||||||
Prénom;Nom;<pseudo>@crans.org
|
Prénom;Nom;<pseudo>@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
|
Il te suffit de rajouter un JSON contenant dans ses clés
|
||||||
les nouvelles variables, cf l'exemple ci-dessous.
|
les nouvelles variables, cf l'exemple ci-dessous.
|
||||||
|
|
||||||
```
|
```bash
|
||||||
Prénom;Nom;<pseudo>@crans.org;{"pseudo":"<pseudo>","humeur":"bonne"}
|
Prénom;Nom;<pseudo>@crans.org;{"pseudo":"<pseudo>","humeur":"bonne"}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -93,7 +95,8 @@ avec l'option `-a`.
|
||||||
Il est nécessaire de spécifier un template de mail,
|
Il est nécessaire de spécifier un template de mail,
|
||||||
via un chemin relatif au dossier courant.
|
via un chemin relatif au dossier courant.
|
||||||
L'architecture d'un dossier template ressemble à ça :
|
L'architecture d'un dossier template ressemble à ça :
|
||||||
```
|
|
||||||
|
```bash
|
||||||
Dossier_Template
|
Dossier_Template
|
||||||
├── body
|
├── body
|
||||||
│ ├── en
|
│ ├── en
|
||||||
|
@ -107,19 +110,25 @@ Dossier_Template
|
||||||
└── X-Mailer
|
└── X-Mailer
|
||||||
└── fr
|
└── fr
|
||||||
```
|
```
|
||||||
|
|
||||||
Dans le sous-dossier body, tu peux spécifier deux langues : `en` et `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`.
|
Pour rajouter des langues, il faut changer un peu le script coeur, `mail.py`.
|
||||||
Tous les fichiers sont des templates Jinja
|
Tous les fichiers sont des templates Jinja
|
||||||
et ont accès aux variables définies dans mail_all.
|
et ont accès aux variables définies dans mail_all.
|
||||||
|
|
||||||
* `Prénom` : Le prénom du destinataire, ou la chaîne vide.
|
* `Prénom` : Le prénom du destinataire, ou la chaîne vide.
|
||||||
* `Nom` : Le nom du destinataire, ou la chaîne vide.
|
* `Nom` : Le nom du destinataire, ou la chaîne vide.
|
||||||
* `To` : L'email du destinatire.
|
* `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.
|
* 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}}`.
|
* 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.
|
* `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.
|
* `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
|
./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 `-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 `-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:
|
:warning:
|
||||||
Les consignes sont répétées pour une bonne raison.
|
Les consignes sont répétées pour une bonne raison.
|
||||||
|
|
Loading…
Reference in New Issue