CLIENT POP3

Signaler
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11467-client-pop3

Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015

Pour ce qui est du sujet, le code mentionné dans mon précédent message, en VB6, retient le texte situé entre l'avant-dernier et le dernier points d'interrogation, et entre les deux, si le code de caractères est suivi d'un q, à chaque signe d'égalité considère les deux caractères suivants comme le code hexadécimal du caractère à placer à la place des trois caractères (signe d'égalité et les deux suivants). Si le code de caractères est suivi d'un b, une transformation différente est appliquée car chaque caractère est codé sur six bits.

Je pense avoir traduit ce code en C#, il reste à le tester plus abondamment bien entendu.

Ce code a au moins le mérite d'exister, et donne quelque chose d'à peu près lisible. Il lui reste toutefois une lacune, car le seul traitement appliqué à l'intitulé du codage des caractères est de le retirer de l'intitulé du sujet. Cela ne nous garantit pas que si nous recevons deux ou trois messages en Tchèque parmi une floppée de messages en Français, chacun sera écrit avec les caractères accentués qui vont bien, en codage ouest-européen dans un cas, en codage d'Europe Centrale dans l'autre.

Toutefois, la propriété GdiCharset étant fixée pour tout le contrôle ListView, probablement pouvons-nous considérer qu'il correspond à ce qu'on peut faire de mieux sans avoir à reconsidérer assez lourdement l'architecture de l'application.

Un autre point mériterait d'être vérifié à part : j'ai remarqué que dans certains messages avec un sujet très long, dans le code le sujet est renseigné sur deux lignes, il me semble que seule la première est exploitée (a-t-on bien la place d'en écrire plus d'ailleurs ?).

Je vais envoyer mon module à TheSaib pour qu'il puisse l'intégrer si il le souhaite.
Attention à la syntaxe d'appel :
curItem.SubItems.Add(SubjectHelper.ElementEntete("Subject:" + szSubject, "Subject", false));

Par ailleurs, sur 259 messages, j'ai fait passer le temps de chargement de 9 minutes pile à 65 secondes, en remplaçant la ligne
send("retr " + i.ToString() + "\r\n");

par la ligne
send("TOP " + i.ToString() + " 30\r\n");

ce qui évite de charger de lourdes pièces jointes pour juste regarder les entêtes des messages.
Messages postés
91
Date d'inscription
dimanche 18 août 2002
Statut
Membre
Dernière intervention
21 février 2015

Par rapport à d'autres trucs que j'ai testés et qu'il m'a fallu la nuit pour faire tourner, voilà qui est propre et rapide.

Un aspect n'est pas traité, c'est le décodage du sujet du mail.
Je l'ai vu faire en VB6 là : http://www.codes-sources.com/code.aspx?ID=23349
Quelqu'un sait-il si ça existe déjà en C# ou faut-il le traduire ?

Je crois que c'est sur csharpcorner que j'ai vu un module de cryptage, il faudra que je vérifie. Mais je n'avais pas mis longtemps à trouver de toute manière. Il faut quelques heures pour comprendre comment ça marche.
Messages postés
1
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
1 novembre 2006

J'ai exactement le meme pb que ykomguep, impossible de parser le BODY, impossible donc de récupérer le corps du message en C#.

c'est dommage car c'est un bon programme que tu as fait la TheSaib ;-)
a+
Vinc'
Messages postés
1
Date d'inscription
mardi 14 novembre 2000
Statut
Membre
Dernière intervention
21 avril 2005

Bonne source. J'ai développé pareillement un client pop3 et je réussi à récupérer tous les éléments du mail suaf le body car je n'arrive pas à le parser.Ta source ne le fait pas non plus. Idée?
De plus, j'essaie de faire qu'il se connecte en SSL pour des comptes gmail mais j'arrive pas.Idée?

Merci
Afficher les 8 commentaires