diff --git a/Back-End/N3wtSchool/settings.py b/Back-End/N3wtSchool/settings.py
index ef5315e..bc75281 100644
--- a/Back-End/N3wtSchool/settings.py
+++ b/Back-End/N3wtSchool/settings.py
@@ -65,7 +65,7 @@ MIDDLEWARE = [
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
- 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'N3wtSchool.middleware.ContentSecurityPolicyMiddleware'
]
@@ -230,21 +230,9 @@ EMAIL_HOST_PASSWORD=jsonObject['password']
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False
-EMAIL_INSCRIPTION_SUBJECT = '[N3WT-SCHOOL] Dossier Inscription'
-EMAIL_INSCRIPTION_CORPUS = """Bonjour,
-Afin de procéder à l'inscription de votre petit bout, vous trouverez ci-joint le lien vers la page d'authentification : """ + BASE_URL + """/users/login
-S'il s'agit de votre première connexion, veuillez procéder à l'activation de votre compte : """ + BASE_URL + """/users/subscribe
-identifiant = %s
-Cordialement,
-"""
-
-EMAIL_RELANCE_SUBJECT = '[N3WT-SCHOOL] Relance - Dossier Inscription'
-EMAIL_RELANCE_CORPUS = 'Bonjour,\nN\'ayant pas eu de retour de votre part, nous vous renvoyons le lien vers le formulaire d\'inscription : ' + BASE_URL + '/users/login\nCordialement'
-EMAIL_REINIT_SUBJECT = 'Réinitialisation du mot de passe'
-EMAIL_REINIT_CORPUS = 'Bonjour,\nVous trouverez ci-joint le lien pour réinitialiser votre mot de passe : ' + BASE_URL + '/users/password/reset?uuid=%s\nCordialement'
DOCUMENT_DIR = 'documents'
diff --git a/Back-End/Subscriptions/mailManager.py b/Back-End/Subscriptions/mailManager.py
index 02d3826..b783d0c 100644
--- a/Back-End/Subscriptions/mailManager.py
+++ b/Back-End/Subscriptions/mailManager.py
@@ -1,57 +1,68 @@
-from django.core.mail import send_mail
+from django.core.mail import send_mail, EmailMultiAlternatives, EmailMessage
+from django.template.loader import render_to_string
+from django.utils.html import strip_tags
import re
from N3wtSchool import settings
def envoieReinitMotDePasse(recipients, code):
- send_mail(
- settings.EMAIL_REINIT_SUBJECT,
- settings.EMAIL_REINIT_CORPUS%(str(code)),
- settings.EMAIL_HOST_USER,
- [recipients],
- fail_silently=False,
- )
+ errorMessage = ''
+ try:
+ EMAIL_REINIT_SUBJECT = 'Réinitialisation du mot de passe'
+ context = {
+ 'BASE_URL': settings.BASE_URL,
+ 'code': str(code)
+ }
+ subject = EMAIL_REINIT_SUBJECT
+ html_message = render_to_string('emails/resetPassword.html', context)
+ plain_message = strip_tags(html_message)
+ from_email = settings.EMAIL_HOST_USER
+ send_mail(subject, plain_message, from_email, [recipients], html_message=html_message)
+ except Exception as e:
+ errorMessage = str(e)
+
+ return errorMessage
+
def sendRegisterForm(recipients):
errorMessage = ''
try:
print(f'{settings.EMAIL_HOST_USER}')
- send_mail(
- settings.EMAIL_INSCRIPTION_SUBJECT,
- settings.EMAIL_INSCRIPTION_CORPUS%[recipients],
- settings.EMAIL_HOST_USER,
- [recipients],
- fail_silently=False,
- )
+ # Préparation du contexte pour le template
+ EMAIL_INSCRIPTION_SUBJECT = '[N3WT-SCHOOL] Dossier Inscription'
+ context = {
+ 'BASE_URL': settings.BASE_URL,
+ 'email': recipients
+ }
+
+ subject = EMAIL_INSCRIPTION_SUBJECT
+ html_message = render_to_string('emails/inscription.html', context)
+ plain_message = strip_tags(html_message)
+ from_email = settings.EMAIL_HOST_USER
+
+ send_mail(subject, plain_message, from_email, [recipients], html_message=html_message)
+
except Exception as e:
errorMessage = str(e)
-
+
return errorMessage
def envoieRelanceDossierInscription(recipients, code):
+ EMAIL_RELANCE_SUBJECT = '[N3WT-SCHOOL] Relance - Dossier Inscription'
+ EMAIL_RELANCE_CORPUS = 'Bonjour,\nN\'ayant pas eu de retour de votre part, nous vous renvoyons le lien vers le formulaire d\'inscription : ' + BASE_URL + '/users/login\nCordialement'
errorMessage = ''
try:
send_mail(
- settings.EMAIL_RELANCE_SUBJECT,
- settings.EMAIL_RELANCE_CORPUS%str(code),
+ EMAIL_RELANCE_SUBJECT,
+ EMAIL_RELANCE_CORPUS%str(code),
settings.EMAIL_HOST_USER,
[recipients],
fail_silently=False,
)
except Exception as e:
errorMessage = str(e)
-
+
return errorMessage
-
-def envoieSEPA(recipients, ref):
- send_mail(
- settings.EMAIL_SEPA_SUBJECT%str(ref),
- settings.EMAIL_SEPA_CORPUS,
- settings.EMAIL_HOST_USER,
- [recipients],
- fail_silently=False,
- )
-
def isValid(message, fiche_inscription):
# Est-ce que la référence du dossier est VALIDE
subject = message.subject
diff --git a/Back-End/Subscriptions/templates/emails/inscription.html b/Back-End/Subscriptions/templates/emails/inscription.html
new file mode 100644
index 0000000..e0daed5
--- /dev/null
+++ b/Back-End/Subscriptions/templates/emails/inscription.html
@@ -0,0 +1,52 @@
+
+
+
+
+ Confirmation d'inscription
+
+
+
+
+
+
+
Bonjour,
+
Nous vous confirmons la réception de votre demande d'inscription, vous trouverez ci-joint le lien vers la page d'authentification : {{BASE_URL}}/users/login
+
S'il s'agit de votre première connexion, veuillez procéder à l'activation de votre compte à cette url : {{BASE_URL}}/users/subscribe
+
votre identifiant est : {{ email }}
+
Merci de compléter votre dossier d'inscription en suivant les instructions fournies.
+
Cordialement,
+
L'équipe N3wt School
+
+
+
+
+
\ No newline at end of file
diff --git a/Back-End/Subscriptions/templates/emails/resetPassword.html b/Back-End/Subscriptions/templates/emails/resetPassword.html
new file mode 100644
index 0000000..dc46047
--- /dev/null
+++ b/Back-End/Subscriptions/templates/emails/resetPassword.html
@@ -0,0 +1,49 @@
+
+
+
+
+ Confirmation d'inscription
+
+
+
+
+
+
\ No newline at end of file