From 7b60ba246c4782c268a2b8ea7e5d9b2eb02b2846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ch=C3=A9rifBALDE?= Date: Sun, 14 Aug 2022 19:41:15 +0200 Subject: [PATCH] 14/08/22 - 19h30 --- GlobalVariable.py | 15 +- email_mgt.py | 607 +++++++--------------------------------------- 2 files changed, 95 insertions(+), 527 deletions(-) diff --git a/GlobalVariable.py b/GlobalVariable.py index b11e025..fdebc26 100644 --- a/GlobalVariable.py +++ b/GlobalVariable.py @@ -21,6 +21,12 @@ YTUBES_CONNECTION_STRING = "mongodb://localhost:27017/" YTUBES_client = MongoClient(YTUBES_CONNECTION_STRING) YTUBES_dbname = YTUBES_client['mysyvideodb'] +""" +Cette variable definit l'environnement de travail +""" + +#MYSY_ENV = "PROD" +MYSY_ENV = "DEV" ''' @@ -110,4 +116,11 @@ HELP_WORD_QUERY_LIMIT = 3 ''' Les formats d'image accepté ''' -IMG_FORMAT=['jpg', 'jpeg', 'png', 'jpe'] \ No newline at end of file +IMG_FORMAT=['jpg', 'jpeg', 'png', 'jpe'] + + + +''' +Sendinblue clea API +''' +SENDINBLUE_API_KEY = "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" \ No newline at end of file diff --git a/email_mgt.py b/email_mgt.py index 8107a80..a4c22ad 100644 --- a/email_mgt.py +++ b/email_mgt.py @@ -1,3 +1,4 @@ +from __future__ import print_function import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText @@ -10,6 +11,14 @@ import sys, os import prj_common as mycommon import GlobalVariable as MYSY_GV +import sib_api_v3_sdk +from sib_api_v3_sdk.rest import ApiException + +configuration = sib_api_v3_sdk.Configuration() +configuration.api_key['api-key'] = MYSY_GV.SENDINBLUE_API_KEY + +api_instance = sib_api_v3_sdk.TransactionalEmailsApi(sib_api_v3_sdk.ApiClient(configuration)) + locale.setlocale(category=locale.LC_ALL, locale='fr_FR.utf8') @@ -38,103 +47,24 @@ def send_user_account_mail(message, account_mail): msg['Subject'] = 'MySy Training : Activez votre compte ' msg['From'] = 'contact@mysy-training.com' msg['To'] = str(account_mail) + to = [{"email":str(account_mail)}] + bcc = [{"email": "contact@mysy-training.com"}] + + my_url = "" + if (MYSY_GV.MYSY_ENV == "PROD"): + my_url = "https://www.mysy-training.com/myclass/api/valide_user_account/"+str(message) + elif (MYSY_GV.MYSY_ENV == "DEV"): + my_url = "http://localhost:5000/myclass/api/valide_user_account/"+str(message) - html = ''' - - - - -
-

- Mysy Training Logo

-
-
-
-
- Bonjour -
- Vous avez fait une demande de création de profil sur mysy-training.com.
-Pour activer votre compte, veuillez cliquer sur le lien ci-dessous : -

- - - -
- NB : -
    -
  • Si vous n'arrivez pas jusqu'au bout de la procédure d'inscription, il faudra recommencer l'inscription depuis le début (le lien d’activation n'est valable que pour la procédure en cours).
  • -
  • Si vous n'avez pas demandé l'ouverture d'un compte MYSY Training veuillez ignorer cet e-mail.
  • -
  • Si vous avez des questions ou des commentaires, contactez-nous sur les plateformes suivantes : - - Facebook -   - - - LinkedIn -   - - - Twitter -   + send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=15, params={"mysyurl": my_url, + "user_name": str(account_mail), + "id": "122CSR_id"}, to=to, bcc=bcc + ) -
  • -
-
- -

Cordialement
- MySy Training Technology
- Contact : +337 69 20 39 45
- Email : contact@mysy-training.com
-

-

-
- -
- -Ce mail a été envoyé à : {destinataire}" -Ce mail vous est adressé par MYSY Training dont le siège social est situé au 1 Cr du Havre, 75008 Paris. -Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 modifiée et au Règlement Général sur la Protection des Données Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 dit RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation et d'opposition au traitement de vos données. Vous pouvez exercer vos droits par courrier postal envoyé à : MYSY Training 1 Cr du Havre, 75008 Paris ou par mail : contact@mysy-training.com. -
-
- - '''.format(code=tomorrow_day, objId=message, destinataire=account_mail) - - - html_mime = MIMEText(html, 'html') - - # msg.attach(texte_mime) - msg.attach(html_mime) - - print("html_mime ="+str(html)) - - toaddr = str(account_mail) - cc = ['contact@mysy-training.com'] - toaddrs = [toaddr] + cc - - # msg.attach(MIMEText(open(filename).read())) - - with smtplib.SMTP(smtp_address, port) as server: - server.starttls() # Secure the connection - - server.login(user, password) - server.sendmail(sender, toaddrs, msg.as_string()) - mycommon.myprint("mail successfully sent to "+str(toaddrs)) + api_response = api_instance.send_transac_email(send_smtp_email) + print(api_response) return True @@ -143,7 +73,6 @@ Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 mycommon.myprint(str(inspect.stack()[0][3]) + " -" + str(e) + " - ERRORRRR AT Line : " + str(exc_tb.tb_lineno)) return False, " Impossible d'envoyer l'email de notification " - ''' Cette fonction envoie un mail de remerciement apres l'activation du compte d'un utilisateur @@ -163,104 +92,23 @@ def send_user_thks_mail(message, account_mail): msg['From'] = 'contact@mysy-training.com' msg['To'] = str(account_mail) - html = ''' - - - - - - - -
-

- Mysy Training Logo

-
-
-
-
- Bonjour -
+ to = [{"email": str(account_mail)}] + bcc = [{"email": "contact@mysy-training.com"}] - Vous venez d'activer votre compte sur le moteur de recherche MySy-Training.
- le processus de création de compte sur mysy-training.com s'est déroulé avec succès.
-

- Pour accéder aux services proposés par MYSY Training, vous pouvez vous connecter en utilisant votre adresse mail et votre mot de passe.
-En cas de perte de votre mot de passe, veuillez utiliser la fonction « MOT DE PASSE OUBLIE ? » sur la page de connexion et les informations requises seront envoyées à l'adresse électronique que vous avez indiquée lors de l'inscription.
-

-

-MySy Training Technology est un moteur de recherche exclusivement dédié à la formation.
-Il met le profil de l’utilisateur au cœur du système pour trouver la formation la plus adaptée à sa situation.
-Des algorithmes spécifiquement conçus pour le monde de la formation nous permettent d’adresser un large éventail de profils.
-Quel que soit votre situation, que vous soyez malvoyant, mal entendant, tout simplement à la recherche de la formation qui prend en compte vos besoins, le moteur de recherche MySy-T est là pour vous.
-

-Cordialement. + my_url = "" + if (MYSY_GV.MYSY_ENV == "PROD"): + my_url = "https://www.mysy-training.com/myclass/api/valide_user_account/" + str(message) + elif (MYSY_GV.MYSY_ENV == "DEV"): + my_url = "http://localhost:5000/myclass/api/valide_user_account/" + str(message) -
- MySy Training Technology
-Contact : +337 69 20 39 45
-Email : contact@mysy-training.com
-
-
-
- - - Suivez l'actualité des formations depuis nos medias :
+ send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=16, params={ "user_name": str(account_mail),}, + to=to, bcc=bcc ) - - Facebook -   - - - LinkedIn -   - - - Twitter -   - -
-
- -
- - -
- -
- -
- -Ce mail a été envoyé à : {destinataire}" -Ce mail vous est adressé par MYSY Training dont le siège social est situé au 1 Cr du Havre, 75008 Paris. -Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 modifiée et au Règlement Général sur la Protection des Données Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 dit RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation et d'opposition au traitement de vos données. Vous pouvez exercer vos droits par courrier postal envoyé à : MYSY Training 1 Cr du Havre, 75008 Paris ou par mail : contact@mysy-training.com. -
- - - - '''.format(code=tomorrow_day, objId=message, destinataire=account_mail) - - html_mime = MIMEText(html, 'html') - - # msg.attach(texte_mime) - msg.attach(html_mime) - - print("html_mime =" + str(html)) - - toaddr = str(account_mail) - cc = ['contact@mysy-training.com'] - toaddrs = [toaddr] + cc - - # msg.attach(MIMEText(open(filename).read())) - - with smtplib.SMTP(smtp_address, port) as server: - server.starttls() # Secure the connection - - server.login(user, password) - server.sendmail(sender, toaddrs, msg.as_string()) - mycommon.myprint("mail successfully sent to " + str(toaddrs)) + api_response = api_instance.send_transac_email(send_smtp_email) + print(api_response) return True @@ -270,7 +118,6 @@ Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 return False, " Impossible d'envoyer l'email de notification " - def send_partner_account_mail(message, account_mail): try: @@ -280,6 +127,13 @@ def send_partner_account_mail(message, account_mail): receiver = [str(account_mail)] toaddrs = ", ".join(receiver) + my_url = "" + if (MYSY_GV.MYSY_ENV == "PROD"): + my_url = "https://www.mysy-training.com/myclass/api/valide_partnair_account/" + str(message) + elif (MYSY_GV.MYSY_ENV == "DEV"): + my_url = "http://localhost:5000/myclass/api/valide_partnair_account/"+str(message) + + print(" mail enoye à toaddrs : "+toaddrs) @@ -293,129 +147,17 @@ def send_partner_account_mail(message, account_mail): msg['To'] = str(toaddrs) msg['Cc'] = 'contact@mysy-training.com' - print(" mail enoye à toaddrs : " + str(msg['To'])) - - html = ''' - - - - - - - -
-

- Mysy Training Logo

-
-
-
-
- Bonjour -
- - Vous venez de créer votre compte PRO sur le moteur de recherche MySy-Training.
- le processus de création du compte PRO sur mysy-training.com s'est déroulé avec succès.
-

- La securité des vos données est primordiale pour nous. Une fois que vous aurez activez votre compte vous allez recevoir : -

  • - Une clé secrète
  • -
  • - Un nouveau mot de passe. Nous vous invitons à changer ce mot de passe depuis votre nouvelle espace PRO. -
  • - -

    - Pour activer votre compte, veuillez cliquer sur le lien ci-dessous : -

    - - -

    - + to = [{"email": str(account_mail)}] + bcc = [{"email": "contact@mysy-training.com"}] -

    - Important : Pour vous connecter entant que PRO sur le site mysy-training.com, la clé secrete et le mot de passe sont necessaires. -

    - -

    - Merci d'avoir rejoint MySy. - Cordialement. -

    - -
    - MySy Training Technology
    - Contact : +337 69 20 39 45
    - Email : contact@mysy-training.com
    - -
    -
    -
    - - - - Suivez l'actualité des formations depuis nos medias :
    - - - Facebook -   - - - LinkedIn -   - - - Twitter -   - -
    -
    - -
    - - -
    - -
    - -
    - - Ce mail a été envoyé à : {destinataire}" - Ce mail vous est adressé par MYSY Training dont le siège social est situé au 1 Cr du Havre, 75008 Paris. - Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 modifiée et au Règlement Général sur la Protection des Données Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 dit RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation et d'opposition au traitement de vos données. Vous pouvez exercer vos droits par courrier postal envoyé à : MYSY Training 1 Cr du Havre, 75008 Paris ou par mail : contact@mysy-training.com. -
    - - - - - - '''.format(code=tomorrow_day, objId=message, destinataire=account_mail) - - html_mime = MIMEText(html, 'html') - - # msg.attach(texte_mime) - msg.attach(html_mime) - - print("html_mime ="+str(html)) - - - with smtplib.SMTP(smtp_address, port) as server: - server.starttls() # Secure the connection - - server.login(user, password) - server.sendmail(sender, toaddrs, msg.as_string()) - print("mail successfully sent") + send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=17, params={"mysyurl": my_url, + "user_name": str(account_mail), + }, to=to, bcc=bcc + ) + api_response = api_instance.send_transac_email(send_smtp_email) + print(api_response) return True except Exception as e: @@ -442,70 +184,25 @@ def send_user_init_pwd_mail(token, account_mail): msg['From'] = 'contact@mysy-training.com' msg['To'] = str(account_mail) - html = ''' + my_url = "" + if (MYSY_GV.MYSY_ENV == "PROD"): + my_url = "https://www.mysy-training.com/ResetUserPwd/" + str(token) + elif (MYSY_GV.MYSY_ENV == "DEV"): + my_url = "http://localhost:3009/ResetUserPwd/" + str(token) - - - -
    -

    - Mysy Training Logo

    -
    -
    -
    -
    - Bonjour -
    - Nous avons reçu une demande de réinitialisation du mot de passe de votre compte MySy-Training.
    - Veuillez cliquer sur le bouton ci-dessous pour le réinitialiser. - .
    - -
    - - -
    - -

    Cordialement
    - MySy Training Technology
    - Contact : +337 69 20 39 45
    - Email : contact@mysy-training.com
    -

    -

    -
    + to = [{"email": str(account_mail)}] + bcc = [{"email": "contact@mysy-training.com"}] -
    - - + send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=19, params={"mysyurl": my_url, + "user_name": str(account_mail), + }, to=to, bcc=bcc + ) - '''.format(code=tomorrow_day, objId=token) - - html_mime = MIMEText(html, 'html') - - # msg.attach(texte_mime) - msg.attach(html_mime) - - print("html_mime =" + str(html)) - - toaddr = str(account_mail) - cc = ['contact@mysy-training.com'] - toaddrs = [toaddr] + cc - - # msg.attach(MIMEText(open(filename).read())) - - with smtplib.SMTP(smtp_address, port) as server: - server.starttls() # Secure the connection - - server.login(user, password) - server.sendmail(sender, toaddrs, msg.as_string()) - mycommon.myprint("mail successfully sent to " + str(toaddrs)) + api_response = api_instance.send_transac_email(send_smtp_email) + print(api_response) return True @@ -529,71 +226,22 @@ def send_user_delete_account(token, account_mail): msg['From'] = 'contact@mysy-training.com' msg['To'] = str(account_mail) - html = ''' + my_url = "" + if( MYSY_GV.MYSY_ENV == "PROD"): + my_url = "https://www.mysy-training.com/DeleteUserAccount/" + str(token) + elif (MYSY_GV.MYSY_ENV == "DEV"): + my_url = "http://localhost:3009/DeleteUserAccount/" + str(token) - - - -
    -

    - Mysy Training Logo

    -
    -
    -
    -
    - Bonjour -
    + to = [{"email": str(account_mail)}] + bcc = [{"email": "contact@mysy-training.com"}] - Nous avons reçu une demande de suppression de votre compte MySy-Training.
    - Si vous n'etes pas l'auteur de la demande, merci de contacter le service support de MySy. - .
    -Le échéant, vous pouvez finaliser la suppression de votre compte en cliquant sur le lien ci-dessous.
    + send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=20, params={"mysyurl": my_url, + "user_name": str(account_mail), + }, to=to, bcc=bcc + ) -Important : Cette action entrenerait la suppresion definitive de vos information. -
    - - -
    - -

    Cordialement
    - MySy Training Technology
    - Contact : +337 69 20 39 45
    - Email : contact@mysy-training.com
    -

    -

    -
    - -
    - - - - '''.format(code=tomorrow_day, objId=token) - - html_mime = MIMEText(html, 'html') - - # msg.attach(texte_mime) - msg.attach(html_mime) - - print("html_mime =" + str(html)) - - toaddr = str(account_mail) - cc = ['contact@mysy-training.com'] - toaddrs = [toaddr] + cc - - # msg.attach(MIMEText(open(filename).read())) - - with smtplib.SMTP(smtp_address, port) as server: - server.starttls() # Secure the connection - - server.login(user, password) - server.sendmail(sender, toaddrs, msg.as_string()) - mycommon.myprint("mail successfully sent to " + str(toaddrs)) + api_response = api_instance.send_transac_email(send_smtp_email) + print(api_response) return True @@ -696,107 +344,14 @@ def Pro_Account_Token_Pass(account_mail, my_token): cle = my_token print(" mail enoye à toaddrs : " + str(msg['To'])) - html = ''' - - - - - - -
    -

    - Mysy Training Logo

    -
    -
    -
    -
    - Bonjour -
    + to = [{"email": str(account_mail)}] + bcc = [{"email": "contact@mysy-training.com"}] - Vous venez d'activer votre compte PRO sur le moteur de recherche MySy-Training.
    -
    - Pour vous connecter et profiter de nos services, voici vos identifiants : -

    + send_smtp_email = sib_api_v3_sdk.SendSmtpEmail(template_id=18, params={"user_name": str(account_mail), "secrete":str(my_token) }, + to=to, bcc=bcc) -

  • - Email de connexion : l'email de connexion correspond à l'adresse de cette boite email. -
  • - -
  • - Votre clé secrète : {cle}
  • - - -
  • - url de connexion : https://www.mysy-training.com/PartnerLogin -
  • - - - -

    - Merci d'avoir rejoint MySy. -Cordialement. -

    - -
    - MySy Training Technology
    -Contact : +337 69 20 39 45
    -Email : contact@mysy-training.com
    - -
    -
    -
    - - - - Suivez l'actualité des formations depuis nos medias :
    - - - Facebook -   - - - LinkedIn -   - - - Twitter -   - -
    -
    - -
    - - -
    - -
    - -
    - -Ce mail a été envoyé à : {destinataire}" -Ce mail vous est adressé par MYSY Training dont le siège social est situé au 1 Cr du Havre, 75008 Paris. -Conformément à la Loi Informatique et Liberté Loi n° 78-17 du 6 janvier 1978 modifiée et au Règlement Général sur la Protection des Données Règlement (UE) 2016/679 du Parlement européen et du Conseil du 27 avril 2016 dit RGPD, vous disposez d'un droit d'accès, de rectification, d'effacement, de limitation et d'opposition au traitement de vos données. Vous pouvez exercer vos droits par courrier postal envoyé à : MYSY Training 1 Cr du Havre, 75008 Paris ou par mail : contact@mysy-training.com. -
    - - - - - - '''.format(code=tomorrow_day, destinataire=account_mail, cle=cle) - html_mime = MIMEText(html, 'html') - - # msg.attach(texte_mime) - msg.attach(html_mime) - - print("html_mime =" + str(html)) - - with smtplib.SMTP(smtp_address, port) as server: - server.starttls() # Secure the connection - - server.login(user, password) - server.sendmail(sender, toaddrs, msg.as_string()) - print("mail successfully sent") + api_response = api_instance.send_transac_email(send_smtp_email) + print(api_response) return True except Exception as e: