OVH Cloud OVH Cloud

Lire les emails non lus

5 réponses
Avatar
arnaud.desmazes
Bonjour,

Comme l'indique le sujet de ce post, je souhaiterais développer une
application qui afficherait dans un tableau les emails NON LUS de mes
comptes pop3. A votre avis, est ce réalisable ? Car l'utilisation
classique ~OUTLOOK est de télécharger TOUS les emails de la boite
POP3, puis de récupérer les nouveaux au fur et à mesure. Or, pour ma
part, je ne souhaite pas télécharger tous les emails déjà lus. (Ma
boite POP3 en contient + de 1000 donc...)

Si vous avez des idées elles sont les bienvenues, je me demande, en
revanche, si le fait qu'un email soit non lu ne dépend pas du
provider...

Merci d'avance,

Cordialement,

Arnaud DESMAZES

5 réponses

Avatar
Eric Demeester
dans (in) fr.comp.developpement.agl.windev,
(Arnaud DESMAZES) ecrivait (wrote) :

Bonsoir Arnaud,

Comme l'indique le sujet de ce post, je souhaiterais développer une
application qui afficherait dans un tableau les emails NON LUS de mes
comptes pop3. A votre avis, est ce réalisable ?



Oui, pas forcément directement avec Windev, mais ça peut se bricoler en
pilotant un composant externe comme GETMAIL (en anglais, gratuit pour un
usage non commercial) :

http://www.interlog.com/~tcharron/getmail.html

Si tu veux une preuve (et que tu comprends l'anglais), teste Pegasus
Mail

http://www.pmail.com)

Ce logiciel (gratuit) sait faire ce que tu souhaites.

Si vous avez des idées elles sont les bienvenues, je me demande, en
revanche, si le fait qu'un email soit non lu ne dépend pas du
provider...



Cela ne dépend pas du provider mais du protocole utilisé. IMAP sait
faire ce genre de distinction mais pas POP3.
En très résumé, pour faire ce que tu veux, il faut laisser les messages
sur le serveur et gérer ceux qui sont considérés comme lus au niveau de
ton application.

Une lecture indispensable avant d'aller plus loin dans tes réflexions :
la RFC 1939 (POP3) qui décrit le protocole et les échanges entre le
client et le serveur de courrier :

http://abcdrfc.free.fr/rfc-vf/rfc1939.html

Bon courage :)

--
Eric
Avatar
Daniel
Bonsoir Arnaud,

Eric Demeester <eric+ writes:

dans (in) fr.comp.developpement.agl.windev,
(Arnaud DESMAZES) ecrivait (wrote) :

Bonsoir Arnaud,

> Comme l'indique le sujet de ce post, je souhaiterais développer une
> application qui afficherait dans un tableau les emails NON LUS de mes
> comptes pop3. A votre avis, est ce réalisable ?

Oui, pas forcément directement avec Windev, mais ça peut se bricoler en
pilotant un composant externe comme GETMAIL (en anglais, gratuit pour un
usage non commercial) :

http://www.interlog.com/~tcharron/getmail.html

Si tu veux une preuve (et que tu comprends l'anglais), teste Pegasus
Mail

http://www.pmail.com)

Ce logiciel (gratuit) sait faire ce que tu souhaites.



Tu peux toujours tenter ta chance avec telnet en utilisant une classe
qui se trouve sur rbesset.net (une classe de Drcarlos)

le principe est le suivant tu lances à partir de Windev (avec cette
fameuse classe) la commande suivante :

telnet pop.fai.fr 110
user compte_user
pass mot_de_passe

list // récupère la liste et taille des mails
puis une boucle avec top n° mail 0 (le 0 nécessaire sur certains
serveurs pour récupérer l'entête du mail).


> Si vous avez des idées elles sont les bienvenues, je me demande, en
> revanche, si le fait qu'un email soit non lu ne dépend pas du
> provider...

Cela ne dépend pas du provider mais du protocole utilisé. IMAP sait
faire ce genre de distinction mais pas POP3.
En très résumé, pour faire ce que tu veux, il faut laisser les mess ages
sur le serveur et gérer ceux qui sont considérés comme lus au nivea u de
ton application.



le protocole pop va mettre un flag si le mail a déjà été récupé ré ou
pas, parcontre il ne va pas dire si il a déjà été lu.
Concrètement si tu veux connaitre les mails qui ont déjà été ré cupéré
dans la boite pop afin de ne pas récupérer ce message à nouveau. Tu
peux le faire en pop, si tu parles vraiment de lecture il faut Imap,
et dans ce cas peu de provider le propose en standard (sauf Free).

Ci-joint un exemple d'entête sur un serveur pop (attention je suis
directement sur le serveur pop)

/// mail venant d'être mis dans le compte status est O
Subject: test 2
X-Virus-Scanned: by AMaViS
X-Sanitizer: Advosys mail filter
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Status: O

/// le même mail ayant été récupéré, mais pas effacé sur le s erveur
status R0
Subject: test 2
X-Virus-Scanned: by AMaViS
X-Sanitizer: Advosys mail filter
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Status: RO


Une lecture indispensable avant d'aller plus loin dans tes réflexions :
la RFC 1939 (POP3) qui décrit le protocole et les échanges entre le
client et le serveur de courrier :

http://abcdrfc.free.fr/rfc-vf/rfc1939.html


A lire avant toute chose...


Bon courage :)

--
Eric



--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Pierre BOUSQUET
je l'ai fait avec Windev, ca marche tres bien, en fait je stock l'id du mail
dans une base sur le poste, à la lecture suivante ce même mail apparait
comme déjà lu

"Arnaud DESMAZES" a écrit dans le message de
news:
Bonjour,

Comme l'indique le sujet de ce post, je souhaiterais développer une
application qui afficherait dans un tableau les emails NON LUS de mes
comptes pop3. A votre avis, est ce réalisable ? Car l'utilisation
classique ~OUTLOOK est de télécharger TOUS les emails de la boite
POP3, puis de récupérer les nouveaux au fur et à mesure. Or, pour ma
part, je ne souhaite pas télécharger tous les emails déjà lus. (Ma
boite POP3 en contient + de 1000 donc...)

Si vous avez des idées elles sont les bienvenues, je me demande, en
revanche, si le fait qu'un email soit non lu ne dépend pas du
provider...

Merci d'avance,

Cordialement,

Arnaud DESMAZES


Avatar
arnaud.desmazes
Bonjour,

je remercie toutes les personnes qui ont répondu à ma requete.

Quand tu parles de stocker l'id du mail, celà impose donc de lire tous
les mails, ou seulement leur entete ?

En fait, pour moi l'idéal est de récupérer le status des mails lus et
non lus sur le serveur. Ainsi si je lis les emails via l'interface Web
d'un compte email, leur status devient "lu" meme si aucun email n'a
été téléchargé sur le poste Client. Donc d'apres l'ensemble des
réponses, le seul moyen est de passer par IMAP ou de bricoler une
librairie en digérant (glurps) les RFC.

Encore merci, je ne sais vraiment pas par où commencer.

Cordialement,

Arnaud DESMAZES


"Pierre BOUSQUET" wrote in message news:<41908814$0$5447$...
je l'ai fait avec Windev, ca marche tres bien, en fait je stock l'id du mail
dans une base sur le poste, à la lecture suivante ce même mail apparait
comme déjà lu

"Arnaud DESMAZES" a écrit dans le message de
news:
> Bonjour,
>
> Comme l'indique le sujet de ce post, je souhaiterais développer une
> application qui afficherait dans un tableau les emails NON LUS de mes
> comptes pop3. A votre avis, est ce réalisable ? Car l'utilisation
> classique ~OUTLOOK est de télécharger TOUS les emails de la boite
> POP3, puis de récupérer les nouveaux au fur et à mesure. Or, pour ma
> part, je ne souhaite pas télécharger tous les emails déjà lus. (Ma
> boite POP3 en contient + de 1000 donc...)
>
> Si vous avez des idées elles sont les bienvenues, je me demande, en
> revanche, si le fait qu'un email soit non lu ne dépend pas du
> provider...
>
> Merci d'avance,
>
> Cordialement,
>
> Arnaud DESMAZES


Avatar
Eric Demeester
dans (in) fr.comp.developpement.agl.windev,
(Arnaud DESMAZES) ecrivait (wrote) :

Bonsoir Arnaud,

Quand tu parles de stocker l'id du mail, celà impose donc de lire tous
les mails, ou seulement leur entete ?



Seulement leurs en-têtes.

En fait, pour moi l'idéal est de récupérer le status des mails lus et
non lus sur le serveur.



Impossible en POP à ma connaissance.

Donc d'apres l'ensemble des
réponses, le seul moyen est de passer par IMAP ou de bricoler une
librairie en digérant (glurps) les RFC.



Voila.

Mais ce n'est pas si difficile, et la RFC qui traite de POP3 est
traduite en français...

--
Eric