Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lecture de mails, collecte de besoins

31 réponses
Avatar
Gloops
Bonjour tout le monde,

J'=E9tais habitu=E9 avec d'autres langages =E0 trouver =E0 t=E9l=E9charge=
r des=20
routines assez simples =E0 utiliser pour lire des mails. D'ailleurs c'est=
=20
simple, =E0 ce que je me rappelle sur salemioche.com (mais d=E9m=E9nag=E9=
=20
depuis) on trouvait une page qui pr=E9sentait le protocole POP, et par=20
ailleurs l'impl=E9mentation en VB6.

Sous C#, j'ai l'impression qu'il y a eu moins de monde sur la question.

J'ai quand m=EAme trouv=E9 quelque chose d'int=E9ressant l=E0 :
http://www.csharpfr.com/codes/CLIENT-POP3_11467.aspx

En client lourd on trouve l=E0 un travail sur les pi=E8ces jointes, qui p=
eut=20
n=E9cessiter quelques petites mises au point mais reste int=E9ressant com=
me=20
point de d=E9part sur ce sujet, mais est plus lourd =E0 adapter en client=
=20
l=E9ger :
http://www.csharpfr.com/codes/INTERFACE-POPMAIL-PIECES-JOINTES_11559.aspx=


Pour rappel le client l=E9ger est l'application qui s'attache =E0 affiche=
r=20
le plus rapidement possible la liste des mails re=E7us, et pour favoriser=
=20
la rapidit=E9 r=E9alise peu ou pas de traitement sur le corps de chaque=20
mail. J'en ai par exemple r=E9alis=E9 un avec un reportViewer, ce qui per=
met=20
d'imprimer la liste des mails, qui peut =EAtre int=E9ressante avant de=20
purger le serveur.

Il me semble bien avoir travaill=E9 aussi avec quelque chose=20
d'interm=E9diaire entre le client l=E9ger et le traitement des pi=E8ces=20
jointes, mais ce que je retrouve =E0 cet instant est en VB6.

A pr=E9sent, comme j'ai plusieurs applications =E0 =E9crire faisant inter=
venir=20
des mails, je m'attaque =E0 une DLL =E0 appeler depuis une application=20
WinForm ou un site web. =E7a commence =E0 fonctionner, je suppose que ce =
qui=20
va arriver est que je vais mettre en =9Cuvre ce qui manque sur mon site, =

et revenir l=E0-dessus ensuite.

Ce type de d=E9veloppement =E9tant destin=E9 =E0 =EAtre utilis=E9 dans de=
nombreuses=20
applications, il est pr=E9f=E9rable qu'il corresponde aux souhaits d'un=20
grand nombre. Aussi, j'=E9num=E8re les grandes lignes, de fa=E7on qu'on p=
uisse=20
m'indiquer quelque chose qui para=EEt manquer.

Par ailleurs, un travail (non publi=E9 me semble-t-il) a =E9t=E9 r=E9alis=
=E9 sur=20
le premier projet mentionn=E9 ci-dessus pour d=E9coder les sujets (et=20
accessoirement les noms des correspondants puisqu'ils peuvent aussi =EAtr=
e=20
=E9crits avec des caract=E8res accentu=E9s), toutefois ce travail ne g=E8=
re pas=20
encore les UTF8. En cherchant quelque chose l=E0-dessus je vais bien=20
trouver, est-ce que je peux cette fois esp=E9rer arriver =E0 quelque chos=
e=20
d'exhaustif sur le d=E9codage des sujets ? J'ai commenc=E9 par chercher=20
quelque chose de tout pr=EAt, mais en vain. A ce stade le d=E9codage=20
fonctionne en jeu de caract=E8res constant.

A ce stade, voici ce qui fonctionne sur ce dont je parle :
- connexion avec les informations re=E7ues en param=E8tres du constructeu=
r,=20
site, nom d'utilisateur, mot de passe ; le tout sur le port 110 en=20
protocole POP
- information de l'utilisateur =E0 l'aide de deux d=E9l=E9gu=E9s, fournis=
sant=20
deux niveaux d'information (ce que sur le projet ci-dessus on trouve=20
respectivement dans la barre d'=E9tat et le richtextbox).
- sur chaque message il est possible d'obtenir la date, le sujet,=20
l'=E9metteur (from), le destinataire (to), du dernier message lu, et=20
l'int=E9gralit=E9 du message, ceci n=E9cessitant bien entendu une connexi=
on=20
plus longue (par d=E9faut on ne lit que les 30 premi=E8res lignes du mess=
age=20
pour avoir les ent=EAtes, et lorsque l'application appelante demande=20
l'int=E9gralit=E9 du message on relance une lecture sur le serveur)
- =E0 r=E9aliser dans quelques semaines : internationalisation de ce=20
traitement, pour le moment les messages sont conserv=E9s dans la langue=20
d'origine

Au point o=F9 j'en suis le stockage des informations de connexion puis de=
s=20
mails re=E7us est du ressort de l'application appelante. Il ne me para=EE=
t=20
d'ailleurs pas exclu d'en rester l=E0 sur ce point, d'autant que le=20
stockage de param=E8tres d'application crypt=E9s se fait de mani=E8re=20
diff=E9rente en Winform et en Webform.

1 réponse

1 2 3 4
Avatar
Gloops
Patrice a écrit, le 06/09/2009 13:41 :

ce qui permet :
- pour le Request, de mettre automatiquement le CrLf qui va bien plutô t
que de le mettre explictitement



Tu as bien deviné : j'ai effectivement oublié de le mettre derrière le
QUIT. Une fois que je l'ai mis j'obtiens bien "+OK POP3 server signing
off". Je dois avouer que c'est bien dommage de se noyer ainsi dans un
verre d'eau après avoir éclusé tout le reste :)

- toujours pour le request de lire la réponse dans la foulée.



ça, c'est effectivement ce que j'ai commencé par faire hier, ce qui f ait
que mon send est à présent de type string et non plus void. ça ne
résolvait pas encore complètement le Schmilblick, puisque pour les TO P
et RETR, pour une requête envoyée on attend plusieurs lignes en retou r.
Mais c'est vrai que QUIT est un bon exemple où ça gagne du temps et d e
la clarté.


Content de voir en tout cas que cela commence à prendre forme de ton
côté...



Effectivement. Alors les petites nuances que tu as apportées pour la
phase de connexion donnent l'occasion de prendre conscience que je n'ai
pris en charge qu'un type de serveur, et que ça pourrait être
intéressant de fouiller de ce côté à l'occasion. Toutefois je cro is que
je m'occuperai de la globalisation avant (pour le moment les messages
sont en dur, donc toujours dans la même langue). Sans oublier que pour
la mise à disposition il y a aussi de quoi ne pas s'ennuyer.

Encore merci d'avoir débloqué la situation.
1 2 3 4