Codes & Astuces Téléchargements
Mise à jour : 17/7/2008
Site
Accueil Actualité
Liens Contact
Présentation de WINDEV
1. Vous avez dit programme ?
2. Que fait WINDEV ?
3. Editeur de fenêtres
4. Editeur d'analyses
5. Outils
6. Editeur de Requetes
Ressources
Codes & Astuces
Mon Premier ...
Téléchargements
Hors sujet
Recherches
Rechercher un exemple ?
Formation
Ouvrages
Exemples de réalisations
Utilitaire à télécharger
WD IPMAIL !
Utilitaire à télécharger
WD TRANSFERT MAIL !
Création d'un composant
à télécharger !
Programmation du transfert de message :
Retour à la page de création de l'utilitaire WD TRANSFERT MAIL
// On va parcourir tous les transferts enregistrés afin de les effectuer.

NbTransfert est un entier
TranfertEnCours est un entier

NbMessage est un entier
MessageEnCours est un entier

sFichierTemp est une chaîne = fFichierTemp()
sFichierLOG est une chaîne = ComplèteRep(fRepExe())+FIC_LOG


sUtilisateurSMTP est une chaîne

Sablier(Vrai)
GROUPE_ENCOURS..Etat = Grisé

TraceDébut(trFichier, sFichierLOG)

Trace("-------------------------------------------------------------------------------------")
Trace
("-------------------------------------------------------------------------------------")
Trace
("WD TRANSFERT MAIL "+DateVersChaîne(DateSys())+" - " +HeureVersChaîne(HeureSys()))
Trace
("  ")


POUR TOUT TRANSFERT_MAIL SUR ADRESSE_ORIGINE
     
     
TranfertEnCours++
     
Jauge
(TranfertEnCours, NbTransfert, TranfertEnCours+"/"+NbTransfert)

     // Ouverture de la session POP3 pour lire les messages de transfert en cours
     SI
EmailOuvreSessionPOP3
(TRANSFERT_MAIL.POP_UTILISATEUR,TRANSFERT_MAIL.POP_PASSE,TRANSFERT_MAIL.POP_ADRESSE,TRANSFERT_MAIL.POP_PORT) ALORS
     
          // On ouvre la session SMTP qui permettra d'envoyer les messages redirigés...
         
sUtilisateurSMTP = SessionSMTP()
          SI
sUtilisateurSMTP <> "" ALORS

               // Récupération du nombre de message pour affichage du suivi
               
NbMessage = EmailNbMessage
(TRANSFERT_MAIL.POP_UTILISATEUR)
               
MessageEnCours = 0
                             
               // Session POP3 et SMTP sont ouvertes, on peut faire le transfert...
               
EmailLitPremier
(TRANSFERT_MAIL.POP_UTILISATEUR)
               
               TANTQUE PAS
Email.EnDehors

                    MessageEnCours++
                   
Trace
(TRANSFERT_MAIL.ADRESSE_ORIGINE+ " ("+MessageEnCours+"/"+NbMessage+")")
                   
Trace
("   >> "+Email.expediteur)
                   
Trace
("   >> "+Email.DateRéception)
                   
Trace
("   >> "+Email.sujet)
                   
                    // Transfert vers l'adresse email qui va recevoir la redirection
                    // Le source du message va être mis à jour avec cette nouvelle adresse
                    // tout en concervant le contenu précédent
                   
Email.NbDestinataire = 1
                    Email.destinataire
[1] = TRANSFERT_MAIL.ADRESSE_TRANSFERT
                   
                    // Sauvegarde du nouveau message
                   
fSauveTexte
(sFichierTemp, Email.source)
                   
                    SI
EmailEnvoie
(sUtilisateurSMTP, sFichierTemp) ALORS
                         
Trace
("   >> OK Redirection vers "+TRANSFERT_MAIL.ADRESSE_TRANSFERT)
                    SINON
                         
Trace
("   >> ERREUR Redirection vers "+TRANSFERT_MAIL.ADRESSE_TRANSFERT)
                         
Trace(EmailMsgErreur(Email.erreur))
                    FIN
                   
                    // Passage au message suivant
                   
EmailLitSuivant
(TRANSFERT_MAIL.POP_UTILISATEUR)
               FIN
               
               
EmailFermeSession
(TRANSFERT_MAIL.POP_UTILISATEUR)
               
EmailFermeSession
(sUtilisateurSMTP)
                   
          SINON
               
Trace
("Erreur d'ouverture de session SMTP pour "+TRANSFERT_MAIL.ADRESSE_ORIGINE)
               
Trace(EmailMsgErreur(Email.erreur))
          FIN
         
     SINON
         
Trace
("Erreur d'ouverture de session POP3 pour "+TRANSFERT_MAIL.ADRESSE_ORIGINE)
         
Trace(EmailMsgErreur(Email.erreur))
     FIN
     
FIN

// Suppression du fichier temporaire ...
fSupprime
(sFichierTemp)

// Terminaison de la trace et mise à jour du fichier de suivi
TraceFin()

// Mise à jour de l'interface pour rendre la main à l'utilisateur
ExécuteTraitement
(IMAGE_LOG, trtInit)
GROUPE_ENCOURS..Etat = Actif
Jauge
()
Sablier
(Faux)