Development #10805
expedition des annonces
0%
Description
Une fois la date de publication atteinte l'annonce doit être envoyée aux utilisateurs souscrits via le transport correspondant
Fichiers
Révisions associées
Historique
Mis à jour par Serghei Mihai il y a presque 8 ans
- Fichier 0001-announces-send-command-10805.patch 0001-announces-send-command-10805.patch ajouté
- Statut changé de Nouveau à En cours
- Patch proposed changé de Non à Oui
Via une commande django qui serait lancée par une tâche cron
Mis à jour par Benjamin Dauvergne il y a presque 8 ans
- utilise le backend de mail de Django
- supporte inlining des CSS et des images
- signature DKIM
Il faudrait pouvoir simplement définir des templates HTML Django qui utilisent des feuilles de style Django ainsi que images avec des URLs absolues et/ou des images venant des statiques.
Pour chaque URL d'image il faut remplacer l'URL relative vers /static/img/xxx.png par une image attachée ou un lien absolu vers le site corbo (il faut récupérer le hostname depuis le tenant en cours).
Mis à jour par Frédéric Péters il y a presque 8 ans
[...] par une image attachée
Oui, parce que des images extérieures ça va être bloqué par les MUA. (pour la réalisation, cf http://code.activestate.com/recipes/473810/).
Mis à jour par Serghei Mihai il y a presque 8 ans
Je ne connais pas beaucoup de MUA qui bloquent le contenu web et je pensais plutôt envoyer des mails plus legers, sans les statics inclus.
Mis à jour par Thomas Noël il y a presque 8 ans
Serghei Mihai a écrit :
Je ne connais pas beaucoup de MUA qui bloquent le contenu web
Aujourd'hui : tous.
Mis à jour par Benjamin Dauvergne il y a presque 8 ans
De toute façon la lib pointée gère tout ça, la discussion n'a pas lieu d'être, envoyons donc des fichiers attachés.
Mis à jour par Serghei Mihai il y a presque 8 ans
Yep.
Le répértoire contenant les images sera défini dans la variable SITE_BASE_DIR
qui changera en fonction du tenant.
Mis à jour par Frédéric Péters il y a presque 8 ans
Pour les images, les fichiers "media/" de manière générale, il y a une API dans Django (https://docs.djangoproject.com/en/dev/ref/files/storage/), c'est ça qu'il faut utiliser, parce qu'on l'a déjà adapté pour gérer le multitenant.
Mis à jour par Frédéric Péters il y a presque 8 ans
announce "%s" delivered to %s destinations
C'est un peu exagéré, "delivered", on n'en sait rien, on sait juste que le SMTP local a avalé le mail.
if result.status_code == 250:
Si ce n'est pas le cas c'est que le serveur SMTP local a un gros soucis, ce serait quand même important de le logguer très fort. Et d'enregistrer les destinataires pour qui ça n'a pas fonctionné (ce qui pourra être utilisé, plus tard, pour réessayer).
mail_from=settings.CORBO_DEFAULT_FROM_EMAIL)
J'utiliserais le paramétrage qui existe déjà (DEFAULT_FROM_EMAIL).
Mis à jour par Benjamin Dauvergne il y a presque 8 ans
Au niveau des logs j'irai franco, une ligne par destinataire et par campagne ça ne me parait pas exagéré (niveau INFO), c'est un peu le but de l'outil.
Mis à jour par Serghei Mihai il y a presque 8 ans
Mis à jour par Serghei Mihai il y a presque 8 ans
Avec quelques tests
Mis à jour par Benjamin Dauvergne il y a presque 8 ans
Il faudrait un test qui vérifie que la CSS et les images sont bien inlinés.
Mis à jour par Serghei Mihai il y a presque 8 ans
Avec tests pour les images et les CSS inline.
Mis à jour par Serghei Mihai il y a presque 8 ans
- Statut changé de En cours à Résolu (à déployer)
Acké par Benj par jabber.
commit c0214b3910d19b68e6158079f1654b03af9de7b1 Author: Serghei Mihai <smihai@entrouvert.com> Date: Fri May 6 17:21:56 2016 +0200 announces send command (#10805)
Mis à jour par Frédéric Péters il y a presque 8 ans
Il ne manque pas une commande de management pour appeler l'envoi ?
Mis à jour par Frédéric Péters il y a presque 8 ans
- Statut changé de Résolu (à déployer) à En cours
Et aussi, les tests échouent dans jenkins.
Mis à jour par Serghei Mihai il y a presque 8 ans
Yep, à cause d'un patch j'ai proposé en upstream qui n'a pas encore été releasé sur pypi: https://github.com/smihai/python-emails/commit/6a2e6264f4048bd001b22b95f51980d6ac908d4f
Je modifie le setup pour récuperer la version de notre depot.
Mis à jour par Frédéric Péters il y a presque 8 ans
Et concernant :
Il ne manque pas une commande de management pour appeler l'envoi ?
Mis à jour par Serghei Mihai il y a presque 8 ans
- Fichier 0001-debian-cron-job-to-run-announces-expedition.patch 0001-debian-cron-job-to-run-announces-expedition.patch ajouté
Je vois cela fait par une tâche cron executée toutes les 5 minutes
Mis à jour par Serghei Mihai il y a presque 8 ans
- Fichier 0001-tests-run-tests-with-custom-emails-lib.patch 0001-tests-run-tests-with-custom-emails-lib.patch ajouté
Pour executer les tests avec la version de emails
de notre depot.
Mis à jour par Frédéric Péters il y a presque 8 ans
Comme j'essayais de dire, il manque la commande de management (dont j'ai maintenant le nom, send_announces).
Mis à jour par Serghei Mihai il y a presque 8 ans
Mis à jour par Serghei Mihai il y a presque 8 ans
Au passage j'ai poussé le patch pour fixer les tests.
Mis à jour par Serghei Mihai il y a presque 8 ans
- Statut changé de En cours à Résolu (à déployer)
Et la commande d'envoi poussé:
commit 64278620f7c5012bde24e5d8c53adbf512525692 Author: Serghei Mihai <smihai@entrouvert.com> Date: Mon Jul 11 10:28:37 2016 +0200 management command for announces send (#10805) Ran as cron job every 5 minutes
announces send command (#10805)
Ran as cron job every 5 minutes