Ejemplo n.º 1
0
    def Envoyer(self):
        # Demande de confirmation
        dlg = wx.MessageDialog(self, _(u"Confirmez-vous l'envoi du message vers %d numéros ?") % len(self.dictDonnees["liste_telephones"]), _(u"Confirmation"), wx.YES_NO|wx.YES_DEFAULT|wx.CANCEL|wx.ICON_QUESTION)
        reponse = dlg.ShowModal()
        dlg.Destroy()
        if reponse != wx.ID_YES :
            return False

        # CONTACT EVERYONE BY ORANGE BUSINESS
        if self.dictDonnees["plateforme"] == "contact_everyone" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            for ligne in self.dictDonnees["message"].split("\n") :
                liste_lignes.append(u"T-%s" % ligne)

            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"#-%s" % numero)

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Envoi de l'email
            try :
                etat = UTILS_Envoi_email.Envoi_mail(
                    adresseExpediteur=dictAdresse["adresse"],
                    listeDestinataires=[self.dictDonnees["orange_adresse_destination_email"],],
                    sujetMail=self.dictDonnees["objet"],
                    texteMail=_(u"Envoi de SMS"),
                    listeFichiersJoints=[cheminFichier,],
                    serveur=dictAdresse["smtp"],
                    port=dictAdresse["port"],
                    avecAuthentification=dictAdresse["auth"],
                    avecStartTLS=dictAdresse["startTLS"],
                    motdepasse=dictAdresse["motdepasse"],
                    utilisateur=dictAdresse["utilisateur"],
                    )
            except Exception, err:
                print (err,)
                err = str(err).decode("iso-8859-15")
                dlgErreur = wx.MessageDialog(None, _(u"Une erreur a été détectée dans l'envoi de l'Email !\n\nErreur : %s") % err, _(u"Erreur"), wx.OK | wx.ICON_ERROR)
                dlgErreur.ShowModal()
                dlgErreur.Destroy()
                return False
Ejemplo n.º 2
0
    def Envoyer(self):
        # Demande de confirmation
        dlg = wx.MessageDialog(self, _(u"Confirmez-vous l'envoi du message vers %d numéros ?") % len(self.dictDonnees["liste_telephones"]), _(u"Confirmation"), wx.YES_NO|wx.YES_DEFAULT|wx.CANCEL|wx.ICON_QUESTION)
        reponse = dlg.ShowModal()
        dlg.Destroy()
        if reponse != wx.ID_YES :
            return False

        # --------------------- CONTACT EVERYONE BY ORANGE BUSINESS ---------------------
        if self.dictDonnees["plateforme"] == "contact_everyone" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            for ligne in self.dictDonnees["message"].split("\n") :
                liste_lignes.append(u"T-%s" % ligne)

            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"#-%s" % numero)

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Préparation du message
            message = UTILS_Envoi_email.Message(destinataires=[self.dictDonnees["orange_adresse_destination_email"],],
                                                sujet=self.dictDonnees["objet"], texte_html=_(u"Envoi de SMS"), fichiers=[cheminFichier,])

            # Envoi de l'email
            resultat = self.EnvoyerEmail(message=message, dictAdresse=dictAdresse)
            if resultat == False:
                return False

        # --------------------- CLEVER SMS ---------------------
        if self.dictDonnees["plateforme"] == "cleversms" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            message = self.dictDonnees["message"].replace("\n", "")
            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"%s;%s" % (numero, message))

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Préparation du message
            message = UTILS_Envoi_email.Message(destinataires=[self.dictDonnees["cleversms_adresse_destination_email"],],
                                                sujet=self.dictDonnees["objet"], texte_html=_(u"Envoi de SMS"), fichiers=[cheminFichier,])
            # Envoi de l'email
            resultat = self.EnvoyerEmail(message=message, dictAdresse=dictAdresse)
            if resultat == False:
                return False

        # --------------------- CLEVER MULTIMEDIAS ---------------------
        if self.dictDonnees["plateforme"] == "clevermultimedias" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = ["NUM;MESSAGE",]

            message = self.dictDonnees["message"].replace("\n", "")
            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                numero = "+33" + numero[1:]
                liste_lignes.append(u"%s;%s" % (numero, message))

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Préparation du message
            message = UTILS_Envoi_email.Message(destinataires=[self.dictDonnees["clevermultimedias_adresse_destination_email"],],
                                                sujet=self.dictDonnees["objet"], texte_html=_(u"Envoi de SMS"), fichiers=[cheminFichier,])
            # Envoi de l'email
            resultat = self.EnvoyerEmail(message=message, dictAdresse=dictAdresse)
            if resultat == False:
                return False

        # --------------------- MAILJET ---------------------
        if self.dictDonnees["plateforme"] == "mailjet":

            # Récupération token
            api_token = self.dictDonnees["token_sms_mailjet"]
            sender_id = self.dictDonnees["sender_sms_mailjet"]

            # Préparation de l'envoi
            headers = {
                "Authorization": "Bearer {api_token}".format(api_token=api_token),
                "Content-Type": "application/json"
            }
            api_url = "https://api.mailjet.com/v4/sms-send"

            # Envoi des SMS
            message = self.dictDonnees["message"].replace("\n", "")
            nbre_envois_reussis = 0
            for numero in self.dictDonnees["liste_telephones"]:
                numero = numero.replace(".", "")
                numero = "+33" + numero[1:]

                # Création du message JSON
                message_data = {
                    "From": sender_id,
                    "To": numero,
                    "Text": message
                }
                reponse = requests.post(api_url, headers=headers, json=message_data)
                if reponse.ok:
                    nbre_envois_reussis += 1
                else:
                    print("Erreur envoi SMS :", reponse.text)
                    dict_erreur = json.loads(reponse.text)
                    texte_erreur = u"Code erreur : %s. Erreur : %s" % (dict_erreur["ErrorCode"], dict_erreur["ErrorMessage"])
                    dlg = DLG_Messagebox.Dialog(self, titre=_(u"Envoi de SMS"), introduction=_(u"L'envoi du SMS vers le numéro %s a rencontré une erreur :") % numero,
                                                detail=texte_erreur, conclusion=_(u"Que souhaitez-vous faire ?"),
                                                icone=wx.ICON_ERROR, boutons=[_(u"Continuer l'envoi"), _(u"Arrêter")])
                    reponse = dlg.ShowModal()
                    dlg.Destroy()
                    if reponse == 1:
                        return False

        # Confirmation d'envoi
        dlg = wx.MessageDialog(self, _(u"Envoi des SMS terminé."), _(u"Confirmation"), wx.OK | wx.ICON_INFORMATION)
        dlg.ShowModal()
        dlg.Destroy()

        return True
Ejemplo n.º 3
0
    def Envoyer(self):
        # Demande de confirmation
        dlg = wx.MessageDialog(self, _(u"Confirmez-vous l'envoi du message vers %d numéros ?") % len(self.dictDonnees["liste_telephones"]), _(u"Confirmation"), wx.YES_NO|wx.YES_DEFAULT|wx.CANCEL|wx.ICON_QUESTION)
        reponse = dlg.ShowModal()
        dlg.Destroy()
        if reponse != wx.ID_YES :
            return False

        # --------------------- CONTACT EVERYONE BY ORANGE BUSINESS ---------------------
        if self.dictDonnees["plateforme"] == "contact_everyone" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            for ligne in self.dictDonnees["message"].split("\n") :
                liste_lignes.append(u"T-%s" % ligne)

            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"#-%s" % numero)

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Préparation du message
            message = UTILS_Envoi_email.Message(destinataires=[self.dictDonnees["orange_adresse_destination_email"],],
                                                sujet=self.dictDonnees["objet"], texte_html=_(u"Envoi de SMS"), fichiers=[cheminFichier,])

            # Envoi de l'email
            resultat = self.EnvoyerEmail(message=message, dictAdresse=dictAdresse)
            if resultat == False:
                return False

        # --------------------- CLEVER SMS ---------------------
        if self.dictDonnees["plateforme"] == "cleversms" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            message = self.dictDonnees["message"].replace("\n", "")
            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"%s;%s" % (numero, message))

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Préparation du message
            message = UTILS_Envoi_email.Message(destinataires=[self.dictDonnees["cleversms_adresse_destination_email"],],
                                                sujet=self.dictDonnees["objet"], texte_html=_(u"Envoi de SMS"), fichiers=[cheminFichier,])
            # Envoi de l'email
            resultat = self.EnvoyerEmail(message=message, dictAdresse=dictAdresse)
            if resultat == False:
                return False

        # --------------------- CLEVER MULTIMEDIAS ---------------------
        if self.dictDonnees["plateforme"] == "clevermultimedias" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = ["NUM;MESSAGE",]

            message = self.dictDonnees["message"].replace("\n", "")
            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                numero = "+33" + numero[1:]
                liste_lignes.append(u"%s;%s" % (numero, message))

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Préparation du message
            message = UTILS_Envoi_email.Message(destinataires=[self.dictDonnees["clevermultimedias_adresse_destination_email"],],
                                                sujet=self.dictDonnees["objet"], texte_html=_(u"Envoi de SMS"), fichiers=[cheminFichier,])
            # Envoi de l'email
            resultat = self.EnvoyerEmail(message=message, dictAdresse=dictAdresse)
            if resultat == False:
                return False




        # Confirmation d'envoi
        dlg = wx.MessageDialog(self, _(u"Envoi des SMS effectué avec succès."), _(u"Confirmation"), wx.OK | wx.ICON_INFORMATION)
        dlg.ShowModal()
        dlg.Destroy()

        return True
Ejemplo n.º 4
0
class Dialog(wx.Dialog, Base):
    def __init__(self, parent):
        wx.Dialog.__init__(self, parent, -1, name="DLG_Envoi_sms", style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.MAXIMIZE_BOX|wx.MINIMIZE_BOX)
        Base.__init__(self)
        self.parent = parent

        titre = _(u"Envoi de SMS")
        intro = _(u"Vous pouvez envoyer ici des SMS aux individus ou familles à condition que votre plateforme d'envoi ait été intégrée à cette fonctionnalité. Consultez la liste des prestataires pris en charge dans la liste déroulante Plateforme de la page des paramètres.")
        self.SetTitle(titre)
        self.ctrl_bandeau = CTRL_Bandeau.Bandeau(self, titre=titre, texte=intro, hauteurHtml=30, nomImage="Images/32x32/Sms.png")

        # Initialisation des pages
        self.InitPages(self)

        self.static_line = wx.StaticLine(self, -1)
        
        self.bouton_aide = CTRL_Bouton_image.CTRL(self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_retour = CTRL_Bouton_image.CTRL(self, texte=_(u"Retour"), cheminImage="Images/32x32/Fleche_gauche.png")
        self.bouton_suite = CTRL_Bouton_image.CTRL(self, texte=_(u"Suite"), cheminImage="Images/32x32/Fleche_droite.png", margesImage=(0, 0, 4, 0), positionImage=wx.RIGHT)
        self.bouton_annuler = CTRL_Bouton_image.CTRL(self, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()
                
        self.Bind(wx.EVT_BUTTON, self.Onbouton_aide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.Onbouton_retour, self.bouton_retour)
        self.Bind(wx.EVT_BUTTON, self.Onbouton_suite, self.bouton_suite)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler, self.bouton_annuler)
        self.Bind(wx.EVT_CLOSE, self.OnClose)

        self.bouton_retour.Enable(False)
        self.nbrePages = len(self.listePages)    
        self.pageVisible = 0
                        
        # Création des pages
        self.Creation_Pages()
        self.GetPage("parametres").MAJ()

    def Creation_Pages(self):
        """ Creation des pages """
        self.dictPages = {}
        index = 0
        for dictPage in self.listePages :
            self.sizer_pages.Add(dictPage["ctrl"], 1, wx.EXPAND, 0)
            if index > 0 :
                dictPage["ctrl"].Show(False)
            index += 1
        self.sizer_pages.Layout()

    def __set_properties(self):
        self.bouton_aide.SetToolTip(wx.ToolTip(_(u"Cliquez ici pour obtenir de l'aide")))
        self.bouton_retour.SetToolTip(wx.ToolTip(_(u"Cliquez ici pour revenir à la page précédente")))
        self.bouton_suite.SetToolTip(wx.ToolTip(_(u"Cliquez ici pour passer à l'étape suivante")))
        self.bouton_annuler.SetToolTip(wx.ToolTip(_(u"Cliquez pour annuler")))
        self.SetMinSize((770, 650))

    def __do_layout(self):
        grid_sizer_base = wx.FlexGridSizer(rows=4, cols=1, vgap=0, hgap=0)
        # Bandeau
        grid_sizer_base.Add(self.ctrl_bandeau, 1, wx.EXPAND, 0)
        
        # Contenu
        sizer_base = wx.BoxSizer(wx.VERTICAL)
        sizer_pages = wx.BoxSizer(wx.VERTICAL)
        grid_sizer_base.Add(sizer_pages, 1, wx.EXPAND, 0)
        grid_sizer_base.Add(self.static_line, 0, wx.LEFT|wx.RIGHT|wx.EXPAND, 10)
        
        # Boutons
        grid_sizer_boutons = wx.FlexGridSizer(rows=1, cols=6, vgap=10, hgap=10)
        grid_sizer_boutons.Add(self.bouton_aide, 0, 0, 0)
        grid_sizer_boutons.Add((20, 20), 0, wx.EXPAND, 0)
        grid_sizer_boutons.Add(self.bouton_retour, 0, 0, 0)
        grid_sizer_boutons.Add(self.bouton_suite, 0, 0, 0)
        grid_sizer_boutons.Add(self.bouton_annuler, 0, wx.LEFT, 10)
        grid_sizer_boutons.AddGrowableCol(1)
        grid_sizer_base.Add(grid_sizer_boutons, 1, wx.ALL|wx.EXPAND, 10)
        grid_sizer_base.AddGrowableRow(1)
        grid_sizer_base.AddGrowableCol(0)
        
        self.SetSizer(grid_sizer_base)
        grid_sizer_base.Fit(self)
        self.Layout()
        self.CenterOnScreen()
        
        self.sizer_pages = sizer_pages

    def Onbouton_aide(self, event):
        from Utils import UTILS_Aide
        UTILS_Aide.Aide("")

    def AfficherPage(self, numPage=0):
        # rend invisible la page affichée
        page = self.listePages[self.pageVisible]["ctrl"]
        page.Sauvegarde()
        page.Show(False)
        # Fait apparaître nouvelle page
        self.pageVisible = numPage
        page = self.listePages[self.pageVisible]["ctrl"]
        page.MAJ()
        page.Show(True)
        self.sizer_pages.Layout()

    def Onbouton_retour(self, event):
        # Affiche nouvelle page
        self.AfficherPage(self.pageVisible - 1)
        # Si on quitte l'avant-dernière page, on active le bouton Suivant
        if self.pageVisible == self.nbrePages-1:
            self.bouton_suite.Enable(True)
            self.bouton_suite.SetImage(Chemins.GetStaticPath("Images/32x32/Valider.png"))
            self.bouton_suite.SetTexte(_(u"Valider"))
        else:
            self.bouton_suite.Enable(True)
            self.bouton_suite.SetImage(Chemins.GetStaticPath("Images/32x32/Fleche_droite.png"))
            self.bouton_suite.SetTexte(_(u"Suite"))
        # Si on revient à la première page, on désactive le bouton Retour
        if self.pageVisible == 0 :
            self.bouton_retour.Enable(False)

    def Onbouton_suite(self, event):
        # Vérifie que les données de la page en cours sont valides
        validation = self.ValidationPages()
        if validation == False : return
        # Si on est déjà sur la dernière page : on termine
        if self.pageVisible == self.nbrePages-1 :
            self.listePages[self.pageVisible]["ctrl"].Sauvegarde()
            self.Terminer()
            return
        # Affiche nouvelle page
        self.AfficherPage(self.pageVisible + 1)
        # Si on arrive à la dernière page, on désactive le bouton Suivant
        if self.pageVisible == self.nbrePages-1 :
            self.bouton_suite.SetImage(Chemins.GetStaticPath("Images/32x32/Valider.png"))
            self.bouton_suite.SetTexte(_(u"Envoyer"))
        # Si on quitte la première page, on active le bouton Retour
        if self.pageVisible > 0 :
            self.bouton_retour.Enable(True)

    def OnClose(self, event):
        self.OnBoutonAnnuler()

    def OnBoutonAnnuler(self, event=None):
        self.Annuler()

    def Annuler(self):
        """ Annulation des modifications """
        self.EndModal(wx.ID_CANCEL)

    def ValidationPages(self) :
        """ Validation des données avant changement de pages """
        return self.listePages[self.pageVisible]["ctrl"].Validation()

    def Terminer(self):
        # Envoi du message
        if self.Envoyer() != True :
            return False

        # Fermeture
        self.EndModal(wx.ID_OK)

    def Envoyer(self):
        # Demande de confirmation
        dlg = wx.MessageDialog(self, _(u"Confirmez-vous l'envoi du message vers %d numéros ?") % len(self.dictDonnees["liste_telephones"]), _(u"Confirmation"), wx.YES_NO|wx.YES_DEFAULT|wx.CANCEL|wx.ICON_QUESTION)
        reponse = dlg.ShowModal()
        dlg.Destroy()
        if reponse != wx.ID_YES :
            return False

        # CONTACT EVERYONE BY ORANGE BUSINESS
        if self.dictDonnees["plateforme"] == "contact_everyone" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            for ligne in self.dictDonnees["message"].split("\n") :
                liste_lignes.append(u"T-%s" % ligne)

            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"#-%s" % numero)

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Envoi de l'email
            try :
                etat = UTILS_Envoi_email.Envoi_mail(
                    adresseExpediteur=dictAdresse["adresse"],
                    listeDestinataires=[self.dictDonnees["orange_adresse_destination_email"],],
                    sujetMail=self.dictDonnees["objet"],
                    texteMail=_(u"Envoi de SMS"),
                    listeFichiersJoints=[cheminFichier,],
                    serveur=dictAdresse["smtp"],
                    port=dictAdresse["port"],
                    avecAuthentification=dictAdresse["auth"],
                    avecStartTLS=dictAdresse["startTLS"],
                    motdepasse=dictAdresse["motdepasse"],
                    utilisateur=dictAdresse["utilisateur"],
                    )
            except Exception, err:
                print (err,)
                err = str(err).decode("iso-8859-15")
                dlgErreur = wx.MessageDialog(None, _(u"Une erreur a été détectée dans l'envoi de l'Email !\n\nErreur : %s") % err, _(u"Erreur"), wx.OK | wx.ICON_ERROR)
                dlgErreur.ShowModal()
                dlgErreur.Destroy()
                return False



        # CLEVER SMS
        if self.dictDonnees["plateforme"] == "cleversms" :

            # Récupération adresse d'expédition
            IDadresse = self.dictDonnees["adresse_expedition_email"]
            dictAdresse = UTILS_Envoi_email.GetAdresseExp(IDadresse=IDadresse)

            # Génération de la pièce jointe
            liste_lignes = []

            message = self.dictDonnees["message"].replace("\n", "")
            for numero in self.dictDonnees["liste_telephones"] :
                numero = numero.replace(".", "")
                liste_lignes.append(u"%s;%s" % (numero, message))

            texte = "\n".join(liste_lignes)

            cheminFichier = UTILS_Fichiers.GetRepTemp(fichier="sms.txt")
            fichier = open(cheminFichier, 'w')
            fichier.write(texte.encode("iso-8859-15"))
            fichier.close()

            # Envoi de l'email
            try :
                etat = UTILS_Envoi_email.Envoi_mail(
                    adresseExpediteur=dictAdresse["adresse"],
                    listeDestinataires=[self.dictDonnees["cleversms_adresse_destination_email"],],
                    sujetMail=self.dictDonnees["objet"],
                    texteMail=_(u"Envoi de SMS"),
                    listeFichiersJoints=[cheminFichier,],
                    serveur=dictAdresse["smtp"],
                    port=dictAdresse["port"],
                    avecAuthentification=dictAdresse["auth"],
                    avecStartTLS=dictAdresse["startTLS"],
                    motdepasse=dictAdresse["motdepasse"],
                    utilisateur=dictAdresse["utilisateur"],
                    )
            except Exception, err:
                print (err,)
                err = str(err).decode("iso-8859-15")
                dlgErreur = wx.MessageDialog(None, _(u"Une erreur a été détectée dans l'envoi de l'Email !\n\nErreur : %s") % err, _(u"Erreur"), wx.OK | wx.ICON_ERROR)
                dlgErreur.ShowModal()
                dlgErreur.Destroy()
                return False