import Chemins from Utils.UTILS_Traduction import _ import wx import os import time import datetime from threading import Thread, Lock import GestionDB from Utils import UTILS_Parametres from Utils import UTILS_Fichiers from Utils import UTILS_Customize from Utils import UTILS_Portail_synchro from Dlg.DLG_Portail_config import LISTE_DELAIS_SYNCHRO CUSTOMIZE = UTILS_Customize.Customize() class Abort(Exception): pass class Serveur(Thread): def __init__(self, parent): Thread.__init__(self) self.parent = parent self.start_synchro = False self.synchro_en_cours = False self.active = False def Start(self): if self.IsRunning() == False : self.keepGoing = self.active = True
def Envoyer_mail(self, commentaires="", joindre_journal=False): """ Envoi d'un mail avec pièce jointe """ from Utils import UTILS_Envoi_email # Expéditeur dictExp = self.GetAdresseExpDefaut() if dictExp == None : dlg = wx.MessageDialog(self, _(u"Vous devez d'abord saisir une adresse d'expéditeur depuis le menu Paramétrage > Adresses d'expédition d'Emails. Sinon, postez votre rapport de bug dans le forum de Noethys."), _(u"Erreur"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return False moteur = dictExp["moteur"] adresseExpediteur = dictExp["adresse"] serveur = dictExp["smtp"] port = dictExp["port"] auth = dictExp["auth"] startTLS = dictExp["startTLS"] motdepasse = dictExp["motdepasse"] utilisateur = dictExp["utilisateur"] parametres = dictExp["parametres"] if adresseExpediteur == None : dlg = wx.MessageDialog(self, _(u"L'adresse d'expédition ne semble pas valide. Veuillez la vérifier."), _(u"Envoi impossible"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return False # Attacher le journal d'erreurs fichiers = [] if joindre_journal == True : customize = UTILS_Customize.Customize() nom_journal = UTILS_Fichiers.GetRepUtilisateur(customize.GetValeur("journal", "nom", "journal.log")) fichiers.append(nom_journal) # Préparation du message IDrapport = datetime.datetime.now().strftime("%Y%m%d%H%M%S") texteRapport = self.ctrl_rapport.GetValue().replace("\n","<br/>") if len(commentaires) == 0 : commentaires = _(u"Aucun") texte_html = _(u"<u>Rapport de bug %s :</u><br/><br/>%s<br/><u>Commentaires :</u><br/><br/>%s") % (IDrapport, texteRapport, commentaires) sujet = _(u"Rapport de bug Noethys n°%s") % IDrapport message = UTILS_Envoi_email.Message(destinataires=["noe" + "thys" + "@" + "gm" + "ail" + ".com",], sujet=sujet, texte_html=texte_html, fichiers=fichiers) # Envoi du mail try : messagerie = UTILS_Envoi_email.Messagerie(backend=moteur, hote=serveur, port=port, utilisateur=utilisateur, motdepasse=motdepasse, email_exp=adresseExpediteur, use_tls=startTLS, parametres=parametres) messagerie.Connecter() messagerie.Envoyer(message) messagerie.Fermer() except Exception as err : dlg = wx.MessageDialog(self, _(u"Le message n'a pas pu être envoyé. Merci de poster votre rapport de bug sur le forum de Noethys.\n\nErreur : %s !") % err, _(u"Envoi impossible"), wx.OK | wx.ICON_EXCLAMATION) dlg.ShowModal() dlg.Destroy() return False # Message de confirmation dlg = wx.MessageDialog(self, _(u"Le rapport d'erreur a été envoyé avec succès."), _(u"Rapport envoyé"), wx.OK | wx.ICON_INFORMATION) dlg.ShowModal() dlg.Destroy() return True