Inclusivation
parent
f6beb3b27d
commit
9f68f9f247
|
@ -1,4 +1,4 @@
|
||||||
# Envoyer un mail à tous les adhérents
|
# Envoyer un mail à tous les adhérent·e·s
|
||||||
|
|
||||||
:warning: Avant de lire ce qui suit, vérifie auprès de plusieurs personnes, en
|
:warning: Avant de lire ce qui suit, vérifie auprès de plusieurs personnes, en
|
||||||
particulier auprès du CA et du ou de la présidence du Cr@ns
|
particulier auprès du CA et du ou de la présidence du Cr@ns
|
||||||
|
@ -8,7 +8,7 @@ Afin de contourner les mesures antispam du Crans pour cet usage légitime
|
||||||
et aussi afin de t'épargner l'envoi manuel de centaines de mails
|
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érent·e·s.
|
||||||
Il se trouve
|
Il se trouve
|
||||||
[ici](https://gitlab.crans.org/nounous/scripts/-/blob/master/mail/mail_all.py)
|
[ici](https://gitlab.crans.org/nounous/scripts/-/blob/master/mail/mail_all.py)
|
||||||
(en principe cloné dans `/usr/scripts/mail`).
|
(en principe cloné dans `/usr/scripts/mail`).
|
||||||
|
@ -46,7 +46,7 @@ optional arguments:
|
||||||
Filtres:
|
Filtres:
|
||||||
-a, --allaccess Envoie un mail à toutes les personnes bénéficiant
|
-a, --allaccess Envoie un mail à toutes les personnes bénéficiant
|
||||||
d'une connexion valide.
|
d'une connexion valide.
|
||||||
-A, --alladh Envoie un mail à tous les adhérents.
|
-A, --alladh Envoie un mail à tous les adhérent·e·s.
|
||||||
```
|
```
|
||||||
|
|
||||||
## Envoyer un mail à une liste prédéfinie
|
## Envoyer un mail à une liste prédéfinie
|
||||||
|
@ -82,19 +82,19 @@ ou le prénom du destinataire,
|
||||||
mais que l'email est bien accessible, le script fonctionnera quand même.
|
mais que l'email est bien accessible, le script fonctionnera quand même.
|
||||||
Attention tout de même à avoir un mail cohérent.
|
Attention tout de même à avoir un mail cohérent.
|
||||||
|
|
||||||
## Envoyer un mail à tous les adhérents
|
## Envoyer un mail à tous les adhérent·e·s
|
||||||
|
|
||||||
Pour envoyer un mail à tous les adhérents c'est très simple.
|
Pour envoyer un mail à tous les adhérent·e·s c'est très simple.
|
||||||
Soit tu récupères toi même cette liste et la colle dans un fichier de destinataires,
|
Soit tu récupères toi même cette liste et la colle dans un fichier de destinataires,
|
||||||
soit tu utilises l'option `-A`.
|
soit tu utilises l'option `-A`.
|
||||||
De même tu peux envoyer un mail à tous les adhérents à jour de cotisation
|
De même tu peux envoyer un mail à tous les adhérent·e·s à jour de cotisation
|
||||||
avec l'option `-a`.
|
avec l'option `-a`.
|
||||||
|
|
||||||
## Template de mail
|
## Template de mail
|
||||||
|
|
||||||
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 à ceci.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
Dossier_Template
|
Dossier_Template
|
||||||
|
@ -114,14 +114,14 @@ Dossier_Template
|
||||||
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 ou de la destinataire (ou la chaîne vide).
|
||||||
* `Nom` : Le nom du destinataire, ou la chaîne vide.
|
* `Nom` : Le nom du ou de la destinataire (ou la chaîne vide).
|
||||||
* `To` : L'email du destinatire.
|
* `To` : L'email du ou de la destinatire.
|
||||||
* `mailer` : L'user agent.
|
* `mailer` : L'user agent.
|
||||||
Par défaut il vaut "Un MA du Crans a
|
Par défaut il vaut "Les membres du Crans
|
||||||
personalisé ce message à la main pour toi"
|
ont personnalisé ce message 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
|
Voici un peu plus de détails
|
||||||
|
@ -131,8 +131,8 @@ sur ce dossier de templates.
|
||||||
et devrait juste
|
et devrait juste
|
||||||
contenir un fichier `fr` contenant `{{mailer}}`.
|
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.
|
* `Subject/fr` est, comme son nom l'indique, le fichier définissant le sujet du mail.
|
||||||
Il est aussi personnalisable à l'aide de variables,
|
Il est aussi personnalisable à l'aide de variables,
|
||||||
comme tous les autres fichiers Jinja.
|
comme tous les autres fichiers Jinja.
|
||||||
* `body` est le dossier le plus important
|
* `body` est le dossier le plus important
|
||||||
|
@ -148,9 +148,9 @@ Ce sont là aussi des template Jinja, personalisables
|
||||||
|
|
||||||
## Exemple
|
## Exemple
|
||||||
|
|
||||||
Pour envoyer un mail_all à tous les adhérents pour les prévenir
|
Pour envoyer un `mail_all` à tous les adhérents pour les prévenir
|
||||||
de la tenue de l'assemblée générale,
|
de la tenue de l'assemblée générale,
|
||||||
crée un dossier `AGO_2026` avec l'architecture précédente, dans le dossier `template`.
|
crée un dossier `AGO_$année` avec l'architecture précédente, dans le dossier `template`.
|
||||||
Puis lance le script avec les options suivantes.
|
Puis lance le script avec les options suivantes.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -161,12 +161,11 @@ Puis lance le script avec les options suivantes.
|
||||||
recevoir les bounces.
|
recevoir les bounces.
|
||||||
Tu veux ici une mailing list privée,
|
Tu veux ici une mailing list privée,
|
||||||
comme `respbats` (par défaut) ou `bureau`.
|
comme `respbats` (par défaut) ou `bureau`.
|
||||||
* L'option `-A` permet de dire que je veux
|
* L'option `-A` active l'envoi du mail à l'ensemble des adhérent·e·s.
|
||||||
envoyer ce mail à tous les adhérents.
|
|
||||||
* L'option `-t` est pour préciser le
|
* L'option `-t` est pour préciser le
|
||||||
template du mail.
|
template du mail.
|
||||||
* L'option `-p` me permet de faire une
|
* L'option `-p` permet de
|
||||||
prévisualisation
|
prévisualiser
|
||||||
et de simuler l'envoi des mails.
|
et de simuler l'envoi des mails.
|
||||||
Cette option est de toute façon nécessaire
|
Cette option est de toute façon nécessaire
|
||||||
(sauf si tu forces l'envoi du mail).
|
(sauf si tu forces l'envoi du mail).
|
||||||
|
@ -179,13 +178,13 @@ restreinte de cobayes presque volontaires
|
||||||
(à commencer par toi) pour vérifier que le mail rend bien.
|
(à commencer par toi) pour vérifier que le mail rend bien.
|
||||||
|
|
||||||
:warning:
|
:warning:
|
||||||
Lance le script dans un screen pour que son exécution se passe bien jusqu'au bout.
|
Lance le script dans un `screen` pour que son exécution se passe bien jusqu'au bout.
|
||||||
Le script va faire tous les envois un par un pour le millier d'adhérents, c'est long
|
Le script va faire la petite centaine d'envois un par un,
|
||||||
et le risque d'interruption au milieu n'est pas négligeable.
|
le risque d'interruption au milieu n'est jamais négligeable.
|
||||||
|
|
||||||
Une fois que le mail est satisfaisant et que tu as bien vérifié
|
Une fois que le mail est satisfaisant et que tu as bien vérifié
|
||||||
la liste des destinataires concernés
|
la liste des destinataires concernés
|
||||||
(tous ceux que tu visais, seulement eux), tu peux utiliser l'option `--doit`.
|
(tous ceux que tu visais et seulement eux), tu peux utiliser l'option `--doit`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./mail_all.py -s 'bureau@crans.org' -A -t AGO_2020 --doit
|
./mail_all.py -s 'bureau@crans.org' -A -t AGO_2020 --doit
|
||||||
|
|
Loading…
Reference in New Issue