StreamReader : recuperer mail. [Résolu]

Signaler
Messages postés
124
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
10 février 2008
-
Messages postés
124
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
10 février 2008
-
Bonjour,

je crée une application chargée de rapatrier certain mails.

Pour pouvoir récupérer les messages su serveur, j'ai un streamReader sur le flux du serveur:
    pop3Read = new StreamReader(pop3Flux);
Bon aucun problème et rien d'original pour le moment.

Je commence donc à lister tous mes mails pour récupérer le sujet (Subject : ) ainsi:

    Commande("RETR "+numMail); // Inscrit un mail dans le flux
    while ( txt != ".")
    {        if (txt.IndexOf("subject:", StringComparison.OrdinalIgnoreCase) !-1)  txtSujet txt.ToString(); //Récupère le sujet
        txt = pop3Read.ReadLine();
    }

Cette méthode est complètement inefficace puisqu'il faut lister tout le mail alors que le sujet se trouve au début (Bien que sur tout les exemples que j'ai parcourut font ainsi !). De plus elle provoque un bug lorsqu'il y a une pièce jointe de plus de 2Mo (devient horriblement long) d'ailleurs sur tout les exemples du site aucun ne passe :(

J'aimerais donc faire:

    while ( txt.IndexOf("subject:", StringComparison.OrdinalIgnoreCase) == -1)

    {
        txt = pop3Read.ReadLine();

    }
    txtSujet = xt.ToString();
    // Essayer d'atteindre la fin du streamReader pop3read

C'est donc ici que se trouve mon problème, il faut que j'atteigne la fin du streamReader(sans le parcourir) puis le charger avec le mail suivant sinon je continu a lister la fin du mail précédent, mais je n'y arrive pas ! (je ne sais pas si c'est très clair comme explication:)
J'ai essayé par exemple avec pop3Read.ReadtoEnd() mais rien n'y fait.

Merci pour vos futur (et intéressantes) réponses.

1 réponse

Messages postés
124
Date d'inscription
jeudi 5 juin 2003
Statut
Membre
Dernière intervention
10 février 2008

J'ai trouvé un moyen différent : Envoyer au serveur le message "TOP n i"
n: numéro du mail
i: nombre de lignes après l'entête.

Récupère ainsi juste l'entête du mail.