PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Question pour les spécialistes de la messagerie et du IMAP
Question pour les spécialistes de la messagerie et du IMAP
Iniciado por LM Concept, 27,jul. 2018 15:26 - 5 respuestas
Miembro registrado
405 mensajes
Publicado el 27,julio 2018 - 15:26
Bonjour,
Quand on envoie un email avec Outlook, (paramétré en IMAP), le mail se retrouve dans le dossier « sent » (ou envoyé peu importe) une fois envoyé. Du coup grâce à l’IMAP, je peux voir les messages envoyés depuis un autre accès ou en webmail etc…
Or dans WD, si on envoie un email avec le même compte méthode basique (EmailEnvoieMessage), le message part bien mais n’est pas copié dans le dossier « sent » !
Est-ce que cela signifie qu’il faut faire la copie soit même ? Ou qu’il y aurait un paramètre que j’ai loupé dans l’envoie !?

Merci à vous
BON DEV
Miembro registrado
405 mensajes
Publicado el 30,julio 2018 - 09:35
Un p'tit up :(
Miembro registrado
299 mensajes
Publicado el 03,agosto 2018 - 17:05
Copier l'objet Mail dans le répertoire Sent juste après l'envoi
Miembro registrado
405 mensajes
Publicado el 03,agosto 2018 - 18:17
Merci, pour la réponse ! Donc pas d'autres possibilités.
Je regarde alors de ce coté la.

BON DEV
Miembro registrado
4 mensajes
Publicado el 08,noviembre 2018 - 21:50
bonjour,
je me suis confronté également a ce problème et après avoir fait une synthèse des différentes réponse voici un code qui fonctionne.
après l'envoie par stmp je récupère le nombre d’émail envoyés

PROCEDURE TransfererEmail(NbEmailEnvoyé=0)
//NbEmailEnvoyé sert a ne pas lire tous les mails de la boite de réception et arrête le traitement
//quand le traitement a traité tous les mails envoyés

MaSessionIMAP est un EmailSessionIMAP
MonMessage est un Email
i,k sont des entiers

//Repert_PJ est une chaîne="C:\TMP\MailTest\"
sDomainExpediteur est une chaîne
sListeDossiers est une chaîne
sRepTransfert est une chaîne="MsgEnvoyé"
sRepmail est une chaîne
ok est un booléen


//ma conexion imap
MaSessionIMAP..AdresseServeur = Serveur_Smtp
MaSessionIMAP..Nom = Expediteur
MaSessionIMAP..MotDePasse = ePass

EmailChangeTimeOut(30)
EmailParamètre(emailParamètreMode,1)

SELON Securité
CAS 1 //aucune
MaSessionIMAP..Option = emailOptionDéfaut
MaSessionIMAP..Port = 143
CAS 2 //tls
MaSessionIMAP..Option = emailOptionSécuriséTLS
MaSessionIMAP..Port = 993
CAS 3 //ssl
MaSessionIMAP..Option = optionSSL
MaSessionIMAP..Port = 993
FIN

Message("Connexion IMAP en cours...")
Sablier(Vrai)
ok=EmailOuvreSession(MaSessionIMAP)

//liste des dossiers du serveur
sListeDossiers=EmailListeDossier(MaSessionIMAP,LstDossierTous+LstDossierType)
//Trace(sListeDossiers)

//dossier de transfert
sRepmail="Sent" //par defaut
//je cherche mon dossier de transfert
SI Position(sListeDossiers,sRepTransfert)=0 ALORS //non trouvé
SI EmailAjouteDossier(MaSessionIMAP,sRepTransfert) ALORS //création du dossier ok
sRepmail=sRepTransfert
FIN
SINON
// Trace(sRepStoresfx+" trouvé")
sRepmail=sRepTransfert
FIN

EmailChangeDossier(MaSessionIMAP,"Inbox")
Multitâche(10)

k=EmailNbMessage(MaSessionIMAP)
Message(k+" Emails trouvé dans "+EmailDossierCourant(MaSessionIMAP))

SI NbEmailEnvoyé=0 ALORS
NbEmailEnvoyé=k
FIN
ok=EmailLitEntêteDernier(MaSessionIMAP,MonMessage) //, emailexpediteur,expediteur)
i=0
TANTQUE PAS MonMessage..EnDehors _ET_ i<NbEmailEnvoyé
// toastaffiche("début transfert i="+i)
sDomainExpediteur=MonMessage..Expediteur

// Trace("ID:"+MonMessage..ID+" "+MonMessage..Sujet,DateVersChaîne(MonMessage..DateRéception))

SI sDomainExpediteur~=Expediteur OU sDomainExpediteur="" ALORS
// Trace("ID:"+MonMessage..ID+" "+sDomainExpediteur)
SI EmailLitMessage(MaSessionIMAP,MonMessage,MonMessage..ID) ALORS
// trace("lecture ok")
SI EmailCopie(MaSessionIMAP,MonMessage,sRepmail) ALORS
Multitâche(10)
// trace("copie ok "+MonMessage..ID+" "+sRepmail)
SI EmailSupprimeMessage(MaSessionIMAP,MonMessage) ALORS
// trace("ID:"+MonMessage..ID+" "+"supprime ok")
Multitâche(10)
i++
FIN
FIN
FIN
FIN
EmailLitEntêtePrécédent(MaSessionIMAP,MonMessage)
FIN
EmailDétruit(MaSessionIMAP) //vide la corbeille
EmailFermeSession(MaSessionIMAP)
Sablier(Faux)
Message(i+" Emails transérés dans "+sRepmail)
Miembro registrado
405 mensajes
Publicado el 10,noviembre 2018 - 09:09
Bonjour,
Très intéressant votre code, je regarde cela. Car personnellement pour moi ce n'était pas un priorité et j'avais mis cela de côté !
Et merci pour ce partage.
Mensaje modificado, 10,noviembre 2018 - 09:11