C# : POP3 suppression de mail

Signaler
Messages postés
70
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
14 septembre 2015
-
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
-
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

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
18
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...
Messages postés
70
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
14 septembre 2015

bonjour,
meme en enlevant l'accent meme erreur


"-ERR Syntax error"

merci
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
22 mai 2012
7
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 !