Commit b9fadbfa authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue
Browse files

[config/upload] On améliore les mails.

 * On échappe les headers
 * On évite de mettre aid= quand c'est un club qui se fait sanctionner
parent 0e115656
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from email.header import Header
""" 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: [CRANS] Attention !!
message_soft = u"""From: %%(from)s
To: %%(to)s
Subject: %(subject)s
Content-Type: text/plain; charset="utf-8"
Bonjour %(proprio)s,
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).
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.*
......@@ -40,18 +42,57 @@ 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"""
Disconnect team""" % {'subject': Header('[Cr@ns] Attention !', 'utf-8')}
class Message_adherent_soft(object):
template = u"""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 serais 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"""
def __init__(self):
self.subject = u"[Cr@ns] Attention !"
#: Envoyé à l'adhérent en cas de dépassement de la limite hard
message_hard = u"""From: %(from)s
To: %(to)s
Subject: [CRANS] Limitation temporaire de ton débit montant.
message_hard = u"""From: %%(from)s
To: %%(to)s
Subject: %(subject)s
Content-Type: text/plain; charset="utf-8"
Bonjour %(proprio)s,
Bonjour %%(proprio)s,
Ton débit à été temporairement limité en raison de l'envoi trop
important de données vers l'extérieur (%(upload)s Mo en 24h).
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.
......@@ -67,7 +108,7 @@ 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"""
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é)
message_disconnect_soft = u"""From: %(from)s
......@@ -86,7 +127,7 @@ To: %(to)s
Subject: %(proprio)s a =?iso-8859-1?Q?=E9t=E9=20brid=E9?=
Content-Type: text/plain; charset="utf-8"
%(proprio)s (aid=%(aid)s) a été limité en débit montant du fait d'un
%(proprio)s (%(id)s) a été limité en débit montant du fait d'un
upload excessif (%(upload)s Mo).
Ses machines ont été aperçues pour la dernière fois à ces endroits :
......
......@@ -254,7 +254,11 @@ for elupload, eltype, elid in uploadeurs:
# On envoie un mail à disconnect
################################
if upload.disconnect_mail_hard:
corps = config.mails.upload.message_disconnect_hard % {'from': upload.expediteur, 'to': upload.expediteur, 'upload': elupload, 'proprio': proprio.Nom(), 'mdc': mdcf, 'chambre': proprio.chbre(), 'aid':proprio.id()}
if eltype == "club":
theid = "cid="
else:
theid = "aid="
corps = config.mails.upload.message_disconnect_hard % {'from': upload.expediteur, 'to': upload.expediteur, 'upload': elupload, 'proprio': proprio.Nom(), 'mdc': mdcf, 'chambre': proprio.chbre(), 'id': theid + proprio.id()}
corps = corps.encode('utf-8')
mail.sendmail(upload.expediteur, upload.expediteur, corps)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment