C# : POP3 suppression de mail

lamiruth Messages postés 70 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 14 septembre 2015 - 14 sept. 2006 à 12:25
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 - 14 sept. 2006 à 20:28
Bonjour à tous,
je souhaite créer une fonction qui permet une connection au serveur de messagerie et qui supprime les messages vieux de 15 jours.
j'utilise la fonction si dessous trouvée sur le site de supinfo.
mon problème c'est que j'obtiens une message qui me signale une erreur de syntaxe à la ligne:
Flux_écriture.WriteLine("DELE 1");
STP auriez vous une idée du probleme qui se pose?
D'autre part sauriez vous comment on identifie la date de reception d'un message (avant  de supprimer comme je l'ai dit)?
Merci pour votre aide.
Ruth




 static void connect()
        {
            TcpClient client;


            try
            {


                //on se connecte sur le port 110 du serveur 217.174.204.33
                client = new TcpClient("mon serveur POP", 110);


 


            }


            catch
            {


                Console.WriteLine("Erreur de  connexion client POP3");
                Console.ReadLine();


                return;


            }


            try
            {


                NetworkStream networkStream = client.GetStream();


                StreamReader Flux_lecture = new System.IO.StreamReader(networkStream);


                StreamWriter Flux_écriture = new System.IO.StreamWriter(networkStream);


                string message;




                message = Flux_lecture.ReadLine();


                Flux_écriture.WriteLine("USER monLoging");


                Flux_écriture.Flush();


                //On s'authentifie auprés du serveur POP


                Flux_écriture.WriteLine("PASS monPW");


                Flux_écriture.Flush();


                message = Flux_lecture.ReadLine();




                //On récupère la liste des mails présents dans la boîte au lettre


                Flux_écriture.WriteLine("LIST ");


                Flux_écriture.Flush();
                message = Flux_lecture.ReadLine();




                //On notifie la suppression du premier message


                Flux_écriture.WriteLine("DELE 1");


                Flux_écriture.Flush();


                message = Flux_lecture.ReadLine();


                Console.WriteLine(message);


                //On déconnecte le client du serveur et on valide la suppresion du premier message


                Flux_écriture.WriteLine("QUIT");


                Flux_écriture.Flush();


                message = Flux_lecture.ReadLine();


                Console.WriteLine(message);


                Flux_écriture.Close();


                Flux_écriture.Close();


                Flux_lecture.Close();


                client.Close();


                Console.ReadLine();


 


            }


            catch
            {


                Console.WriteLine("Error lors du traitement de données");


                Console.ReadLine();


                return;
            }


        }

3 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
14 sept. 2006 à 13:57
les types et instances ne doivent pas contenir d'accents théoriquement. essaie simplement en enlevant l'accent, ca devrait résoudre ton problème de syntaxe. pour l'indentifaction de la date, je sais pas, surement en parsant le fichier message, l'entête doit probablement contenir la date, a toi de regarder la structure des messages, etc...
0
lamiruth Messages postés 70 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 14 septembre 2015
14 sept. 2006 à 14:18
bonjour,
meme en enlevant l'accent meme erreur


"-ERR Syntax error"

merci
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 7
14 sept. 2006 à 20:28
Salut Lamiruth

[auteurdetail.aspx?ID= 294051
]

,

Essaye voire de remplacer les Flux_écriture.WriteLine("BIDULE");

par SendToPOP3(
networkStream, "


BIDULE



" );


après avoir ajouté cette méthode :

private bool SendToPOP3( NetworkStream stream,
string data )
{
   
try
    {
        data + =
"\r\n";
       
byte[] dataBytes = System.Text.Encoding.ASCII.GetBytes( data.ToCharArray() );
        stream.Write( dataBytes, 0, dataBytes.Length );
    }
   
catch( IOException exc )
    {
        return false;
    }

    return true;
}

C'est peut-être un problème d'encodage !
0
Rejoignez-nous