IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

c# EAGetMail MailClient


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Par défaut c# EAGetMail MailClient
    Bonjour
    je reçois parfois l'exception suivante lors de la tentative de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MailClient.Connect(MailServer)..
    System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond ip:port
    at EAGetMail.MailClient
    jutilise un timer dans un windows service qui récupère les emails chaque 2minutes et les insère dans la base de données.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    MailClient oClient = new MailClient(....
     
    MailServer oServer = new MailServer(sServer, sUserName, sPassword, bSSLConnection, ServerAuthType.AuthLogin, ServerProtocol.Pop3);
     
    oClient.Connect(oServer);
     
    MailInfo[] infos = oClient.GetMailInfos();

    boucle de lecture et insertion dans la base de données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //ensuite suppression de l'element inseré 
    MailInfo minfo = infos[i];
    oClient.Delete(minfo);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //et enfin çà:
    oClient.Quit();
    oClient.Close();

    pourriez vous m'aider?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Par défaut
    Il semble simplement te dire que le serveur mail ne répond pas, surement un probleme de timeout...
    tu pourrai faire un retry du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    int retry = 0;
    bool done = false;
    MailClient oClient = new MailClient(....
     
    MailServer oServer = new MailServer(sServer, sUserName, sPassword, bSSLConnection, ServerAuthType.AuthLogin, ServerProtocol.Pop3);
     
     
    while (!done && retry <= 2)
    {
       try
       {
             MailClient.Connect(MailServer)..
             done = true;
       }
       catch(System.Net.Sockets.SocketException)
       {
          if(retry == 2)
              //Remonter l'erreur a l'admin
          retry++;
          System.Thread.Sleep(5000);
       }
       finally
       {
           if(retry >= 2 || done)
           {
               if(oClient != null)
                   oClient.Dispose();
               oClient = null;
               if(oServer != null)
                  oServer.Dispose();
               oServer = null;
            }
       }
    }

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 120
    Par défaut
    Le problème était à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MailServer oServer = new MailServer(sServer, sUserName, sPassword, bSSLConnection, ServerAuthType.AuthLogin, ServerProtocol.Pop3);

    bSSLConnection et une boolean qui indique si la connexion est sécurisée ou non (et je devais la mettre à false)

    Merci pour ton aide giova_fr

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo