|
EmailCherchePremier + GMail |
Débuté par Kharles, 29 nov. 2015 18:20 - 13 réponses |
| |
| | | |
|
| |
Membre enregistré 44 messages |
|
Posté le 29 novembre 2015 - 18:20 |
Bonjour à Toutes et à Tous.
Le code suivant me semble correct, mais je reste humble et le soumet à votre sagacité...
bResultat=EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée)
SI bResultat= Vrai ALORS EmailLitMessage(MaSession,UnMail,nIDMessage) TANTQUE UnMail.EnDehors = Faux
Mais quand "bResultat" = Vrai, "UnMail" est "vide" et "nIDMessage"=0. Et donc le TANTQUE est faux. Je teste cela sous GMail en protocole IMAP. Tous les paramètres de connexion sont bon, je suis donc connecté.
Bref, je tourne en rond, j'ai plus d'idée ou je vois pas la grosse bêtise que j'ai codé...
" Au secours, Obi-Wan Kenobi, vous êtes mon seul espoir"
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2015 - 12:59 |
Bonjour
sot tu essaye de faire quelque chose de particulier, soit tu n'as pas bien lu l'aide du emailCherchePremier. L'aide de celui ci indique qu'il doit être suivi d'une boucle contenant le traitement de l'email LU par le emailcherchepremier puis un emaillitsuivant.
Voila l'exemple de l'aide :
SI EmailCherchePremier(IDSession, emailSujet + emailCorps, ... "PC Soft") = Vrai ALORS // Enumération des emails trouvés TANTQUE Email.EnDehors = Faux // Affiche l'expéditeur et le sujet dans un champ Table TableAjoute(TABLE_EmailTrouve, Email.Expéditeur + ... TAB + Email.Sujet) // Email trouvé suivant EmailLitSuivant(IDSession) FIN SINON...
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
On 11/29/2015 12:20 PM, KHarles wrote:
Bonjour à Toutes et à Tous. Le code suivant me semble correct, mais je reste humble et le soumet à votre sagacité... bResultat=EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée)
SI bResultat= Vrai ALORS EmailLitMessage(MaSession,UnMail,nIDMessage) TANTQUE UnMail.EnDehors = Faux
Mais quand "bResultat" = Vrai, "UnMail" est "vide" et "nIDMessage"=0. Et donc le TANTQUE est faux. Je teste cela sous GMail en protocole IMAP. Tous les paramètres de connexion sont bon, je suis donc connecté. Bref, je tourne en rond, j'ai plus d'idée ou je vois pas la grosse bêtise que j'ai codé... " Au secours, Obi-Wan Kenobi, vous êtes mon seul espoir" -- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 30 novembre 2015 - 14:26 |
Bonjour, Merci pour Votre réponse. Effectivement, je ne voulais pas poster tout le code, donc il manquait des trucs... Voici donc le code :
MaSession est un EmailSessionIMAP UnMail est un Email bResultat est un booléen nIDMessage est un entier
MaSession..AdresseServeur = SAI_imap MaSession..Nom = SAI_Session MaSession..MotDePasse = SAI_pass MaSession..Port=993 MaSession..Option=optionSSL
EmailOuvreSession(MaSession) sRepMail ="Ailleurs" sChaineRecherchée est une chaîne =SAI_Demande bResultat=EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée)
SI bResultat= Vrai ALORS EmailLitMessage(MaSession,UnMail,nIDMessage) TANTQUE UnMail.EnDehors = Faux
SI Contient(UnMail.TexteBrut,sChaineRecherchée) ALORS Trace(UnMail.DateRéception+RC+UnMail.Sujet) POUR TOUTE CHAINE LaLigne DE UnMail.TexteBrut SEPAREE PAR RC Trace(LaLigne) FIN bResultat = EmailChangeEtat(MaSession,UnMail,emailEtatLu) bResultat = EmailCopie(MaSession,UnMail,sRepMail) bResultat = EmailSupprimeMessage(MaSession,UnMail)
FIN EmailRAZ(UnMail) bResultat = EmailLitSuivant(MaSession,UnMail) FIN bResultat = EmailDétruit(MaSession) SINON Erreur() FIN
FIN: EmailFermeSession(MaSession) Tout cela provient de bouts de code piochés deci-delà et notamment dans l'aide. Mais quand "bResultat" = Vrai, "UnMail" est "vide" et "nIDMessage"=0. Et donc le TANTQUE est faux. Je teste cela sous GMail en protocole IMAP. Tous les paramètres de connexion sont bon, je suis donc connecté.
Cordialement.
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Posté le 30 novembre 2015 - 15:19 |
Comme je le disais, le emaillitmessage est en TROP. EmailCherchePremier a DEJA lu le message si bresulat est à vrai.
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
On 11/30/2015 8:26 AM, KHarles wrote:
Bonjour, Merci pour Votre réponse. Effectivement, je ne voulais pas poster tout le code, donc il manquait des trucs... Voici donc le code : MaSession est un EmailSessionIMAP UnMail est un Email bResultat est un booléen nIDMessage est un entier
MaSession..AdresseServeur = SAI_imap MaSession..Nom = SAI_Session MaSession..MotDePasse = SAI_pass MaSession..Port=993 MaSession..Option=optionSSL
EmailOuvreSession(MaSession) sRepMail ="Ailleurs" sChaineRecherchée est une chaîne =SAI_Demande bResultat=EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée)
SI bResultat= Vrai ALORS EmailLitMessage(MaSession,UnMail,nIDMessage) TANTQUE UnMail.EnDehors = Faux suivant est redondant... SI Contient(UnMail.TexteBrut,sChaineRecherchée) ALORS Trace(UnMail.DateRéception+RC+UnMail.Sujet) POUR TOUTE CHAÎNE LaLigne DE UnMail.TexteBrut SEPAREE PAR RC Trace(LaLigne) FIN bResultat = EmailChangeEtat(MaSession,UnMail,emailEtatLu) bResultat = EmailCopie(MaSession,UnMail,sRepMail) bResultat = EmailSupprimeMessage(MaSession,UnMail)
FIN EmailRAZ(UnMail) bResultat = EmailLitSuivant(MaSession,UnMail) FIN bResultat = EmailDétruit(MaSession) SINON Erreur() FIN
FIN: EmailFermeSession(MaSession) Tout cela provient de bouts de code piochés deci-delà et notamment dans l'aide. Mais quand "bResultat" = Vrai, "UnMail" est "vide" et "nIDMessage"=0. Et donc le TANTQUE est faux. Je teste cela sous GMail en protocole IMAP. Tous les paramètres de connexion sont bon, je suis donc connecté. Cordialement. -- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 30 novembre 2015 - 16:30 |
C'est exactement cela ! Merci beaucoup.
Salutations.
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Posté le 01 décembre 2015 - 12:08 |
Comme quoi, l'avertissement en fin d'email est définitivement de trop. La réponse était bien visible dans la doc
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
On 11/30/2015 10:30 AM, KHarles wrote:
C'est exactement cela ! Merci beaucoup.
Salutations.
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 01 décembre 2015 - 12:09 |
Ça marche plus et je comprends pas pourquoi... Je deviens dingue...
EmailOuvreSession(MaSession) bResultat=EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée) SI bResultat= Vrai ALORS
FIN Trace("EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée "+bResultat+" "+"Email.EnDehors="+Email.EnDehors) EmailFermeSession(MaSession)
La trace donne ceci : EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée 1 Email.EnDehors=1
Comment le EmailCherchePremier peut renvoyer VRAI et qu'en même temps Email.EnDehors revoit VRAI ?
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Posté le 06 décembre 2015 - 12:24 |
Bjr,
KHarles a présenté l'énoncé suivant :
Bonjour à Toutes et à Tous. Le code suivant me semble correct, mais je reste humble et le soumet à votre sagacité... bResultat=EmailCherchePremier(MaSession,emailCorps,sChaineRecherchée)
SI bResultat= Vrai ALORS EmailLitMessage(MaSession,UnMail,nIDMessage) TANTQUE UnMail.EnDehors = Faux
Mais quand "bResultat" = Vrai, "UnMail" est "vide" et "nIDMessage"=0. Et donc le TANTQUE est faux. Je teste cela sous GMail en protocole IMAP. Tous les paramètres de connexion sont bon, je suis donc connecté. Bref, je tourne en rond, j'ai plus d'idée ou je vois pas la grosse bêtise que j'ai codé... " Au secours, Obi-Wan Kenobi, vous êtes mon seul espoir"
Windev gere l ' IMAP ??
a plus
-- ------------------------------------------------------------- www.ctc-soft.com Gestion biblo-documentaire (free-share) Comptabilité shareware Logiciels de Gestion de saisie terrain Spécialisé Tournées de boulangers ------------------------------------------------------------- |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 11 décembre 2015 - 10:32 |
Bonjour,
Désole pour la réponse tardive, et oui, effectivement Windev gère l'IMAP.
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 163 messages Popularité : +3 (3 votes) |
|
Posté le 11 mars 2016 - 16:25 |
Bonjour KHarles, as-tu trouvé une solution pour ton problème. J'ai moi-même un problème avec la fonction EmailLitMessage(). La fonction renvoi Vrai mais la variable email n'est pas initialisée.
Mon code :
SI EmailLitMessage(MaSessionIMAP,Mon_mail,ID) ALORS gsAdresseExp = Mon_mail..AdresseExpéditeur LIB_De = Mon_mail..Expediteur + "[" + gsAdresseExp + "]" LIB_SUJET = Mon_mail..Sujet LIB_DATE_HEURE = Mon_mail..DateRéception SAI_MESSAGE = Mon_mail..Message SINON Erreur("Impossible de lire le message.",ErreurInfo(errMessage)) FIN
-- FredB -- Le développement c'est la vie (des processus) et la vie c'est le développement (de soi) -- |
| |
| |
| | | |
|
| | |
| |
Posté le 02 août 2016 - 09:31 |
Bonjour,
Avez-vous trouvé une solution pour initialiser "email" car je suis confronté à ce problème aujourd'hui ? Merci pour vos réponses.
Jean-Marc SOUCHEZ |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 44 messages |
|
Posté le 05 août 2016 - 10:24 |
Bonjour,
Désolé pour cette réponse tardive. J'ai laissé tomber pour le moment.
-- Merci pour Vos réponses. P.S. Merci de ne pas perdre Votre précieux temps à répondre si Vous n'avez pas éléments à apporter... Je vous rassure, j'ai fait des tests, consulté l'aide de Windev, utilisé l'amitié de Google et donné dans le rituel. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 14 messages Popularité : +1 (1 vote) |
|
Posté le 19 août 2016 - 14:20 |
Bonjour,
J'ai exactement le même problème ... La seule chose est que c'est aléatoire, des fois ça fonctionne et des fois pas. On a ce problème depuis un certain temps et toujours pas trouvé de solution. Dans notre cas, ce qui est bizarre c'est qu'on trouve le nombre de message (variable nNbMail) mais la structure Email n'est pas rempli et EnDehors retourne vrai. Voici le bout de code (évidemment, il y a la connexion avant)
EmailChangeDossier(GB_MailiDSession,LRepertoire) nNbMail = EmailNbMessage(GB_MailNomUser) EmailLitPremier(GB_MailNomUser) TANTQUE PAS Email.EnDehors nNbMailRead++ EmailLitSuivant(GB_MailNomUser) FIN EmailFermeSession(GB_MailNomUser) SI nNbMail _ET_ nNbMailRead = 0 ALORS Trace("Problème avec le mail => nNbMail[" + nNbMail + "]nNbMailRead[" + nNbMailRead + "]" + RC + RC + dbgInfo(dbgPile)) FIN FIN
Avec ce code, j'ai de temps en temps la trace suivante : Problème avec le mail => nNbMail[4]nNbMailRead[0] qui veut dire qu'il y a bien 4 mails mais impossible d'accéder au premier mail ... Très bizarre
Bonne journée Stéphane |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 14 messages Popularité : +1 (1 vote) |
|
Posté le 19 août 2016 - 14:23 |
Pardon oublié de mettre le code de manière visible ...
EmailChangeDossier(GB_MailiDSession,LRepertoire) nNbMail = EmailNbMessage(GB_MailNomUser) EmailLitPremier(GB_MailNomUser) TANTQUE PAS Email.EnDehors nNbMailRead++ EmailLitSuivant(GB_MailNomUser) FIN EmailFermeSession(GB_MailNomUser) SI nNbMail _ET_ nNbMailRead = 0 ALORS Trace("Problème avec le mail => nNbMail[" + nNbMail + "]nNbMailRead[" + nNbMailRead + "]" + RC + RC + dbgInfo(dbgPile)) FIN |
| |
| |
| | | |
|
| | | | |
| | |
|