[mail] Templating

This commit is contained in:
Valentin Samir 2013-10-01 19:28:35 +02:00
parent 6b0f94a59d
commit 0addbac08e
22 changed files with 112 additions and 86 deletions

View file

@ -15,6 +15,7 @@ import re
import ldap_crans import ldap_crans
conn = ldap_crans.CransLdap() conn = ldap_crans.CransLdap()
import mail as mail_module
import sys import sys
#: envoyer un mail à chaque adhérent concerné #: envoyer un mail à chaque adhérent concerné
sendmails = False sendmails = False
@ -69,9 +70,12 @@ for clandestin in bad_boys_e_s:
if not "@" in to: if not "@" in to:
to += "@crans.org" to += "@crans.org"
mail = config.mails.demenagement.message_demenagement % {"from" : "respbats@crans.org", mail = config.mails.demenagement.message_demenagement % {"from" : "respbats@crans.org",
mail = mail_module.generate('demenagement', {"from" : "respbats@crans.org",
"chambre" : exchambre, "chambre" : exchambre,
"jours" : int(ttl/86400) + 1, "jours" : int(ttl/86400) + 1,
"to" : to} "to" : to,
"lang_info":"English version below"}
).as_string()
if DEBUG: if DEBUG:
print mail print mail
mailer = os.popen("/usr/sbin/sendmail -t", "w") mailer = os.popen("/usr/sbin/sendmail -t", "w")

View file

@ -9,73 +9,6 @@ from utils.sendmail import Message
""" Templates des mails envoyés en cas d'upload. """ """ Templates des mails envoyés en cas d'upload. """
#: Envoyé à l'adhérent en cas de dépassement de la limite soft
message_soft = u"""From: %%(from)s
To: %%(to)s
Subject: %(subject)s
Content-Type: text/plain; charset="utf-8"
Bonjour %%(proprio)s,
Nous t'informons que ta (tes) machine(s) envoie(nt) une quantité
importante de données vers l'extérieur (%%(upload)s Mo en 24 heures).
*Ce message t'est envoyé à titre informatif, il ne te sanctionne pas.*
Il signifie que tu as envoyé plus de 300 Mo au cours des dernières 24
heures. Cela peut venir du fait que, *par exemple*, tu essaies
d'envoyer des fichiers de grosse taille à l'extérieur de la zone
crans, ou encore que tu as fait une utilisation importante de
logiciels envoyant une très grande quantité de petites données
(vidéo-conférence par exemple). Il peut y avoir d'autres raisons.
Si cela continuait, et que tu dépassais la limite acceptable des 3789
Mo sur 24 heures, ton débit serait automatiquement fortement limité pour
une durée de 24 heures. Il t'appartient donc de surveiller cela de
plus près et de faire en sorte que tes machines n'uploadent pas de
manière excessive à l'avenir.
Pour plus d'informations, tu peux consulter la page:
http://wiki.crans.org/VieCrans/DéconnexionPourUpload
Si tu as des questions, contacte disconnect@crans.org
N.B. : L'upload consiste en l'envoi de données vers des machines n'étant
pas branchées sur le CRANS.
--\u0020
Disconnect team""" % {'subject': Header('[Cr@ns] Attention !', 'utf-8')}
#: Envoyé à l'adhérent en cas de dépassement de la limite hard
message_hard = u"""From: %%(from)s
To: %%(to)s
Subject: %(subject)s
Content-Type: text/plain; charset="utf-8"
Bonjour %%(proprio)s,
Ton débit a été temporairement limité en raison de l'envoi trop
important de données vers l'extérieur (%%(upload)s Mo en 24h).
Si cela devait se renouveler trop souvent, tu serais déconnecté
complètement pour une durée plus importante.
Il t'appartient donc de surveiller cela de plus près et de faire en sorte que
ta machine n'uploade plus de manière excessive à l'avenir.
Pour plus d'informations, tu peux consulter la page :
http://wiki.crans.org/VieCrans/DéconnexionPourUpload
Si tu as des questions, contacte disconnect@crans.org
N.B. : L'upload consiste en l'envoi de données vers des machines n'étant
pas branchées sur le CRANS.
--\u0020
Disconnect team""" % {'subject': Header('[Cr@ns] Limitation temporaire de ton débit montant.', 'utf-8')}
#: Envoyé à la ML disconnect@ en cas de dépassement de la limite soft (désactivé) #: Envoyé à la ML disconnect@ en cas de dépassement de la limite soft (désactivé)
message_disconnect_soft = u"""From: %(from)s message_disconnect_soft = u"""From: %(from)s
To: %(to)s To: %(to)s

View file

@ -0,0 +1 @@
{{from}}

View file

@ -0,0 +1 @@
Template de mail envoyé en cas de déménagement mais présence de machines

View file

@ -0,0 +1 @@
[Cr@ns] Déménagement non déclaré

View file

@ -0,0 +1 @@
{{to}}

View file

@ -1,18 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
""" Template de mail envoyé en cas de déménagement mais présence de machines. """
import email.Header
message_demenagement = u"""From: %%(from)s
To: %%(to)s
Subject: %s
Content-Type: text/plain; charset="utf-8"
Bonjour, Bonjour,
Un adhérent au Cr@ns a déclaré résider dans la chambre %%(chambre)s, Un adhérent au Cr@ns a déclaré résider dans la chambre {{chambre}},
que tu occupais précédemment. Cela signifie que nous ne disposons que tu occupais précédemment. Cela signifie que nous ne disposons
plus d'informations de résidence valides à ton sujet. plus d'informations de résidence valides à ton sujet.
@ -25,11 +13,11 @@ Si tu souhaites conserver ton accès au Cr@ns :
Si tu ne souhaites pas conserver ton accès au Cr@ns, un simple message de Si tu ne souhaites pas conserver ton accès au Cr@ns, un simple message de
ta part et nous supprimerons les machines que tu possèdes de notre base de données. ta part et nous supprimerons les machines que tu possèdes de notre base de données.
Cette suppression aura automatiquement lieu dans %%(jours)s jours en l'absence de Cette suppression aura automatiquement lieu dans {{jours}} jours en l'absence de
réponse. réponse.
S'il s'agit d'une erreur de notre part, préviens-nous au plus vite afin que nous S'il s'agit d'une erreur de notre part, préviens-nous au plus vite afin que nous
puissions corriger le problème. puissions corriger le problème.
--\u0020 --
Les membres actifs du Crans""" % email.Header.make_header([("Déménagement non déclaré", "utf8")]) Les membres actifs du Crans

View file

@ -0,0 +1 @@
Les câbleurs du Crans <cableurs@crans.org>

View file

@ -0,0 +1 @@
Réadhésion au Crans

View file

@ -0,0 +1 @@
{{To}}

View file

@ -0,0 +1,32 @@
Cher adhérent du Cr@ns,
Il apparaît que tu n'as pas encore réadhéré pour cette année
universitaire. Si tu souhaites conserver ta connexion au Cr@ns
et à Internet, il te faut réadhérer avant le 30 septembre au soir,
sans quoi ta connexion sera coupée.
Tu peux pour cela nous retrouver lors d'une de nos permanences. Pour
rappel, elles ont lieu du lundi au vendredi, de 12h30 à 13h30 et de
18h30 à 21h, *sauf le mardi soir*. Ne viens pas en dehors de ces
horaires, car personne ne serait en mesure de faire ta réadhésion.
Pour réadhérer, il te suffit de te munir :
* de la cotisation pour cette année, qui est toujours de 50€,
payables par chèque à l'ordre de "L'association Crans", ou en espèces
* si tu peux déjà le fournir, un certificat de scolarité ou ta carte
d'étudiant valable pour cette année (si tu n'en disposes pas encore,
tu as jusqu'à la fin du mois d'octobre pour en rapporter un)
il te suffira de remplir un formulaire de réadhésion à la permanence
(dans lequel aucune information technique n'est demandée).
Si tu ne souhaites pas réadhérer pour l'année prochaine, un simple
message de ta part et nous supprimerons tes machines de notre base
de données.
À très bientôt !
--
Les câbleurs du Cr@ns

View file

@ -0,0 +1 @@
{{from}}

View file

@ -0,0 +1 @@
Envoyé à l'adhérent en cas de dépassement de la limite soft

View file

@ -0,0 +1 @@
[Cr@ns] Limitation temporaire de ton débit montant

View file

@ -0,0 +1 @@
{{to}}

View file

@ -0,0 +1,20 @@
Bonjour {{proprio}},
Ton débit a été temporairement limité en raison de l'envoi trop
important de données vers l'extérieur ({{upload}} Mo en 24h).
Si cela devait se renouveler trop souvent, tu serais déconnecté
complètement pour une durée plus importante.
Il t'appartient donc de surveiller cela de plus près et de faire en sorte que
ta machine n'uploade plus de manière excessive à l'avenir.
Pour plus d'informations, tu peux consulter la page :
http://wiki.crans.org/VieCrans/DéconnexionPourUpload
Si tu as des questions, contacte disconnect@crans.org
N.B. : L'upload consiste en l'envoi de données vers des machines n'étant
pas branchées sur le CRANS.
--
Disconnect team

View file

@ -0,0 +1 @@
{{from}}

View file

@ -0,0 +1 @@
Envoyé à l'adhérent en cas de dépassement de la limite hard

View file

@ -0,0 +1 @@
[Cr@ns] Attention !

View file

@ -0,0 +1 @@
{{to}}

View file

@ -0,0 +1,32 @@
Bonjour {{proprio}},
Nous t'informons que ta (tes) machine(s) envoie(nt) une quantité
importante de données vers l'extérieur ({{upload}} Mo en 24 heures).
*Ce message t'est envoyé à titre informatif, il ne te sanctionne pas.*
Il signifie que tu as envoyé plus de 300 Mo au cours des dernières 24
heures. Cela peut venir du fait que, *par exemple*, tu essaies
d'envoyer des fichiers de grosse taille à l'extérieur de la zone
crans, ou encore que tu as fait une utilisation importante de
logiciels envoyant une très grande quantité de petites données
(vidéo-conférence par exemple). Il peut y avoir d'autres raisons.
Si cela continuait, et que tu dépassais la limite acceptable des 3789
Mo sur 24 heures, ton débit serait automatiquement fortement limité pour
une durée de 24 heures. Il t'appartient donc de surveiller cela de
plus près et de faire en sorte que tes machines n'uploadent pas de
manière excessive à l'avenir.
Pour plus d'informations, tu peux consulter la page:
http://wiki.crans.org/VieCrans/DéconnexionPourUpload
Si tu as des questions, contacte disconnect@crans.org
N.B. : L'upload consiste en l'envoi de données vers des machines n'étant
pas branchées sur le CRANS.
--
Disconnect team

View file

@ -35,6 +35,8 @@ sys.path.append('/usr/scripts/surveillance/fiche_deconnexion')
from generate import generate_ps from generate import generate_ps
from affich_tools import tableau from affich_tools import tableau
import mail as mail_module
# ldap # ldap
ldap = crans_ldap() ldap = crans_ldap()
@ -237,7 +239,7 @@ for elupload, eltype, elid in uploadeurs:
################################ ################################
mail = connectsmtp() mail = connectsmtp()
corps = config.mails.upload.message_hard % {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom()} corps = mail_module.generate('upload_hard', {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom(), 'lang_info':'English version below'}).as_string()
corps = corps.encode('utf-8') corps = corps.encode('utf-8')
mail.sendmail(upload.expediteur, proprio.email(), corps) mail.sendmail(upload.expediteur, proprio.email(), corps)
@ -296,7 +298,7 @@ for elupload, eltype, elid in uploadeurs:
################################ ################################
mail = connectsmtp() mail = connectsmtp()
corps = config.mails.upload.message_soft % {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom()} corps = mail_module.generate('upload_soft', {'from': upload.expediteur, 'to': proprio.email(), 'upload': elupload, 'proprio': proprio.Nom(), 'lang_info':'English version below'}).as_string()
corps = corps.encode('utf-8') corps = corps.encode('utf-8')
mail.sendmail(upload.expediteur, proprio.email(), corps) mail.sendmail(upload.expediteur, proprio.email(), corps)