// 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)  |