Exemplo n.º 1
0
    def OnBoutonTester(self, event):
        if self.GetPageActive().Validation() == False :
            return False

        # Récupération des paramètres
        dict_donnees = self.GetPageActive().GetDonnees()

        # Demande une adresse de destination
        adresse = UTILS_Parametres.Parametres(mode="get", categorie="emails", nom="adresse_test", valeur=u"")
        dlg = wx.TextEntryDialog(self, _(u"Saisissez une adresse Email de destination et cliquez sur Ok :"), _(u"Envoi d'un Email de test"), adresse)
        if dlg.ShowModal() != wx.ID_OK:
            dlg.Destroy()
            return
        adresse = dlg.GetValue()
        dlg.Destroy()
        # Mémorise l'adresse saisie
        if UTILS_Envoi_email.ValidationEmail(adresse) == False :
            dlg = wx.MessageDialog(self, _(u"L'adresse saisie n'est pas valide !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
            dlg.ShowModal()
            dlg.Destroy()
            return
        UTILS_Parametres.Parametres(mode="set", categorie="emails", nom="adresse_test", valeur=adresse)

        # Création du message de test
        message = UTILS_Envoi_email.Message(
            destinataires=[adresse, ],
            sujet=u"Test de messagerie",
            texte_html=u"<p>Ceci est un <b>test de messagerie</b> envoyé à %s.</p>" % datetime.datetime.now().strftime("%H:%M:%S"),
        )

        try :
            messagerie = UTILS_Envoi_email.Messagerie(
                backend=dict_donnees["moteur"],
                hote=dict_donnees["smtp"],
                port=dict_donnees["port"],
                utilisateur=dict_donnees["utilisateur"],
                motdepasse=dict_donnees["motdepasse"],
                email_exp=dict_donnees["adresse"],
                nom_exp=dict_donnees["nom_adresse"],
                timeout=10,
                use_tls=dict_donnees["startTLS"],
                parametres=dict_donnees["parametres"],
            )
            messagerie.Connecter()
            messagerie.Envoyer(message)
            messagerie.Fermer()
        except Exception as err:
            err = str(err)
            if six.PY2:
                err = err.decode("iso-8859-15")
            intro = _(u"L'envoi de l'email de test est impossible :")
            conclusion = _(u"Vérifiez votre connexion internet ou les paramètres de votre adresse d'expédition.")
            dlgErreur = DLG_Messagebox.Dialog(self, titre=_(u"Erreur"), introduction=intro, detail=err, conclusion=conclusion, icone=wx.ICON_ERROR, boutons=[_(u"Ok"),])
            dlgErreur.ShowModal()
            dlgErreur.Destroy()
            return False

        dlg = wx.MessageDialog(self, _(u"L'email de test a été envoyé avec succès."), _(u"Test de connexion"), wx.OK | wx.ICON_INFORMATION)
        dlg.ShowModal()
        dlg.Destroy()
Exemplo n.º 2
0
 def EnvoyerTest(self, event):
     """ Envoi d'un Email de test """
     adresse = UTILS_Parametres.Parametres(mode="get", categorie="emails", nom="adresse_test", valeur=u"")      
     dlg = wx.TextEntryDialog(self, _(u"Saisissez une adresse Email et cliquez sur Ok :"), _(u"Envoi d'un Email de test"), adresse)
     if dlg.ShowModal() != wx.ID_OK:
         dlg.Destroy()
         return
     adresse = dlg.GetValue()
     dlg.Destroy()
     # Mémorise l'adresse saisie
     if UTILS_Envoi_email.ValidationEmail(adresse) == False :
         dlg = wx.MessageDialog(self, _(u"L'adresse saisie n'est pas valide !"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
         dlg.ShowModal()
         dlg.Destroy()
         return
     UTILS_Parametres.Parametres(mode="set", categorie="emails", nom="adresse_test", valeur=adresse)
     # Vérifie si au moins un destintaire saisi
     listeDestinataires=self.ctrl_destinataires.GetDonnees()
     if len(listeDestinataires) == 0 :
         dlg = wx.MessageDialog(self, _(u"Vous devez sélectionner au moins un destinataire !\n\n(En cas de fusion, les données du premier destinataire seront utilisés)"), _(u"Erreur de saisie"), wx.OK | wx.ICON_EXCLAMATION)
         dlg.ShowModal()
         dlg.Destroy()
         return
     # Envoi du mail test
     self.Envoyer(listeDestinataires=[listeDestinataires[0],], adresseTest=adresse)